lab method

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.@labs}
end


Denys Duchier
Version 1.2.0 (20010221)