module 'data.fd.pac' {
/** + A = A.
* Identity relation.
*/
+ A = A.
/** - A = B.
* Ensures that finite-domain variables A
and B
* are opposite.
*/
- A = 'kernel':fd_pac_opp(A).
/** A + B = R.
* Ensures that the sum of finite-domain variables A
and B
* is equal to the finite-domain variable R
.
*/
A + B = 'kernel':fd_pac_add(A, B).
/** A - B = R.
* Ensures that the difference between finite-domain variables A
and B
* is equal to the finite-domain variable R
.
*/
A - B = 'kernel':fd_pac_sub(A, B).
/** A * B = R.
* Ensures that the product of finite-domain variables A
and B
* is equal to the finite-domain variable R
.
*/
A * B = 'kernel':fd_pac_mul(A, B).
/** A / B = R.
* Ensures that the division of finite-domain variables A
and B
* is equal to the finite-domain variable R
.
*/
A / B = 'kernel':fd_pac_div(A, B).
/** (A = B) = X.
* Succeeds if X
is the reified constraint A
* = B
, where A
and B
are
* finite-domain variables.
*/
(A = B) =
'kernel':fd_pac_eq(A, B).
/** A < B.
* Succeeds if A
* < B
, where A
and B
are
* finite-domain variables.
*/
A < B :-
'kernel':fd_pac_lt(A, B).
/** (A < B) = X.
* Succeeds if X
is the reified constraint A
* < B
, where A
and B
are
* finite-domain variables.
*/
(A < B) =
'kernel':fd_pac_lt(A, B).
/** A =< B.
* Succeeds if A
* ≤ B
, where A
and B
are
* finite-domain variables.
*/
A =< B :-
'kernel':fd_pac_le(A, B).
/** (A =< B) = X.
* Succeeds if X
is the reified constraint A
* ≤ B
, where A
and B
are
* finite-domain variables.
*/
(A =< B) =
'kernel':fd_pac_le(A, B).
/** A > B.
* Succeeds if A
* > B
, where A
and B
are
* finite-domain variables.
*/
A > B :-
'kernel':fd_pac_gt(A, B).
/** (A > B) = X.
* Succeeds if X
is the reified constraint A
* > B
, where A
and B
are
* finite-domain variables.
*/
(A > B) =
'kernel':fd_pac_gt(A, B).
/** A >= B.
* Succeeds if A
* ≥ B
, where A
and B
are
* finite-domain variables.
*/
A >= B :-
'kernel':fd_pac_ge(A, B).
/** (A >= B) = X.
* Succeeds if X
is the reified constraint A
* ≥ B
, where A
and B
are
* finite-domain variables.
*/
(A >= B) =
'kernel':fd_pac_ge(A, B).
}