| OCR Text |
Show 43 describes the same equational theory as does {h(a,a) - > c(h(a,a))}. We can ei ther use this term rewriting system, or simply the original equation h(a,a) = c(h(a,a)): so why do we have to use a rewrite rule such as {h(a,a) - > c(h(a,a))}? Firstly, different orientations of rewrite rules may have different computational purposes. Secondly, as argued earlier, we would like to deal with rewrite rules rather than equations. To see why narrowing is not general enough, let us go back to Theorem 2-10. The major requirement that makes things difficult is that none of the reductions in part (i) of the theorem should occur on a subterm that is "i nherited" from the unifier v1• Informally, let A and B be terms and v1 a unifier. Let the address u represent a variable x in H(A,B) and assume that the unifier maps x to a term C, i.e., assume that v,(H(A,B))/u = C. We then that say the subterm C is introduced by the substitution v1 on H(A,B). If a reduction occurs in C, C - > C', we then have v,(H(A,B))/u = C'. We then say C' is inherited from the unifier v1 (C is trivially inherited). If a reduction occurs in any inherited subterm, then there is no corresponding nar-rowing. Consider again the term rewriting systems discussed above R = {h(a,a) - > c(h(a,a))}, and let C = h(x,a) and v1 = {x <- h(a,a)}. Note that v1 is not normalized and in fact . cannot be normalized. Obviously, though v1(C) = h(h(a,a}, a) - > 1 h(c(h(a,a)),a) C = h(x,a) is not even narrowable. Notice that the address 1 (denoting the sub-term h(a,a) of h(h(a,a),a)) represents a subterm introduced by the unifier, thus h(a,a) is a subterm inherited from the unifier. This would not occur if the term rewriting system is canonical, because unifiers can always be normalized. This leads to an investigation of the following problem. Let R be a confluent term rewriting system and P and Q be terms. For any unifier .,., of P and Q and the reduction sequence |