A range R is monotone in S iff the value of R in
S’ is contained in the value of R in S, for every
extension S’ of S. A range R is anti-monotone in
S iff the value of R in S is contained in the value
of R in S’, for every extension S’ of S. By
abuse of notation, we will say that
X in R is
(anti-)monotone iff R is (anti-)monotone.
The consistency or entailment of a constraint C expressed as
X in R in a store S is checked by
considering the relationship between D(X,S) and S(R),
together with the (anti-)monotonicity of R in S. The
details are given in Execution of Propagating Indexicals and
Execution of Checking Indexicals.
The solver checks (anti-)monotonicity by requiring that certain variables occurring in the indexical be ground. This sufficient condition can sometimes be false for an (anti-)monotone indexical, but such situations are rare in practice.