A Modular Framework for the Combination of Unification and Built-In Constraints

Constraints over un-interpreted terms are called symbolic and typical examples of such constraints are unification problems. When dealing with specific domains, constraints are often called built-in and a typical example consists of constraints over numerical domains like naturals or reals. On one hand, combination techniques for symbolic constraints have been quite investigated. On the other hand, many constraint systems provide primitive built-in constraints. In this paper, we address the problem of combining equational unification and built-in constraint solving in presence of functions from terms to built-ins. We design a modular constraint framework by breaking a mixed formula of the combined theory into a symbolic, a built-in and an heterogeneous part. The interest of such an approach is to give independently an appropriate interpretation for the heterogeneous part, while the interpretations of the pure parts are preserved. The study of constraint solving in an instance of the framework, where only homomorphisms are allowed, showed that it is possible to filter information throughout the three parts in a cooperative way in order to reach a well-chosen incremental quasi-solved form. The framework is applied to the combination of lists and naturals.