我不确定在考试中如何回答这个问题:
让我们考虑这个 prolog 程序:
p(a,b).
p(b,c).
p(c,a).
q(X,X).
q(X,Y):-p(X,Z),q(Z,Y).
和问题:
?- q(X,X).
并且有效?答案是:
上述目标可以通过无数种方式实现,但没有一种是替代 X = b。
我不明白,真的。IMO 这个谓词可以通过 3 种方式完成:
q(a,a) or q(b,b) or q(c,c).
我在这里不明白什么?或者也许答案是错误的,我只是浪费时间而我的答案是好的?