This method translates a labeling literal lab(X f(X1 ... Xn))
into the corresponding problem-specific constraints (as described in Section 4.3.2). The last line states that the variable named by X
is an element of the set of labeled variables.
- <Dominance: Solver class, lab method>=
meth lab(X R)
N = {self var2node(X $)}
in
N.daughters =
{Record.map R fun {$ Xi} {self var2node(Xi $)} end}
{FS.partition
{Record.map N.daughters
fun {$ Ni}
Ni.up = N.equp
Ni.eqdown
end}
N.down}
{FS.include @var2int.X @labs}
end