| OCR Text |
Show 5 A fundamental question, however, has not been answered: is first-order unification in equational theories complete? That is, given an arbitrary equational t heory, does there exist an algorithm which generates a complete set of unifiers for any two E-unifiable terms? The answer to this question is not only of theoretical interest, but may also provide useful insights for developing efficient algorithms. To be complete, an E-unification algorithm must possess the fol-lowing properties: (a) for any unifier 11 of two terms A and B, the algorithm must generate a unifier 11 ' which is at least as general as 11, and (b) all the substitutions generated by the algorithm must be unifiers for the terms A and B. This question is answered in this thesis by constructing a "universal" algorithm: universal in the sense that it is complete for all equational theories. General E-unification algorithms may not be efficient; indeed, the "universal" algorithms developed here are too inefficient to be practically useful. On the other hand, efficient E-unification algorithms may not be general enough for arbitrary equational theories. The challenging problem is therefore to devel-op efficient algorithms that are general enough for a wide class of equational theories encountered in appropriate areas of interest. We focus on two applica-tions areas in this thesis: 1. Equational logic programming with the classical equational theory as the underlying semantics. This extends the traditional functional and equational programming paradigms with the ability to reason about equations. 2. A combination of functional programming and logic programming. This extends standard Prolog-like languages with functional notation and equality. With these applications in mind, we look for efficient E-unification al-gorithms that are general enough for use in equational programming. The investigation of complete E-unification algorithms for all equational theories suggests that narrowing offers a good trade-off between efficiency and generality. Although narrowing is complete for equational theories that admit a canonical term rewriting system, we are interested in the completeness of nar- |