Journal of the ACM Bibliography

Rakesh M. Verma. A theory of using history for equational systems with applications. Journal of the ACM, 42(5):984-1020, September 1995. [BibTeX entry]

Implementation of programming language interpreters, proving theorems 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 its 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 had 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. Copyright 1995 by ACM, Inc.

The abstract is also available as a LaTeX file, a DVI file, or a PostScript file.

Preliminary version

A preliminary version of these results was presented in: Rakesh M. Verma. A theory of using history for equational systems with applications (extended abstract). In 32nd Annual Symposium on Foundations of Computer Science, pages 348-357, San Juan, Puerto Rico, 1-4 October 1991. IEEE.

Categories and Subject Descriptors: F.4.1 [Mathematical Logic and Formal Languages]: Mathematical Logic -- computational logic, mechanical theorem proving, proof theory; I.2.3 [Artificial Intelligence]: Deduction and Theorem Proving -- deduction

General Terms: Algorithms, Theory

Additional Key Words and Phrases: Congruence-closure algorithm, equational logic, rewrite systems, rewrite system transformation, proof theory, term rewriting

Selected references


  • Journal of the ACM homepage
  • Bibliography top level
  • Journal of the ACM Author Index
  • Search the HBP database