A theory of using history for equational systems with applications

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.

[1]  Françoise Bellegarde,et al.  Rewriting Systems on FP Expressions to Reduce the Number of Sequences Yielded , 1986, Science of Computer Programming.

[2]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[3]  N. A C H U M D E R S H O W I T Z Termination of Rewriting' , 2022 .

[4]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[5]  Jieh Hsiang,et al.  Refutational Theorem Proving Using Term-Rewriting Systems , 1985, Artif. Intell..

[6]  Nachum Dershowitz,et al.  Termination of Rewriting , 1987, J. Symb. Comput..

[7]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[8]  Ellis Horowitz,et al.  Abstract data types and software validation , 1978, CACM.

[9]  Christoph M. Hoffmann,et al.  Programming with Equations , 1982, TOPL.

[10]  Michael J. O'Donnell,et al.  Computing in systems described by equations , 1977, Lecture Notes in Computer Science.

[11]  Christoph M. Hoffmann,et al.  Implementation of an interpreter for abstract equations , 1984, POPL '84.

[12]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[13]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[14]  Jörg H. Siekmann,et al.  Universal Unification , 1982, GWAI.

[15]  Paul Chew,et al.  An improved algorithm for computing with equations , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[16]  I. V. Ramakrishnan,et al.  Programming in equational logic: beyond strong sequentiality , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[17]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.

[18]  Stavros S. Cosmadakis,et al.  Two Applications of Equational Theories to Database Theory , 1985, RTA.

[19]  Jan A. Bergstra,et al.  Term-Rewriting Systems with Rule Priorities , 1989, Theor. Comput. Sci..

[20]  Satish R. Thatte Implementing First-Order Rewriting with Constructor Systems , 1988, Theor. Comput. Sci..

[21]  Dexter Kozen,et al.  Complexity of finitely presented algebras , 1977, STOC '77.

[22]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[23]  B. M. Fulk MATH , 1992 .

[24]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[25]  Donald E. Knuth,et al.  Simple Word Problems in Universal Algebras††The work reported in this paper was supported in part by the U.S. Office of Naval Research. , 1970 .

[26]  Rakesh Mohan Verma Ubiquitous equations, nonoblivious normalization and term =matching problems , 1989 .

[27]  I. V. Ramakrishnan,et al.  Nonoblivious Normalization Algorithms for Nonlinear Rewrite Systems , 1990, ICALP.

[28]  Rakesh M. Verma Smaran: A Congruence-Closure Based System for Equational Computations , 1993, RTA.