私はプロローグでユニバーサルファクトを見つける方法プロローグで
child(martha,charlotte).
child(charlotte,caroline).
child(caroline,laura).
child(laura,rose).
descend(X,Y) :-
child(X,Y).
descend(X,Y) :-
child(X,Z),
descend(Z,Y).
を書き込み、
?- findall(X,descend(martha,X),Z).
を書いてもらうことができます4つのソリューション
Z = [charlotte,caroline,laura,rose]
しかし、私はその後、普遍的な事実を追加する場合
likes(X,pomegranate).
と私が得る
?- findall(X,likes(X, pomegranate),Z).
を試してみてください。
Z = [_G17].
_G17
ことは何ですか? 基本的にすべての変数を取得するためには、変更する必要があるのは何ですか? (likes(X,pomegranate)
以来はすべてが右...ザクロが好き意味すべき?):
Z = [martha,charlotte,caroline,laura,rose]
ところで、これは宿題ではありませんが、これは私が趣味としてPrologを再学習しようとしていることです – Luxspes