The central idea of constraints is to
compute with descriptions of data instead of to compute with data items. Generally speaking, a constraint-based computation mechanism (in a broad sense, this
includes for instance deduction calculi and grammar formalisms) can be seen as a two-tired architecture, consisting of
| •
|
A language of data descriptions, and means to compute with data descriptions. Predicate logic is, for reasons that will be
explained in this lecture, the natural choice as a framework for expressing data descriptions, that is constraints.
|
| •
|
A computation formalism which operates on constraints by a well-defined set of operations. The choice of this set of operations
typically is a compromise between what is desirable for the computation mechanism, and what is feasible for the constraint
system.
|
Both authors supported by the ESPRIT working group CCL-II, ref.WG # 22457.