问题描述
@false 在关于决定论的评论部分提出了一个有趣的挑战 here。他不仅质疑解决方案和答案之间是否存在差异。可能影响决定论概念的区别。还要查询这里是否:
?- freeze(_,false).
有解决方案吗?由于延迟执行不在原始问题的范围内,这个新问题应该提供一个平台来解决术语问题,事后来看什么是决定论。
解决方法
这里驳斥了目标没有解决方案,这与@false 声称的相反。如果它没有解决方案,那么 (\+)/1
会把它变成是。但它没有,它变成了否定:
?- \+ freeze(_,false).
false.
它可能是编程错误,有一个延迟的目标 不能满足。延迟目标应该表达“可能”。如果“可能”是 总是“不”,那么延迟的目标没有任何意义。
(\+)/1
的作用就是把“MAYBE”和“YES”变成“NO”,
和“否”变成“是”。然而,一个遗留问题是,可能存在多个无法作为连词满足的延迟目标。