Building constraint satisfaction problem solvers using rewrite rules and strategies.

*(English)*Zbl 0943.68095Summary: We formalize constraint satisfaction problem manipulation using a rule-based approach. Based on the notion of computational systems, we associate basic transformations carried out by traditional constraint solving algorithms with rewrite rules, and heuristics with strategies establishing the order of application of the inferences. In this way, a constraint solver can be viewed as a computational system aimed to transform a set of constraints in a particular solved form. The distinction made between deduction rules and strategies, allows to describe constraint handling in a very abstract way, prototype new heuristics almost by modifying only the choice of rules, prove termination in an easier way, and combine constraint solving with other computational systems. To validate our approach we have implemented the system COLETTE which is currently executable in ELAN, an environment for prototyping computational systems. We have realized how easy it is to integrate and reuse solvers developed following this approach. We hope that this work leads the way to integrating the knowledge existing in the domains of automated deduction and constraint solving.

##### MSC:

68Q42 | Grammars and rewriting systems |