- Up - |
A constraint programming system typically provides a rich set of non-basic 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 non-basic 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 non-basic constraints available in the system. Fortunately, Mozart has a very rich set of constraints (see [DKM+99]) that facilitate the task.
- Up - |