Генератор на пролог за подмножество на друго. Като също може да разпознае дали дадено множество е подмножество на друго, без повтарящи се символи.
Ако има повторения генератора ще зацикли на първия символ пр. [3,3,3,3,3,….]
member(X,[X|L]). member(X,[Y|L]):-member(X,L). submn([],_). submn([X|L1],[Y|L2]):-member(X,[Y|L2]),submn(L1,L2),not(member(X,L1)). ?-submn(X,[3,1,2,4,5]),write(X),1<0.
А за разпознаване на множество дали е подмножество на друго със повторения може да използвате това:
member(X,[X|L]). member(X,[Y|L]):-member(X,L). submn([],_). submn([X|L1],L2):-member(X,L2),submn(L1,L2). ?-submn([3,3,3,3,4,5],[3,1,2,4,5]).