Constraint handling rules

  • Thom Frühwirth
Conference paper

DOI: 10.1007/3-540-59155-9_6

Part of the Lecture Notes in Computer Science book series (LNCS, volume 910)
Cite this paper as:
Frühwirth T. (1995) Constraint handling rules. In: Podelski A. (eds) Constraint Programming: Basics and Trends. Lecture Notes in Computer Science, vol 910. Springer, Berlin, Heidelberg


We are investigating the use of a class of logical formulas to define constraint theories and implement constraint solvers at the same time. The representation of constraint evaluation in a declarative formalism greatly facilitates the prototyping, extension, specialization and combination of constraint solvers. In our approach, constraint evaluation is specified using multi-headed guarded clauses called constraint handling rules (CHRs). CHRs define determinate conditional rewrite systems that express how conjunctions of constraints propagate and simplify.

In this paper we concentrate on CHRs as an extension for constraint logic programming languages. Into such languages, the CHRs can be tightly integrated. They can make use of any hard-wired solvers already built into the host language. Program clauses can be used to specify the non deterministic behavior of constraints, i.e. to introduce search by constraints. In this way our approach merges the advantages of constraints (eager simplification by CHRs) and predicates (lazy choices by clauses).


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Thom Frühwirth
    • 1
  1. 1.ECRCMunichGermany

Personalised recommendations