> I'm assuming that using the
> =: as opposed to comparison operators results in a sort of unification -

This is false. The reified version of =: (as occurs in your code) does not
perform any unification per se (unless its result is bound to 1, of course). I
don't know exactly what problem you are solving, but if:

        {FD.disj
            {FD.conj Shirt=:Hard {FD.conj Pants=:Soft Socks=:Hard}}
            {FD.conj Shirt=:Soft {FD.conj Pants=:Hard Socks=:Soft}}} =: 1

does not do the job it's just because it in fact does not mean exactly what you
mean :o) and not because (X=:Y) in expression position would necessarily unify
X with Y.

> So I'm
> wondering how one does a constraint whereby you say that (X == i )
> orelse (X== j)?  (A non-contiuous domain).

IMHO the best way to do this is thus:

   fun {NoncontDecl L}
      {FS.include $ {FS.value.make L}}
   end

where L is the domain specification (see doc for the FS module). For example,
try:

   {Browse {NoncontDecl [1 3 5 7#11 13]}}

Cheers,

Jorge.
>
> Thanks,
> Chris Rathman
>
>
>
>
_________________________________________________________________________________
> mozart-users mailing list
> [email protected]
> http://www.mozart-oz.org/mailman/listinfo/mozart-users
>




_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to