Algebraic specification of Macintosh's Quickdraw using OBJ2
ICSE '88 Proceedings of the 10th international conference on Software engineering
Stepwise refinement process with modularity
ICSE '89 Proceedings of the 11th international conference on Software engineering
Complete Sets of Reductions for Some Equational Theories
Journal of the ACM (JACM)
Coloring Terms to Control Equational Reasoning
Journal of Automated Reasoning
Stop losing sleep over incomplete data type specifications
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Schema recognition for program transformations
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
An economical method for comparing data type specifications
ACM SIGPLAN Notices
Electronic Notes in Theoretical Computer Science (ENTCS)
A term rewriting system for the calculus of moving surfaces
Proceedings of the 38th international symposium on International symposium on symbolic and algebraic computation
Hi-index | 0.00 |
Equations occur frequently in mathematics, logic and computer science. In this paper, we survey the main results concerning equations, and the methods available for reasoning about them and computing with them. The survey is self-contained and unified, using traditional abstract algebra. Reasoning about equations may involve deciding if an equation follows from a given set of equations (axioms), or if an equation is true in a given theory. When used in this manner, equations state properties that hold between objects. Equations may also be used as definitions; this use is well known in computer science: programs written in applicative languages, abstract interpreter definitions, and algebraic data type definitions are clearly of this nature. When these equations are regarded as oriented "rewrite rules," we may actually use them to compute. In addition to covering these topics, we discuss the problem of "solving" equations (the "unification" problem), the problem of proving termination of sets of rewrite rules, and the decidability and complexity of word problems and of combinations of equational theories. We restrict ourselves to first-order equations, and do not treat equations which define non-terminating computations or recent work on rewrite rules applied to equational congruence classes.