如何陈述一个人在prolog中了解自己

时间:2015-12-03 18:55:48

标签: prolog

到目前为止,我有以下谓词:

person(james).
person(jack).
knows(james,jack).
knows(jack,james).

我的问题是我如何使用变量/常量表示有人在没有明确地通过所有人并制作它们的情况下了解自己。我试过了:

knows(X,X).

但这只是返回true。

1 个答案:

答案 0 :(得分:2)

您可以使用:

knows(X, X) :- person(X).

优于knows(X, X).的优势在于,不仅仅是通过了任何事情:

?- knows(42, 42).
true.               % but it should be false