[ library(ic) | Reference Manual | Alphabetic Index ]
# =:=(?ExprX, ?ExprY, ?Bool)

Reified ExprX is equal to ExprY.
*ExprX*
- Arithmetic expression
*ExprY*
- Arithmetic expression
*Bool*
- Reified truth value of the constraint

## Description

This predicate is a reified constraint: it succeeds if and only if the
truth value of its associated constraint (the constraint with arity one
less and the same arguments except for B) is equal to B, where the value
0 means false and 1 true. This constraint can be used both to test the
validity of the associated constraint (entailment test) and to impose
this constraint or its negation. For the former, B will be instantiated
as soon as either the associated constraint or its negation is subsumed
by the current state of its domain variables. For the latter, when B is
instantiated, then depending on its value, either the associated
constraint or its negation will be imposed on its arguments.

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).
## See Also

< / 3, =< / 3, >= / 3, > / 3, =\= / 3, #= / 3, =:= / 2, suspend : =:= / 3