[ library(gfd) | Reference Manual | Alphabetic Index ]

<ConsistencyModule:> <=>(+ConX,+ConY,Bool)

Bool is the reified truth of constraint ConX is equivalent to the truth of ConY.
Reified truth value of the constraint (array notation accepted)


Equivalent to BX #= (ConX), BY #= (ConY), Bool #= (BX #= BY)

The two constraints are reified in such a way that Bool is true if ConX and ConY have the same truth value. ConX and ConY must be constraints that have a corresponding reified form.

This reified connective is not available in IC because #=/3 can be used instead. It is provided in GFD as <=> maps to gecode's equivalence connective.

ConsistencyModule is the optional module specification to give the consistency level for the propagation for this constraint: gfd_bc for bounds consistency, and gfd_gac for domain (generalised arc) consistency.

This constraint is implemented using Gecode's MiniModel's rel() for both integer and boolean expressions, with sub-expressions/constraints not supported by MiniModel factored out and posted as auxiliary constraints.

A more restricted version of this constraint is defined in the global constraint catalog as 'equivalent', in that the reified truth value is the logical equivalence of 0/1 variables rather than constraints.


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

See Also

<=> / 2, neg / 2, => / 3, or / 3, xor / 3, and / 3, suspend : #\= / 3, ic : #\= / 3, fd : #\= / 3