Prolog function Solution if u use built_in intersection method it doesn\'t work. avoid built_in intersection method. solution:- intersect([], X, []) intersect(X|T,[],[]) intersect([X|T],Y,Z):-member(X,T),!,intersect(T,X,Z) intersect([X|T],Y,[X|Z]):-member(X,Y),!,intersect(T,Y,Z) intersect([X|T],Y,Z):-not(member(X,T)),intersect(T,X,Y) member(X,[X|Z]) member(X,[X|Y]):-member(X,Y).