【发布时间】:2011-03-20 09:18:53
【问题描述】:
我的 SWI-Prolog 知识库包含以下两个事实:
f(a,b).
f(a,c).
现在如果我提出问题
?- f(a,c).
true.
但是
?- f(a,b).
true ;
false.
为什么 f(a,b) 既为真又为假?当知识库中有三个事实时,也会发生这种情况。如果我附加 f(a,d)。到 KB,则 f(a,d) 为真(仅),但 f(a,b) 和 f(a,c) 既为真又为假。发生了什么事,我该怎么做才能使 Prolog (仅)正确回答这些查询?
【问题讨论】:
标签: prolog swi-prolog prolog-toplevel