| OCR Text |
Show 26 process of enumerating all substitutions, and show that these algorithms are complete for equational theories that admit a confluent term rewriting system. We also show by counterexamples that narrowing fails to yield complete unification algorithms for some term rewriting systems. Furthermore, we provide some intuition for developing efficient algorithms, complete for some classes of theories. 3.1 Complete E-unification Algorithms Presented in this section are three algorithms that are complete for equa-tional theories that admit a confluent term rewriting system. The first algorithm is the most inefficient in that it enumerates all of the unifiers (up to variable renaming and restriction}. However, this algorithm enables a simple proof that unification in equational theories is complete. That is, there exists a complete E-unification algorithm for all equational theories. The second algorithm general-izes the first but still enumerates almost all of the unifiers. The purpose of in-traducing this algorithm is to provide a bridge that leads to the third algorithm, where useful evidence for developing efficient algorithms is present. As the reader will see, the third algorithm is a "super" algorithm of the Fay-Hullot al-gorithm. 3.1.1 An Algorithm based on Term Construction and Reduction As was mentioned earlier, the key observation is that, given a term rewrit-ing system, any term can be constructed in a finite number of steps (up to vari-able renaming}. We assume that the set of graded function symbols F (including constant function symbols) is known and that there is an unlimited supply of variables. In the following, a term is said to be I i near if it does not contain any repeated variable symbols. Otherwise, it is said to be non/ i near. The construe-tion of a set of (linear) terms (in the extreme case, the set of all linear terms) can be described by constructing a tree where each node represents a linear term, except for the root node. |