【发布时间】:2017-03-07 00:43:53
【问题描述】:
显然true = not(not(true)) 必须为假,因为= 试图将原子true 与术语not(not(true)) 统一(不评估术语),这是错误的,因为术语不相同。
但是,我认为== 确实比较了评估的内容。因此,我认为true == not(not(true)) 应该评估为true == true,就像(对于算术运算符)4 =:= 2 + 2 将评估为4 =:= 4 并返回true。
...但这就是我在 SWI-Prolog 中得到的:
?- true == not(not(true)).
false.
我做错了什么?
【问题讨论】:
-
您在一处使用了
not(not(false)),在其他地方使用了not(not(true))。这是故意的吗? -
不,一个错字。对不起。修好了。