intersect([], _, []).
intersect([H|T], L2, [H|Res]):- member(H, L2), intersect(T, L2, Res).
intersect([_|T], L2, Res):- intersect(T, L2, Res).
find_intersection(List1, List2, [G|[G2252, G2255]]):-
intersect(List1, List2, G), length(G, Len), Len >= 2,
nth0(0, G, Ele1), nth0(1, G, Ele2),
atom_concat('G', Ele1, G2252), atom_concat('G', Ele2, G2255).
示例:
?- find_intersection([1,2,3,4,5],[3,5,7,9,11], Result).
Result = [3,5,[G3,G5]]
?- find_intersection([1,2,3,4,5],[6,7,8,9,10], Result).
Result = [].