Richtige Verwendung von findall / 3, insbesondere des letzten Ergebnisarguments

Ich bin ein Anfänger in Prolog und habe es mit einem Problem zu tun, das dir vielleicht dumm erscheint, aber ich kann wirklich nicht verstehen, was ich falsch mache! Ok, ich habe diese Datei fruits.pl und darin habe ich so etwas:

fruit(apple,small,sweet).
fruit(lemon,small,nosweet).
fruit(melon,big,sweet).

Ich habe bereits (in dieser Datei) ein Koexistenz-Atom (X, Y) erstellt, das überprüft, ob zwei Früchte in einer Platte zusammengefügt werden können. Das funktioniert einwandfrei. Jetzt kann ich jedoch kein Suggest (X) erstellen, das als Parameter verwendet wird eine Frucht und gibt eine Liste von Früchten zurück, die auf dem gleichen Teller zusammengestellt werden können

suggest(X) :- findall(Y,fruit(Y,_,_), List), coexist(X,Y).

Was denkst du? Jedes Mal, wenn ich versuche, dies in swi prolog auszuführen, gibt es eine Warnung 'Singleton-Variable' und wenn ich drücke

suggest(apple).

dann heißt es falsch .. sorry für mein englisch: /

Antworten auf die Frage(2)

Ihre Antwort auf die Frage