domains elem=integer list=elem* predicates union(list, list, list) member(elem, list) clauses union([A|B], C, D) :- member(A, C), union(B, C, D). union([A|B], C, [A|D]) :- union(B, C, D). union([], A, A). member(E, [E|_]) :- !. member(E, [_|Rest]) :- member(E, Rest). goal union([1, 7, 3], [1, 8, 2, 3, 4, 5], L), write(L).
Comments