Rule-Based Constraint Programming

In this paper we present a view of constraint programming based on the notion of rewriting controlled by strategies. We argue that this concept allows us to describe in a unified way the constraint solving mechanism as well as the meta-language needed to manipulate the constraints. This has the advantage to provide descriptions that are very close to the proof theoretical setting used now to describe constraint manipulations like unification or numerical constraint solving. We examplify the approach by presenting examples of constraint solvers descriptions and combinations written in the ELAN language.

[1]  Jean-François Puget,et al.  Constraint Programming (Abstract) , 1996, JICSLP.

[2]  Mark E. Stickel A Complete Unification Algorithm for Associative-Commutative Functions , 1975, IJCAI.

[3]  Marian Vittek,et al.  A Compiler for Nondeterministic Term Rewriting Systems , 1996, RTA.

[4]  Katherine A. Yelick,et al.  Unification in Combinations of Collapse-Free Regular Theories , 1987, J. Symb. Comput..

[5]  Christophe Ringeissen,et al.  Combining Decision Algorithms for Matching in the Union of Disjoint Equational Theories , 1996, Inf. Comput..

[6]  É. Monfroy Collaboration de solveurs pour la programmation logique à contraintes. (Solver collaboration for constraint logic programming) , 1996 .

[7]  Michael Clausen,et al.  Efficient Solution of Linear Diophantine Equations , 1989, J. Symb. Comput..

[8]  Claude Kirchner,et al.  Toward the Concurrent Implementation of Computational Systems , 1996, ALP.

[9]  Claude Kirchner,et al.  A Functional View of Rewriting and Strategies for a Semantics of ELAN , 1998, Fuji International Symposium on Functional and Logic Programming.

[10]  Claude Le Pape,et al.  PMFP: The Use of Constraint-Based Programming for Predictive Personnel Management , 1994, European Conference on Artificial Intelligence.

[11]  Evelyne Contejean,et al.  "Syntactic" AC-Unification , 1994, CCL.

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

[13]  Marian Vittek Elan : un cadre logique pour le prototypage de langages de programmation avec contraintes , 1994 .

[14]  Hélène Kirchner,et al.  Combining Symbolic Constraint Solvers on Algebraic Domains , 1994, J. Symb. Comput..

[15]  Franz Baader,et al.  Unification in the Union of Disjoint Equational Theories: Combining Decision Procedures , 1992, CADE.

[16]  Pierre-Etienne Moreau Compiling nondeterministic computations , 1998 .

[17]  Klaus U. Schulz,et al.  Combination of Constraint Systems II: Rational Amalgamation , 1996, CP.

[18]  C. Kirchner,et al.  Deduction with symbolic constraints , 1990 .

[19]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[20]  Alexander Herold Combination of Unification Algorithms , 1986, CADE.

[21]  Hélène Kirchner,et al.  ELAN: A logical framework based on computational systems , 1996, WRLA.

[22]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[23]  Werner Nutt,et al.  Basic Narrowing Revisited , 1989, J. Symb. Comput..

[24]  H. Kirchner,et al.  Compilation techniques for associative-commutative normalisation , 1997 .

[25]  Alexandre Boudet Combining Unification Algorithms , 1993, J. Symb. Comput..

[26]  Claude Kirchner,et al.  AC-Unification Race: The System Solving Approach, Implementation and Benchmarks , 1992, J. Symb. Comput..

[27]  Evelyne Contejean,et al.  A new AC unification algorithm with an algorithm for solving systems of diophantine equations , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

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

[29]  Tobias Nipkow,et al.  Combining Matching Algorithms: The Regular Case , 1991, J. Symb. Comput..

[30]  Christophe Ringeissen Combinaison de résolutions de contraintes , 1993 .

[31]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[32]  Mohamed Adi Calculs associatifs commutatifs, étude et réalisation du système Unifac , 1991 .

[33]  Cesare Tinelli,et al.  Constraint Logic Programming over Unions of Constraint Theories , 1998, J. Funct. Log. Program..

[34]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[35]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[36]  Cesare Tinelli,et al.  A New Correctness Proof of the {Nelson-Oppen} Combination Procedure , 1996, FroCoS.

[37]  Franz Baader,et al.  On the Combination of Symbolic Constraints, Solution Domains, and Constraint Solvers , 1995, CP.

[38]  Mark E. Stickel,et al.  A Unification Algorithm for Associative-Commutative Functions , 1981, JACM.

[39]  Carlos Castro,et al.  Constraint Manipulation using Rewrite Rules andStrategiesCarlos , 1997 .

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

[41]  Claude Kirchner,et al.  Syntactic theories and unification , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[42]  Enn Tyugu,et al.  Constraint Programming , 1994, NATO ASI Series.

[43]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[44]  Narciso Martí-Oliet,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[45]  Michel Bidoit,et al.  A Rehabilitation of Robinson's Unification Algorithm , 1983, IFIP Congress.

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

[47]  Christophe Ringeissen,et al.  Cooperation of Decision Procedures for the Satisfiability Problem , 1996, FroCoS.