diff --git a/chapters/4_half_reif.tex b/chapters/4_half_reif.tex index 7fd62fa..81fb18e 100644 --- a/chapters/4_half_reif.tex +++ b/chapters/4_half_reif.tex @@ -204,9 +204,9 @@ Instead, a new explicit \(check\) method has to be devised to implement the \gls In comparison, a \gls{propagator} for the \gls{reif} of \(c\) cannot be created from these three logical task. In addition, we require the logical task from a \gls{propagator} of \(\neg{} c\): \(checkNeg\), \(pruneNeg\), and \(entailedNeg\). -Using these additional functions, we can define an algorithm for the \gls{propagator}, shown in \cref{alg:reif-prop} -Although this might seem reasonable for small \constraints{}, such as integer equality, for many \glspl{global} their negation is hard to define. -\todo{Insert good example of global constraint.} +Using these additional functions, we can define an algorithm for the \gls{propagator}, shown in \cref{alg:reif-prop} Although this might seem reasonable for small \constraints{}, such as integer equality, for many \glspl{global} their negation is hard to define. +For example, the negation of the \mzninline{all_different} \constraint{} is a \constraint{} that forces that at least two values are equal. +This far from a common \constraint{} and we are not aware of any \solver{} that implements a \gls{propagator} for it. \begin{algorithm}[t]