interseccao([],_,[]):- !. %outra opcao usar [_|_] significa lista com pelo menos um elemento interseccao(_,[],[]). interseccao([X|L1],[Y|L2], C) :- X < Y ,!, interseccao(L1, [Y|L2], C). interseccao([X|L1],[Y|L2], [X|C]) :- X = Y,!, interseccao(L1, L2, C). interseccao([X|L1],[Y|L2], C) :- X > Y, interseccao([X|L1], L2, C). subconj([],_). subconj([E|L], [E|L1]) :- subconj(L,L1). subconj([E|L], [_|L1]) :- subconj([E|L],L1).