Eindeutige Elemente in einer Liste finden

Ich versuche, eine Regel zu schreiben, die entscheidet, ob ein ArtikelX kommt genau einmal in einer Liste vorL.

unique(X, [X|T]):- !, \+ member(X, T).
unique(X, [_|T]):- unique(X, T).

Die Regel bestimmt, ob ein Wert in einer Liste eindeutig ist oder nicht, aber wenn ich versuche, eindeutige Werte in einer Liste mit @ zu erhalteunique(X, [1,2,3,1,3,2,5,4,3,8]). es gibt nur @ zurüfalse. Was ich erwartet hatte ist das (wiemember(X, list).:

X = 5 ;
X = 4 ;
X = 8 ;

Ich bin ein absoluter Anfänger und weiß nicht, was ich falsch mache.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage