语句之间的Prolog差异

亚历山达·马克拉基奇

有人可以向我解释为什么是:

notmarried(P) :- \+(married(P)), male(P). 

然后不同:

notmarried(P) :- male(P), \+(married(P)).
重复

好问题!

答案与逻辑上的纯正有关:在Prolog中,否定被实现为失败的否定。总的来说,目标\+ G指出了G目前无法证明的目标-G从逻辑上讲这不是错误的。

因此,您编写的连词可能不是可交换的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章