"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.