好吧,我承认我应该用Amzi而不是SICStus,在使用not这个“内部谓词”时,SICStus又报错了,经查找资料,因为只用not来声明非真或者对证明结果取反容易混淆——这导致解释器会花时间来理解这个not究竟是什么意思,所以现代的Prolog使用”\”或”\+”,其中”\”用于声明,”\+”用于取反。不过当前的编译器也趋于支持not——为了支持旧的代码,比如经测试Amzi就对新旧两种方法均支持。不过看起来似乎新方法比较科学呢^_^.

P.S.如果有人不理解”\”或”\+”,可以尝试类似下面的语句:

\ 2=4.

\+ 2=4.

参考资料: http://www.cse.unsw.edu.au/~billw/prologdict.html#negation

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

你可以管理本篇文章的订阅。

Post Navigation