在prolog中使用not fact(某物)时获取控制错误
我有一个事实:在prolog中使用not fact(某物)时获取控制错误,prolog,Prolog,我有一个事实: test(something). 当我写作时: test(X). not test(X). 答案是:X=某物,但当我写: test(X). not test(X). 我得到: '错误21:控制错误 ! 目标:不是………' 为什么?? 我想答案应该是“不” 当我不是自己实施时: not(P):- P,!,fail ; true. 并写下: nottestX Prolog的回答是“否” 如果运行alpha testX,也会发生同样的情况 您要寻找的
test(something).
当我写作时:
test(X).
not test(X).
答案是:X=某物,但当我写:
test(X).
not test(X).
我得到:
'错误21:控制错误
! 目标:不是………'
为什么??
我想答案应该是“不”
当我不是自己实施时:
not(P):-
P,!,fail
;
true.
并写下:
nottestX
Prolog的回答是“否” 如果运行alpha testX,也会发生同样的情况 您要寻找的not是一个一元谓词,表示要证明的目标: 所以您必须编写nottestX。但你不应该;改用\+testX 查询alpha testX的作用是什么。意思是我不确定…不是\+。。。。你也可以使用不。。。