 Up  
A constraint programming system typically provides a rich set of nonbasic constraints, such as:
Equality  

or 

Ordering, e.g.  
 
Arithmetic, e.g.  
 
Set, e.g.  
subset  
disjointness  
union  
Membership, e.g.  

and many more. The operational semantics of each nonbasic constraint is specified by a collection of inference rules.
For example, the disjointness constraint corresponds to the two inference rules below:
i.e. all elements known to be in cannot possibly be in and vice versa.
A challenge that must be faced by every user of a constraint programming system is then to express a CSP's constraints in terms of nonbasic constraints available in the system. Fortunately, Mozart has a very rich set of constraints (see [DKM^{+}99]) that facilitate the task.
 Up  