我在序言中有一个问题。这里是知识库。
loves(vincent,mia).
loves(marcellus,mia).
loves(pumpkin,honey_bunny).
loves(honey_bunny,pumpkin).
jealous(X,Y) :-
loves(X,Z),
loves(Y,Z).
这是来自“ Learn Prolog Now ”一书。现在,如果我进行查询?- jealous(marcellus,W).
,它会返回,W = vincent
但如果我给出查询?- jealous(vincent,W).
,则返回结果是W=vincent
所以这意味着 vincent 嫉妒自己,但 marcellus 并不嫉妒自己。为什么答案不一样?我在 Ubuntu Linux 中使用 swipl,它位于 winxp 上的 VirtualBox 中。我是 Prolog 的初学者。
谢谢