到目前为止,我有以下谓词:
person(james).
person(jack).
knows(james,jack).
knows(jack,james).
我的问题是我如何使用变量/常量表示有人在没有明确地通过所有人并制作它们的情况下了解自己。我试过了:
knows(X,X).
但这只是返回true。
答案 0 :(得分:2)
您可以使用:
knows(X, X) :- person(X).
优于knows(X, X).
的优势在于,不仅仅是通过了任何事情:
?- knows(42, 42).
true. % but it should be false