Subsections

Getting Started

Reification of a constraint

The reification of a constraint C with respect to a variable x is the constraint
( C $ \leftrightarrow$ x = 1) $ \wedge$ x $ \in$ 0#1
where it is assumed that x does not occur free in C.

The operational semantics of a propagator for the reification of a constraint C with respect to x is given by the following rules:

  1. If the constraint store entails x = 1, the propagator for the reification reduces to a propagator for C.
  2. If the constraint store entails x = 0, the propagator for the reification reduces to a propagator for $ \urcorner$ C.
  3. If a propagator for C would realize that the constraint store entails C, the propagator for the reification tells x = 1 and ceases to exist.
  4. If a propagator for C would realize that the constraint store is inconsistent with C, the propagator for the reification tells x = 0 and ceases to exist.
To understand these rules, you need to be familiar with the definitions in Section 2.2.

0/1-variables

A 0/1-variable is a variable that is constrained to the finite domain 0#1. The control variables of reified constraints are 0/1-variables.

Posting reified constraints

Here are examples for statements creating propagators for reified constraints:

Andreas Rossberg 2006-08-28