English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Conference Paper

Equational Reasoning and Term Rewriting Systems

MPS-Authors
/persons/resource/persons45200

Plaisted,  David
Programming Logics, MPI for Informatics, Max Planck Society;

External Resource
No external resources are shared
Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Plaisted, D. (1993). Equational Reasoning and Term Rewriting Systems. In D. M. Gabbay, C. Hogger, J. A. Robinson, & J. Siekmann (Eds.), Handbook of Logic in Artificial Intelligence and Logic Programming (pp. 273-364). Oxford: Oxford University Press.


Cite as: https://hdl.handle.net/11858/00-001M-0000-0023-C800-D
Abstract
An \em equational system\/ is a set of equations. Often we are interested in knowing if an equation follows logically from the given set. For example, given the equations x + y = y + x, (x + y) + z = x + (y + z), and ‐(‐(x+y)+ ‐(x+‐y)) = x, we might want to know if the equation ‐(‐x+y)+ ‐(‐x+‐y)=x is a logical consequence. As another example, we might want to know if x * y = y * x in a group in which x ^ 2 = e for all x. Such systems are of interest for computer scientists as well as mathematicians. Common data structures like lists and stacks can often be described by such sets of equations. Furthermore, systems for mechanising such proofs on a computer are becoming more and more powerful. In addition, a functional program is essentially a set of equations, typically with higher order functions, and the execution of a program is then a kind of equational reasoning. We will discuss methods of inference that are particularly adapted to equational systems without explicit higher order functions. We will also discuss systems in which the equations may have conditions attached. Next we will consider the use of equational reasoning in general theorem proving programs. We also touch on the use of equations in logic and functional programming. Our survey differs from others in several ways. In general, our survey uses formalisms based on logic, and emphasizes the relationship between syntax and semantics. Some of our notation is novel, and some results may be original. Our presentation of some topics like unfailing completion and strong sequentiality is different. We do not emphasize properties of systems with more than one rewrite relation, as do other surveys. We do not study inductive theorems; for that, see a later chapter in this series. The organization of our survey is also different than others.