Dependency Pairs for Rewriting with Built-In Numbers and Semantic Data Structures

This paper defines an expressive class of constrained equational rewrite systems that supports the use of semantic data structures (e.g., sets or multisets) and contains built-in numbers, thus extending our previous work presented at CADE 2007 [6]. These rewrite systems, which are based on normalized rewriting on constructor terms, allow the specification of algorithms in a natural and elegant way. Built-in numbers are helpful for this since numbers are a primitive data type in every programming language. We develop a dependency pair framework for these rewrite systems, resulting in a flexible and powerful method for showing termination that can be automated effectively. Various powerful techniques are developed within this framework, including a subterm criterion and reduction pairs that need to consider only subsets of the rules and equations. It is well-known from the dependency pair framework for ordinary rewriting that these techniques are often crucial for a successful automatic termination proof. Termination of a large collection of examples can be established using the presented techniques.

[1]  Joao Marques-Silva,et al.  Theory and Applications of Satisfiability Testing - SAT 2007, 10th International Conference, Lisbon, Portugal, May 28-31, 2007, Proceedings , 2007, SAT.

[2]  Nimish Shah,et al.  Advanced Topics in Term Rewriting by Enno Ohlebusch, Springer Verlag, 2002 , 2006, Journal of Functional Programming.

[3]  Keiichirou Kusakari On Proving AC-Termination by AC-Dependency Paris , 1998 .

[4]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[5]  Deepak Kapur,et al.  Induction and Decision Procedures , 2004 .

[6]  Hantao Zhang,et al.  An overview of Rewrite Rule Laboratory (RRL) , 1995 .

[7]  Jürgen Giesl,et al.  Mechanizing and Improving Dependency Pairs , 2006, Journal of Automated Reasoning.

[8]  Jürgen Giesl,et al.  Proving Termination by Bounded Increase , 2007, CADE.

[9]  Enno Ohlebusch,et al.  Advanced Topics in Term Rewriting , 2002, Springer New York.

[10]  Deepak Kapur,et al.  Operational Termination of Conditional Rewriting with Built-in Numbers and Semantic Data Structures , 2009, WRS@RTA.

[11]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[12]  Wolfgang Bibel,et al.  Proceedings of the 5th Conference on Automated Deduction , 1980 .

[13]  Nao Hirokawa,et al.  Tyrolean Termination Tool , 2005, RTA.

[14]  José Meseguer,et al.  Operational termination of conditional term rewriting systems , 2005, Inf. Process. Lett..

[15]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[16]  Jürgen Giesl,et al.  SAT Solving for Termination Analysis with Polynomial Interpretations , 2007, SAT.

[17]  Jürgen Giesl,et al.  Termination of term rewriting using dependency pairs , 2000, Theor. Comput. Sci..

[18]  Jürgen Giesl,et al.  The Dependency Pair Framework: Combining Techniques for Automated Termination Proofs , 2005, LPAR.

[19]  Jürgen Giesl,et al.  Proving and Disproving Termination of Higher-Order Functions , 2005, FroCoS.

[20]  Claude Marché,et al.  Mechanically Proving Termination Using Polynomial Interpretations , 2005, Journal of Automated Reasoning.

[21]  Nao Hirokawa,et al.  Tyrolean termination tool: Techniques and features , 2007, Inf. Comput..

[22]  Deepak Kapur,et al.  A Mechanizable Induction Principle for Equational Specifications , 1988, CADE.

[23]  Mark E. Stickel,et al.  Complete Sets of Reductions for Some Equational Theories , 1981, JACM.

[24]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[25]  Claude Marché,et al.  Normalized Rewriting: An Alternative to Rewriting Modulo a Set of Equations , 1996, J. Symb. Comput..

[26]  Frank Pfenning,et al.  Automated Deduction - CADE-21, 21st International Conference on Automated Deduction, Bremen, Germany, July 17-20, 2007, Proceedings , 2007, CADE.

[27]  Deepak Kapur,et al.  Dependency Pairs for Rewriting with Non-free Constructors , 2007, CADE.

[28]  Andreas Podelski,et al.  Transition invariants , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[29]  Andreas Podelski,et al.  Abstraction Refinement for Termination , 2005, SAS.

[30]  Jürgen Giesl,et al.  Dependency Pairs for Equational Rewriting , 2001, RTA.

[31]  Albert Rubio,et al.  A Fully Syntactic AC-RPO , 1999, Inf. Comput..

[32]  Jürgen Avenhaus,et al.  A Framework for Operational Equational Specifications with Pre-defined Structures , 1999, J. Symb. Comput..

[33]  Henny B. Sipma,et al.  Synthesis of Linear Ranking Functions , 2001, TACAS.

[34]  Henny B. Sipma,et al.  Linear Ranking with Reachability , 2005, CAV.

[35]  Yoshihito Toyama,et al.  Argument Filtering Transformation , 1999, PPDP.

[36]  Claude Marché,et al.  Modular and incremental proofs of AC-termination , 2004, J. Symb. Comput..

[37]  Hélène Kirchner,et al.  Under Consideration for Publication in J. Functional Programming Promoting Rewriting to a Programming Language: a Compiler for Non-deterministic Rewrite Programs in Associative-commutative Theories , 2022 .

[38]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[39]  Jürgen Giesl,et al.  Automatic Termination Proofs in the Dependency Pair Framework , 2006, IJCAR.

[40]  Deepak Kapur,et al.  Inductive Decidability Using Implicit Induction , 2006, LPAR.