| OCR Text |
Show 2 text [98]. Other variants for handling equalities have been proposed, but the dif-ferences are usually more organizational than conceptual. Paramodulation, though it compares favorably with other methods dealing with the concept of equality, is still a weak inference rule in that too many irrelevant lemmas can be generated. Avoiding the generation of these trivial lemmas usually requires various heuristics drawn from the problem domain. In 1972, Plotkin showed that equational theories with a complete E-unification algorithm can be entirely built into Herbrand proof procedures so that no extraneous equality inferences are required [92]. The essential notion in his method is called E -unification -- unification in equational theories. Since then, several efforts have been directed at the development of E-unification al-gorithms. Unfortunately, little attention has been given to developing efficient and goal oriented E-unification algorithms, complete for interesting large classes of equational theories.* Besides its application in theorem proving, E-unification has found other important applications; see [110] for a survey. The one that this thesis is con-cerned with is logic programming with equality. Logic programming has emerged as a very promising programming paradigm in recent years, mainly due to Kowalski 's formalization [72], and various efforts at efficient implementations, most notably the DEC-1 0 PROLOG system [88]. In logic programming, what may be considered as a specification becomes an executable program. The execution of a program is a deduction in logic. Logic programming provides an ability to reason with given facts and rules. The rule oriented reasoning ability provided by logic programming has potential applications in many areas, e.g., expert systems. Because of its many merits, logic programming has been adopted as the core programming language in Fifth Generation Project currently being developed in Japan and elsewhere. * By "interesting" classes of equational theories, we mean, for example, equational theories that express the solutions for some interesting computational problems, and which can be conveniently expressed in equational programming languages. |