likes(tom,jerry).
likes(mary,john).
likes(mary,mary).
likes(tom,mouse).
likes(jerry,jerry).
likes(jerry,cheese).
likes(mary,fruit).
likes(john,book).
likes(mary,book).
likes(tom,john).
likes(john,X):-likes(X,john), X\=john.
您好,上面是一个非常简单的 prolog 文件,其中包含一些事实和一条规则:John 喜欢任何喜欢他的人。但是在加载此文件并询问 Prolog 以下查询后:
likes(john,X).
程序崩溃。likes(john,john)
原因是即使规则规定了prolog 也会卡住X\=john
。
有什么建议吗?