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