非单调构造的单调替代品

以下是如何在程序中使用单调谓词而不是不纯的非单调构造的示例 :

  • dif/2 用于代替(\=)/2 这样的非单调构造
  • 算术约束CLP(FD),CLP(Q)和其他)意味着用来代替模式算术谓词
  • !/0 几乎总是导致非单调程序,应该完全避免
  • **** 在此时无法做出明智决策的情况下,可能会出现实例化错误