Hi !
Ich bin Prolog Anfänger und habe fogende Faktenbank:
Code
member(X,[X|R]).
member(X,[K|R]) :- member(X,R).
kinder(Philip,Elizabeth,[Charles,Anne,Andrew,Edward]).
vater(Vater,Kind) :- kinder(Vater,X1,Liste), member(Kind,Liste).
mutter(Mutter,Kind) :- kinder(X2,Mutter,Liste), member(Kind,Liste).
elternteil(Elternteil,Kind) :- vater(Elternteil,Kind); mutter(Elternteil,Kind).
Alles anzeigen
bei kinder() sind die ersten beiden Felder Vater und Mutter. Die Liste enthält die Kinder der Eltern.
Jetzt wollte ich die allgemeinen Funktionen vater() und mutter() schreiben.
Wenn ich kompile und sage
Zitatvater(Philip,Andrew).
, sagt SWI-Prolog mir:
ZitatPhilip = _G180
Andrew = _G181Yes
Wenn ich aber eine Frage mit falscher Antwort frage, sagt er das selbe:
Zitat?- vater(Philip,Baum).
Philip = _G180
Baum = _G181Yes
Kann mir jemand helfen, was an meinem Quellcode falsch ist ??