Я хочу посчитать вхождения элемента в списке

Я хочу посчитать вхождения элемента в списке, и если он есть, то предикат уникальный будет истинным, в противном случае - ложным. Однако, если элемент встречается более одного раза, 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.

Ответы на вопрос(2)

Ваш ответ на вопрос