[ 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.
ConX
Constraint
ConY
Constraint
Bool
Reified truth value of the constraint (array notation accepted)

Description

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.

Modules

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