Learn More
Constraint Handling Rules (CHR) are our proposal to allow more exibility and application-oriented customization of constraint systems. CHR are a declarative language extension especially designed for writing user-deened constraints. CHR are essentially a committed-choice language consisting of multi-headed guarded rules that rewrite constraints into simpler(More)
Constraint Handling Rules (CHR) is both a theoretical formalism based on logic and a practical programming language based on rules. This book, written by the creator of CHR, describes the theory of CHR and how to use it in practice. It is supported by a website containing teaching materials, online demos, and free downloads of the language. After a basic(More)
Motivation Classical optimal union-find algorithm [Tarjan+, JACM 31(2)] implementable in CHR with optimal time complexity [Schrijvers+, WCLP'05,TPLP]. Parallel implementation? Hard problem: No parallel computation model for CHR. Optimal union-find hard to parallelize. Parallel code close to sequential one. Semi-automatic confluence analysis of sequential(More)
We introduce the notion of connuence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simpliies and solves constraints by applying rules. Connuence guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable,(More)
We introduce the most recent and advanced implementation of constraint handling rules (CHR) in a logic programming language, which improves both on previous implementations (in terms of completeness , exibility and eeciency) and on the principles that should guide such a Prolog implementation consisting of a runtime system and a compiler. The runtime system(More)