Я довольно новичок в прологе, поэтому я немного запутался в сопоставлении с образцом. Что я хотел бы сделать, так это если список A равен [1,2], а список B равен [, [1,2], ], он возвращает true, в противном случае - false.
В настоящее время У меня есть:
isNotMember([X],[]).
isNotMember([X],[Y|Rest]) :- not isEqual([X],[Y]), isNotMember([X],Rest).
isEqual([],[]).
isEqual([X|Rest],[Y|Rest]) :- X = Y, isEqual(Rest,Rest).
Предикат isEqual работает, но предикат isNotMember - нет, что, я считаю, связано с сопоставлением с шаблоном. Любая помощь будет оценена!