我已经看到了一些关于这个主题的问题,但是他们都没有真正正确地回答我的问题。我会写一个小例子,这里有一些事实:
football(john).
football(sam).
tennis(john).
tennis(pete).
netball(sandy).
我想创建一个规则,说明pete
喜欢任何踢足球或网球的人。
likes(pete, X) :- (football(X) ; tennis(X)), X \= pete.
但很明显,当我在 Prolog 中查询它时,john
会出现两次john
同时踢足球和网球。我希望它只出现john
一次。我怎样才能修改我的代码来做到这一点?
在此先感谢 - 丹