A GENERALIZED APPROACH TO EQUATIONAL UNIFICATION

Given a set of equational axioms and two terms containing function symbols and variables, the equational unification problem is to find a uniform replacement of terms for the variables that makes the terms provably equal from the axioms. In the variable-only case, the two terms contain only variables and function symbols from the axioms. In the general case, the terms may contain symbols not appearing in the axioms, there may be more than one instance of a set of axioms and there may be more than one set of axioms. This thesis presents a method for combining equational unification algorithms to handle the terms with "mixed" sets of function symbols. For example, given one algorithm for unifying associative-commutative operators, and another for unifying commutative operators, our algorithm provides a method for unifying terms containing both kinds of operators. It is based on a general strategy for decomposing terms and combining unifiers. We restrict our attention to sets of axioms whose function symbols are pairwise disjoint. A simplifying assumption is that we are working only with confined regular equational theories, a class of theories defined in this thesis. We present a unification algorithm that solves the general case unification problem for any combination of these theories, given variable-only case algorithms for the theories. The algorithm is proven totally correct. The termination proof is a generalization of Fages'' proof of termination for associative- commutative unification. Our algorithm has been implemented as part of a larger system for generating and reasoning about equational term rewriting systems.