On Completion of Constraint Handling Rules

Constraint Handling Rules (CHR) is a high-level language for writing constraint solvers either from scratch or by modifying existing solvers. An important property of any constraint solver is confluence: The result of a computation should be independent from the order in which constraints arrive and in which rules are applied. In previous work [1], a sufficient and necessary condition for the confluence of terminating CHR programs was given by adapting and extending results about conditional term rewriting systems. In this paper we investigate so-called completion methods that make a non-confluent CHR program confluent by adding new rules. As it turns out, completion can also exhibit inconsistency of a CHR program. Moreover, as shown in this paper, completion can be used to define new constraints in terms of already existing constraints and to derive constraint solvers for them.

[1]  Donald E. Knuth,et al.  Simple Word Problems in Universal Algebras††The work reported in this paper was supported in part by the U.S. Office of Naval Research. , 1970 .

[2]  Thom W. Frühwirth,et al.  Contraint Logic Programming - An Informal Introduction , 1992, Logic Programming Summer School.

[3]  Arabellastrasse,et al.  Constraint Handling Rules ? , 1995 .

[4]  Nachum Dershowitz,et al.  Confluence of Conditional Rewrite Systems , 1988, CTRS.

[5]  Holger Meuss On Connuence of Constraint Handling Rules on Connuence of Constraint Handling Rules , 1996 .

[6]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[7]  Nachum Dershowitz,et al.  Commutation, Transformation, and Termination , 1986, CADE.

[8]  Thom W. Frühwirth,et al.  Constraint Handling Rules , 2009, Constraint Programming.

[9]  Slim Abdennadher Analyse von regelbasierten Constraintlösern , 1998 .

[10]  Slim Abdennadher,et al.  Operational Semantics and Confluence of Constraint Propagation Rules , 1997, CP.

[11]  Nachum Dershowitz,et al.  Logic Programming by Completion , 1984, International Conference on Logic Programming.

[12]  Slim Abdennadher,et al.  On Confluence of Constraint Handling Rules , 1996, CP.

[13]  Maria Paola Bonacina,et al.  On Rewrite Programs: Semantics and Relationship with Prolog , 1992, J. Log. Program..

[14]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[15]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .