| OCR Text |
Show 74 being narrowable implies that Q (or h(g( ... ))) must be bound to a variab le in the resulting unifier. This is simply because the function symbol g cannot appear in the lefthand side of any rewrite rules, except the rules that define g. If the rew ri te rule ak <- f3k t hat is used to narrow an outer subterm IS tota lly li near, the second condition w ill be satisfied automatically. Otherw1se, linearity should be checked for the variable under concern. The conjecture is ba sed on the following evidence. It can be easily verified that, if both conditi ons hold, there exists a term Q such t hat for p -> P' v p ........ >uP", we have P' -> Q u p" ........ > Q. v Let P' = H(A',B'). By the way N. (P) is defined, A' and B' are not unifiable, t hus 1nn e r no unifier can be generated at this point. Now, the only thing that needs verify-ing is that for any unifier produced by a narrowing sequence issuing from P', there is a narrowing sequence issuing from Q that produces that unifier. This can be shown because by the definition for N. (P), a narrowing sequence is- mner suing from P', if can produce any unifier at all, must perform narrowing at v at some point. 4.4.2 Avoiding Some of the Duplicate Unifiers Let rT = {x1 <- t 1, .. . , xk <- tk} be a unifier produced by some narrowing sequence. If there is a ti that is not fully reduced, then reducing it will give an equivalent unifier. If ti is not fully narrowed, then narrowing on it will yield a unifier which is no more general than rT . In both cases, the resulting unifier is redundant and thus should be eliminated. Since reduction is a special case of narrowing, we can consider narrowing only. The following lemma formalizes this observation. |