Constraint Solving by Narrowing in Combined Algebraic Domains
Hélène Kirchner, Christophe Ringeissen · The MIT Press eBooks · 1994
Narrowing is a way to integrate function evaluation and equality definition into logic programming. Here we show how this can be combined with the constraint paradigm. We propose a solver for goals with constraints in theories defined by unconstrained equalities and rewrite rules with constraints expressed in an algebraic built-in structure. The narrowing method reduces the goal solving problem in the whole theory to rewriting and constraint solving in an adequate combined theory. The combined solver is obtained through the combination of a solver in the built-in structure and a solver for the unconstrained equalities. Sufficient syntactic conditions are proposed to get a process that enumerates a complete set of solutions. 1 Introduction Narrowing provides integration of function evaluation and equality definition into logic programming [6, 12, 8, 18, 10]. In this work, we show how this can be connected with the constraint paradigm to get a constraint solver on combined algebraic dom...