"Constraint programming consists of
expressing a problem in terms of unknowns under a
constraint" (i.e., a first order formula involving operations and relations defined in a given domain).
"The function of the computer is to
solve the constraint, that is to find the values which must
be assigned to the free variables of the formula in order
to obtain the value true."
This is a unified vision of logic programming and the mathematical programming concept known in operational research. Constraint technology helps in moving smoothly from inference to optimization.