Я хочу посчитать вхождения элемента в списке
Я хочу посчитать вхождения элемента в списке, и если он есть, то предикат уникальный будет истинным, в противном случае - ложным. Однако, если элемент встречается более одного раза, Prolog находит его верным. Я не знаю что делать ...
count([], X, 0).
count([X|T], X, Y) :- count(T, X, Z), Y is 1+Z, write(Z).
count([_|T], X, Z) :- count(T, X, Z).
unique(St, [Y|RestList]) :- count([Y|RestList], St, N), N =:= 1.