| OCR Text |
Show 105 however, been worked out that enable one to test a given term rewriting sys-tern for this property; see, for example, [44, 48, 86, 90, 1 03]. Furthermore, the Knuth-Bendix completion procedure [67] can be used to make a term rewriting system complete in some cases. For the convenience of our exposition, we will assume that EON represents a confluent term rewriting system. This essentially implies that the equations in EQN can be viewed as rewrite rules. The reduction of a function term f(s 1 , ... ,sn) can be viewed as the process of finding a substitution (f for the lefthand side f(t 1 , ... ,tn) of an equation such that (f(f(t 1 , ... ,tn)) = f(s 1 , ... ,sn). The "result" of the reduction (the "reduced version" of f(s 1, ... ,sn)) is obtained by applying (f to the righthand side of the equation. Such a one way unification is called biased unification -- biased because the sub-stitution (f is applied only to the lefthand side of the equation f(t 1, ... ,tn), but not to the term f(s 1, ... ,sn). One_ Step_ Reduction. The corresponding reduction procedure is called In trying to unify two terms, say, f(t 1, ... ,tn) and f(s 1, ... ,sn), suppose there are subterms t. and s. that are not unifiable in the conventional sense. In such a I I case, if si (or ti) is reducible and a reduced version of it is unifiable with ti (respectively si), then we say that f(t 1, ... ,tn) and f(s 1, ... ,sn) are semantically unifiable. The corresponding process is called semantic unification. In the general case, both subterms si and ti can be reduced, but certain restrictions must be imposed. This will be discussed in Section 6.2.1. By combining semantic unification with biased unification we obtain the notion of biased semantic unification. In this case, only the subterms in f(s 1, ... ,sn) are considered for reduction. We can now formally give the definition for reducibility of a function term. Definition 6-1: Reducibility of Function Terms Let f(s 1, ... ,sn) be a function term to be reduced. Let g 1, ... ,gP, where p ~ 0, be function calls contained in f(s 1, ... ,sn). The function term f(s 1, ... ,sn) is reducible if there exists a function term f(s' 1 , ... ,s' n) obtained from f(s 1, ... ,sn) by performing zero or more reductions for each of g 1, ... ,gP, an equation whose lefthand side is f{t 1, ... ,tn) and a substitution (f such that (f{f{t1, ... ,tn)) = f(s' 1, ... ,s'n). 0 |