【发布时间】:2016-07-16 07:22:15
【问题描述】:
这个问题是在另一个I posted earlier Prolog 中的自定义标签之后提出的。
contracting/1 谓词在为自定义标签谓词中的变量赋值后使用时,是否会从域中永久删除“不一致”值?或者回溯时这些值是否恢复?
【问题讨论】:
-
从纯声明的角度来看,没有必要恢复不一致的值。但是
contracting/1可能会严重破坏域的表示,以至于它变得无法使用。或者域表示会导致之后的搜索成本更高。