У меня проблема с попыткой получить код, который возвращает уникальные ответы на мой запрос. Например, определение
stuff(A,B,C) :- A=C ; B=C.
morestuff([],[],[]).
morestuff([A|AA],[B|BB],[C|CC]) :- stuff(A,B,C), morestuff(AA,BB,CC).
затем работает
morestuff([A,A],[A,B],[a,b]).
дает вывод:
A = a
B = b ? ;
A = a
B = b ? ;
yes.
Как видите, два решения одинаковы. Есть ли способ просто заставить PROLOG возвращать уникальные решения, т.е. дать вывод:
A = a
B = b ? ;
yes.