CLP(FD)
CLP(FD)
约束 ( 有限域 )实现整数运算。它们在所有严肃的 Prolog 实现中都可用。
CLP(FD)
约束有两个主要用例:
- 声明性整数运算
- 解决计划,调度和分配任务等组合问题。
例子:
?- X #= 1+2.
X = 3.
?- 3 #= Y+2.
Y = 1.
请注意,如果要在第二个查询中使用 is/2
,则会发生实例化错误:
?- 3 is Y+2.
ERROR: is/2: Arguments are not sufficiently instantiated