Логическое программирование

       

Процедура проверки принадлежности списку, дающая единственное решение


Обычное поведение:

member(X, [X|L]).

member(X, [Y|L]):-

       member(X, L).

?- member(X,[1, 2, 1, 2]).

X=1;

X=2;

X=1;

X=2;

No

С отсечением:

member(X, [X|L]):- !.

member(X, [Y |L]):-

      member(X, L).

?- member(X, [1, 2, 1, 2]).

X=1;

No

?- member(X, [1,2,5,7]), X>3.

 No



Содержание раздела