【发布时间】:2022-11-22 10:47:15
【问题描述】:
prolog 中的谓词 fail/0 可能很有用,例如测试终止。
?- q, fail.
如果此查询终止,则我们知道查询?- q. 也终止了。
问题
fail/0是否等同于任何失败的目标,例如1=2?
下面的测试和上面的一样吗?
?- q, 1=2.
【问题讨论】:
标签: prolog swi-prolog
prolog 中的谓词 fail/0 可能很有用,例如测试终止。
?- q, fail.
如果此查询终止,则我们知道查询?- q. 也终止了。
问题
fail/0是否等同于任何失败的目标,例如1=2?
下面的测试和上面的一样吗?
?- q, 1=2.
【问题讨论】:
标签: prolog swi-prolog
如果 q 为真,将 (true, fail),然后 (true) 终止?我不这么认为!
不应假定失败完全等同于评估失败的“任何”目标。在某些情况下,可能会有残留影响。
简而言之,它们是不同的评估。
【讨论】: