A theory of using history for equational systems with applications
- 1 September 1995
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 42 (5) , 984-1020
- https://doi.org/10.1145/210118.210130
Abstract
Implementation of programming language interpreters, proving theorem of the form A=B, implementation of abstract data types, and program optimization are all problems that can be reduced to the problem of finding a normal form for an expression with respect to a finite set of equations. In 1980, Chew proposed an elegant congruence closure based simplifier (CCNS) for computing with regular systems, which stores the history of it computations in a compact data structure. In 1990, Verma and Ramakrishnan showed that it can also be used for noetherian systems with no overlaps. In this paper, we develop a general theory of using CCNS for computing normal forms and present several applications. Our results are more powerful and widely applicable than earlier work. We present an independent set of postulates and prove that CCNS can be used for any system that satisfies them. (This proof is based on the notion of strong closure ). We then show that CCNS can be used for consistent convergent systems and for various kinds of priority rewrite systems. This is the first time that the applicability of CCNS has been shown for priority systems. Finally, we present a new and simpler translation scheme for converting convergent systems into effectively nonoverlapping convergent priority systems. Such a translation scheme has been proposed earlier, but we show that it is incorrect. Because CCNS requires some strong properties of the given system, our demonstration of its wide applicability is both difficult and surprising. The tension between demands imposed by CCNS and our efforts to satisfy them gives our work much general significance. Our results are partly achieved through the idea of effectively simulating “bad” systems by almost-equivalent “good” ones, partly through our theory that substantially weakens the demands, and partly through the design of a powerful and unifying reduction proof method.Keywords
This publication has 14 references indexed in Scilit:
- Term-rewriting systems with rule prioritiesTheoretical Computer Science, 1989
- Rewriting systems on FP expressions to reduce the number of sequences yieldedScience of Computer Programming, 1986
- Refutational theorem proving using term-rewriting systemsArtificial Intelligence, 1985
- Programming with EquationsACM Transactions on Programming Languages and Systems, 1982
- Pattern Matching in TreesJournal of the ACM, 1982
- Confluent Reductions: Abstract Properties and Applications to Term Rewriting SystemsJournal of the ACM, 1980
- Variations on the Common Subexpression ProblemJournal of the ACM, 1980
- Fast Decision Procedures Based on Congruence ClosureJournal of the ACM, 1980
- Tree-Manipulating Systems and Church-Rosser TheoremsJournal of the ACM, 1973
- On Theories with a Combinatorial Definition of "Equivalence"Annals of Mathematics, 1942