I am trying to implement a list difference routine in prolog. For some reason the following fails:
difference(Xs,Ys,D) :- difference(Xs,Ys,[],D). difference(
minus([H|T1],L2,[H|L3]):- not(member(H,L2)), minus(T1,L2,L3). minus([H|T1],L2,L3):- member(H,L2), minus(T1,L2,L3). minus([],_,[]).
minus([1,2,3,4,3], [1,3], L). output: L=[2,4]