Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

***// CODE THIS IN PROLOG PROGRAMMING//*** Write a Prolog procedure remove_dups/

ID: 3858786 • Letter: #

Question

***// CODE THIS IN PROLOG PROGRAMMING//***

Write a Prolog procedure remove_dups/2 which succeeds when the first parameter is a list of words/letters and the second parameter is the first list with consecutive repeated words/letters removed For example: remove_dups([1,1,1,2,2,3,3,1,1,2,2,3],[1,2,3,1,2,3]).

Write a recursive procedure/function which calculates the following recursive function in the specified languages. Do not include the entire program or sample output, only the procedure/function.  

f(0) = 1

f(1) = 1

f(x) = x2 * f(x -2)

Explanation / Answer

Define member(X,L) to mean “X is a member of the list L”.

The predicate succeeds if X is the first element of L.
member(X, [X|T]).
If the item is not in the list, the recursion eventually tries a query
of the form member(X,[]).
This fails since the head of no clause for member has [] as
second argument.


here we are taking myFunction
below procedure evaluate true

myFunction(X,[X|_]).
myFunction(X,[_|T]) :- myFunction(X,T).

not(A) :- + call(A).

set([],[]).
set([H|T],[H|Out]) :-
not(myFunction(H,T)),
set(T,Out).
set([H|T],Out) :-
myFunction(H,T),
set(T,Out).


recursion

(* for n>=0, recurs_n n evaluates to (a, b), where a is the nth Fibonacci number and b is the (n-2)st *)
fun recurs_n 0 = (1, 0)
| recurs_n 1 = (1, 1)
| recurs_n (n:int) =
let
val (a:int, b:int) = recurs_n (n-2)
in
(a+b, a)
end