Function Definitions in Term Rewriting and Applicative Programming

The frameworks of unconditional and conditional Term Rewriting and Applicative systems are explored with the objective of using them for defining functions. In particular, a new operational semantics, Tue-Reduction , is elaborated for conditional term rewriting systems. For each framework, the concept of evaluation of terms invoking defined functions is formalized. We then discuss how it may be ensured that a function definition in each of these frameworks is meaningful, by defining restrictions that may be imposed to guarantee termination, unambiguity , and completeness of definition. The three frameworks are then compared, studying when a definition may be translated from one formalism to another.

[1]  Mandayam K Srivas Automatic Synthesis of Implementations for Abstract Data Types from Algebraic Specifications. , 1982 .

[2]  Hélène Kirchner A General Inductive Completion Algorithm and Application to Abstract Data Types , 1984, CADE.

[3]  Jean-Pierre Jouannaud,et al.  Proofs by induction in equational theories without constructors , 1985, Bull. EATCS.

[4]  Jean-Jacques Thiel Stop losing sleep over incomplete data type specifications , 1984, POPL '84.

[5]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .

[6]  Gérard P. Huet,et al.  Proofs by Induction in Equational Theories with Constructors , 1980, FOCS.

[7]  Peter Henderson Functional Programming , 1980 .

[8]  Jean-Pierre Jouannaud,et al.  Recursive Decomposition Ordering , 1982, Formal Description of Programming Concepts.

[9]  Jieh Hsiang,et al.  Topics in Automated Theorem Proving and Program Generation , 1983 .

[10]  Jean-Marie Hullot,et al.  Canonical Forms and Unification , 1980, CADE.

[11]  Nachum Dershowitz,et al.  Logic Programming cum Applicative Programming , 1985, SLP.

[12]  Stéphane Kaplan Fair Conditional Term Rewriting Systems: Unification, Termination, and Confluence , 1984, ADT.

[13]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[14]  Heinrich Hußmann,et al.  Unification in Conditional Equational Theories , 1985, European Conference on Computer Algebra.

[15]  Pierre Lescanne Uniform Termination of Term Rewriting Systems: Recursive Decomposition Ordering with Status , 1984, CAAP.

[16]  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).

[17]  Nachum Dershowitz Orderings for Term-Rewriting Systems , 1979, FOCS.

[18]  Deepak Kapur,et al.  On Proving Uniform Termination and Restricted Termination of Rewriting Systems , 1983, SIAM J. Comput..

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

[20]  Hantao Zhang,et al.  REVEUR 4: A System for Validating Conditional Algebraic Specifications of Abstract Data Types , 1984, ECAI.

[21]  Gérard Huet,et al.  On the Uniform Halting Problem for Term Rewriting Systems , 1978 .

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

[23]  David R. Musser,et al.  On proving inductive properties of abstract data types , 1980, POPL '80.

[24]  Deepak Kapur,et al.  Rewrite Rule Theory and Abstract Data Type Analysis , 1982, EUROCAM.

[25]  Stéphane Kaplan,et al.  Conditional Rewrite Rules , 1984, Theor. Comput. Sci..

[26]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

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

[28]  Mandayam K. Srivas,et al.  A Rewrite Rule Based Approach for Synthesizing Abstract Data Types , 1985, TAPSOFT, Vol.1.