CPSolver.Propagator.Reified (Fixpoint v0.10.2)

The propagator for reification constraints.

Full reification:

  1. If b is fixed to 1, the propagator for the reification reduces to a propagator for C.
  2. If b is fixed to 0, the propagator for the reification reduces to a propagator for opposite(C).
  3. If a propagator for C would realize that the C would be entailed, the propagator for the reification fixes b to 1 and ceases to exist.
  4. If a propagator for C would realize that the C would fail, the propagator for the reification fixes x b to 0 and ceases to exist.

Half-reification:

Rules 2 and 3 of full reification.

Inverse implication:

Rules 1 and 4 of full reification.

Summary

Functions

arguments(args)

Callback implementation for CPSolver.Propagator.arguments/1.

entailed?(args, propagator_state)

Callback implementation for CPSolver.Propagator.entailed?/2.

failed?(args, propagator_state)

Callback implementation for CPSolver.Propagator.failed?/2.

new(args)

new(propagators, b_var, mode)

reset(args, state)

Callback implementation for CPSolver.Propagator.reset/2.

reset(args, state, opts)

Callback implementation for CPSolver.Propagator.reset/3.