| OCR Text |
Show 3 Very often, it is convenient to be able to use equations and functions in expressing the solution to a problem. The appropriateness of an equational or functional solution technique may stem either from one's intuitions about the problem to be solved, the ease or elegance of presenting solutions, or perhaps from the consideration of efficiency and the run time behavior of such a solution. Prolog is based on first-orde r Horn logic without equality, and thus is not capable of handling equalities. Although functions can be simulated in Prolog, the user has to worry about how to control the execution of such simulated functions. It is therefore useful to build a system that allows for equalities and functions within the context of logic programming. Research in this direction presents challenging problems, both theoretically and pragmatically. 1.1 Goals of this Dissertation This dissertation studies first-order unification in equational theories. It investigates how results and concepts in E-unification can be applied in logic programming that handles equalities and provides functional notation. In a general setting, we take the view that a logic programming language is a firstorder theory, and computed answers are correct with respect to this theory; moreover, we require that an answer be computed if it exists. We investigate both extended equational programming, which is based on the classical theory of equality, and Prolog enhanced with functional notation and equality. 1.1.1 E-unification The problem of unification is to determine if two given well-formed formulas in a logic L have a common instance, and if so, to provide a substitution for the free variables in the formulas that produces the most general common instance. When such a logic is a first-order logic, the corresponding unification is called first - order unification, or simply unification, where substitutions are mappings from variables to first-order terms.* * Unification has also been studied for higher order logics as in [45, 46, 47). |