Known as CLP in LogicProgramming papers. Programming with constraints. Operation proceeds by searching all solutions by a ConstraintSolver. 
There are some variants of PrologLanguage, that provide this. Note, that the domains over which the constraints can be defined vary.

Typical domains are:
* BooleanLogic (true and false) 
** this is the special case, that coincides with standard LogicProgramming.
* Sets 
** e.g. set inclusion constraints or existential or universal uantification over membership Examples: see SetOrientedProgramming
* Real Numbers
** e.g. constraints of the form a + b <= c over (solved by LinearAlgebra)
* Integer Numbers
** e.g. constraints of the form a + b <= c over Integer Numbers
* elements from a LatticeStructure 
** nodes in a DirectedAcyclicGraph, that can be combined with Least Upper Bound and Greatest Lower Bound. This is a strict generalization of the Integer Numbers problem and of the BooleanLogic (compare BooleanLattice).
* elements from semi ring
** this is a strict generalization of the lattice formulation allowing fuzzy solutions and solutions to optimization problems
----
Related: LogicProgramming, DeclarativeProgramming, ProgrammingParadigm, ConstraintProgramming