Natural Rewriting for General Term Rewriting Systems

We address the problem of an efficient rewriting strategy for general term rewriting systems. Several strategies have been proposed over the last two decades for rewriting, the most efficient of all being the natural rewriting strategy [9]. All the strategies so far, including natural rewriting, assume that the given term rewriting system is a left-linear constructor system. Although these restrictions are reasonable for some functional programming languages, they limit the expressive power of equational languages, and they preclude certain applications of rewriting to equational theorem proving and to languages combining equational and logic programming. In this paper, we propose a conservative generalization of natural rewriting that does not require the rules to be left-linear and constructor-based. We also establish the soundness and completeness of this generalization.

[1]  Rachid Echahed,et al.  A needed narrowing strategy , 2000, JACM.

[2]  Arie van Deursen,et al.  Language Prototyping: An Algebraic Specification Approach , 1996, AMAST Series in Computing.

[3]  Aart Middeldorp Call by need computations to root-stable form , 1997, POPL '97.

[4]  Sergio Antoy Definitional Trees , 1992, ALP.

[5]  Robert Strandh,et al.  Efficient Simulation of Forward-Branching Systems with Constructor Systems , 1996, J. Symb. Comput..

[6]  Santiago Escobar Refining weakly outermost-needed rewriting and narrowing , 2003, PPDP '03.

[7]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[8]  Sergio Antoy Constructor-based conditional narrowing , 2001, PPDP '01.

[9]  S. Peyton-jones,et al.  Implementation of Functional Languages , 1997, Lecture Notes in Computer Science.

[10]  Salvador Lucas,et al.  Demandness in Rewriting and Narrowing , 2002, WFLP.

[11]  Santiago Escobar Implementing Natural Rewriting and Narrowing Efficiently , 2004, FLOPS.

[12]  Claude Kirchner,et al.  ELAN from a rewriting logic point of view , 2002, Theor. Comput. Sci..

[13]  Corrado Moiso,et al.  Kernel-LEAF: A Logic plus Functional Language , 1991, J. Comput. Syst. Sci..

[14]  José Meseguer,et al.  Natural Narrowing for General Term Rewriting Systems , 2004, RTA.

[15]  Santiago Escobar,et al.  Natural Narrowing as a General Unied Mechanism for Programming and Proving , 2004 .

[16]  Dieter Hofbauer,et al.  Linearizing Term Rewriting Systems Using Test Sets , 1994, J. Symb. Comput..

[17]  LanguagesSERGIO Parallel Evaluation Strategies for Functional Logic Languages , 1997 .

[18]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[19]  Francisco Javier López-Fraguas,et al.  An Approach to Declarative Programming Based on a Rewriting Logic , 1999, J. Log. Program..

[20]  Rita Loogen,et al.  A Demand Driven Computation Strategy for Lazy Narrowing , 1993, PLILP.