Computing constructor forms with non terminating rewrite programs

In the context of the study of rule-based programming, we focus in this paper on the property of C-reducibility, expressing that every term reduces to a constructor term on at least one of its rewriting derivations. This property implies completeness of function definitions, and enables to stop evaluations of a program on a constructor form, even if the program is not terminating. We propose an inductive procedure proving C-reducibility of rewriting. The rewriting relation on ground terms is simulated through an abstraction mechanism and narrowing. The induction hypothesis allows assuming that terms smaller than the starting terms rewrite into a constructor term. The existence of the induction ordering is checked during the proof process, by ensuring satisfiability of ordering constraints. The proof is constructive, in the sense that the branch leading to a constructor term can be computed from the proof trees establishing C-reducibility for every term

[1]  Christophe Ringeissen,et al.  A Pattern Matching Compiler for Multiple Target Languages , 2003, CC.

[2]  A. Bouhoula,et al.  Automatic Verification of Sufficient Completeness for Specifications of Complex Data Structures ? , 2005 .

[3]  Paliath Narendran,et al.  Proof by Induction Using Test Sets , 1986, CADE.

[4]  Hélène Kirchner,et al.  Induction for termination with local strategies , 2001 .

[5]  Jean-Pierre Jouannaud,et al.  Automatic Proofs by Induction in Theories without Constructors , 1989, Inf. Comput..

[6]  Claude Kirchner,et al.  An overview of ELAN , 1998, WRLA.

[7]  M. Clavel,et al.  Principles of Maude , 1996, WRLA.

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

[9]  Hélène Kirchner,et al.  Termination of Rewriting with Local Strategies , 2001, Electron. Notes Theor. Comput. Sci..

[10]  Max Dauchet,et al.  Encompassment Properties and Automata with Constraints , 1993, RTA.

[11]  H. Comon Sufficient Completness, Term Rewriting Systems and Anti-Unification , 1986 .

[12]  Hélène Kirchner,et al.  Induction for innermost and outermost ground termination , 2001 .

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

[14]  Paul Klint A Meta-Environment for Generating Programming Environments , 1989, Algebraic Methods.

[15]  AZEDDINE LAZREK,et al.  Tools for Proving Inductive Equalities, Relative Completeness, and omega-Completeness , 1990, Inf. Comput..

[16]  Ataru T. Nakagawa,et al.  An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks , 1997, First IEEE International Conference on Formal Engineering Methods.

[17]  Paliath Narendran,et al.  On sufficient-completeness and related properties of term rewriting systems , 1987, Acta Informatica.

[18]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[19]  Hubert Comon,et al.  Chapter 14 – Inductionless Induction , 2001 .

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

[21]  Hélène Kirchner,et al.  Outermost ground termination , 2004, WRLA.

[22]  Hélène Kirchner,et al.  A Proof of Weak Termination Providing the Right Way to Terminate , 2004, ICTAC.

[23]  Emmanuel Kounalis,et al.  Testing for the Ground (Co-)Reducibility Property in Term-Rewriting Systems , 1992, Theor. Comput. Sci..

[24]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[25]  David A. Plaisted,et al.  Semantic Confluence Tests and Completion Methods , 1985, Inf. Control..

[26]  Nachum Dershowitz,et al.  Orderings for term-rewriting systems , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[27]  Florent Jacquemard,et al.  Ground reducibility is EXPTIME-complete , 2003, Inf. Comput..

[28]  Tobias Nipkow,et al.  A decidability result about sufficient-completeness of axiomatically specified abstract data types , 1983, Theoretical Computer Science.

[29]  Adel Bouhoula Using induction and rewriting to verify and complete parameterized specifications , 1996 .

[30]  Jürgen Giesl,et al.  Improving Dependency Pairs , 2003, LPAR.

[31]  Emmanuel Kounalis,et al.  Completeness in Data Type Specifications , 1985, European Conference on Computer Algebra.