| OCR Text |
Show 37 It appears that narrowing offers a good tradeoff between efficiency and generality. This can be justified as follows: * if the given two terms are unifiable, narrowing tends to generate a unifier quickly; * irrelevant search paths can be kept relatively small for a substantial portion of applications, especially for those term rewriting systems where constructors play an important role; * narrowing is quite general, as shown by Fay and Hullot [30, 51]. The remainder of this chapter discusses the generality of narrowing, and provides evidence for the usefulness of possible extensions to the extant ap-plication domain for narrowing. Before doing so, we first elaborate on the rela-tions between E-unification and the paramodulation rule invented for theorem-proving in first-order theories with equality [98]. 3.2 Relation to Paramodulation We briefly review the terminology that will be used in defining paramodulation. A sentence is a conjunction of clauses. A clause is a disjune-tion of literals, conveniently rewritten as a set of literals. A I iteral is an atomic formula or the negation of an atomic formula. An atomic formula is of the form P(t 1, ... ,tn), where P is a predicate symbol and ti's are terms with all the variables implicitly universally quantified. Paramodulation is an inference rule used in resolution proof procedures and is defined as follows. The reader can consult [12, 80] for details. Definition 3-7: Let C1 and C2 be two clauses (called parent clauses) with no variables in common. Let l[t] denote the literal L containing the term t. If C1 is {L[t]} u C1 ', and C2 is {t1 = t 2} u C2', where and C1' and C2' are clauses, and if t and t 1 (or t and t 2, respectively) are unifiable with the minimum unifier (f, then infer {(fl[t 1 <- (ft 2 ]} u (JC 1 ' u (JC 2 '. We say that C2 is paramodulated into C1. When the term t in the literal L is a variable term, we say that the corresponding paramodulation is paramodulation into variables. 0 |