小编del*_*del的帖子

为什么这个prolog查询既真实又错误?

我的SWI-Prolog知识库包含以下两个事实:

f(a,b).
f(a,c).
Run Code Online (Sandbox Code Playgroud)

现在,如果我提出查询

?- f(a,c).
true.
Run Code Online (Sandbox Code Playgroud)

?- f(a,b).
true ;
false.
Run Code Online (Sandbox Code Playgroud)

为什么f(a,b)既真又假?当KB中有三个事实时,也会发生这种情况.如果我追加f(a,d).到KB,然后f(a,d)为真(仅),但f(a,b)和f(a,c)都是真和假.发生了什么,我能做些什么让Prolog回答(仅)回答这些问题?

prolog swi-prolog prolog-toplevel

30
推荐指数
2
解决办法
1万
查看次数

标签 统计

prolog ×1

prolog-toplevel ×1

swi-prolog ×1