Mechanically Proving Termination Using Polynomial Interpretations

For a long time, term orderings defined by polynomial interpretations were scarcely used in computer-aided termination proof of TRSs. But recently, the introduction of the dependency pairs approach achieved considerable progress w.r.t. automated termination proof, in particular by requiring from the underlying ordering much weaker properties than the classical approach. As a consequence, the noticeable power of a combination dependency pairs/polynomial orderings yielded a regain of interest for these interpretations. We describe criteria on polynomial interpretations for them to define weakly monotonic orderings. From these criteria, we obtain new techniques both for mechanically checking termination using a given polynomial interpretation and for finding such interpretations with full automation. With regard to automated search, we propose an original method for solving Diophantine constraints. We implemented these techniques into the CiME rewrite tool, and we provide some experimental results that show how useful polynomial orderings actually are in practice.

[1]  Salvador Lucas Termination of (Canonical) Context-Sensitive Rewriting , 2002, RTA.

[2]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[3]  Nicholas Pippenger,et al.  On the Evaluation of Powers and Monomials , 1980, SIAM J. Comput..

[4]  Yuri Matiyasevich,et al.  Hilbert’s tenth problem , 2019, 100 Years of Math Milestones.

[5]  A. Tarski A Decision Method for Elementary Algebra and Geometry , 2023 .

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

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

[8]  Arnold Schönhage,et al.  A Lower Bound for the Length of Addition Chains , 1975, Theor. Comput. Sci..

[9]  Nao Hirokawa,et al.  Tsukuba Termination Tool , 2003, RTA.

[10]  Nao Hirokawa,et al.  Approximating Dependency Graphs without using Tree Automata Techniques , 2003 .

[11]  Cliff B. Jones,et al.  An Early Program Proof by Alan Turing , 1984, Annals of the History of Computing.

[12]  Eric Deplagne Sequent Calculus Viewed Modulo , 2000 .

[13]  Salvador Lucas,et al.  mu-term: A Tool for Proving Termination of Context-Sensitive Rewriting , 2004, RTA.

[14]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[15]  Richard J. Lipton,et al.  Addition Chain Methods for the Evaluation of Specific Polynomials , 1980, SIAM J. Comput..

[16]  François Monin,et al.  Principles and Practice of Declarative Programming , 1999, Lecture Notes in Computer Science.

[17]  Hélène Touzet,et al.  An Ordinal Calculus for Proving Termination in Term Rewriting , 1996, CAAP.

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

[19]  Jocelyne Rouyer Preuves de terminaison de systèmes de réécriture fondées sur les interprétations polynomiales. Une méthode basée sur le théorème de Sturm , 1991 .

[20]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[21]  Peter de Rooij,et al.  Efficient Exponentiation using Procomputation and Vector Addition Chains , 1994, EUROCRYPT.

[22]  Pierre Lescanne,et al.  Termination of rewrite systems by elementary interpretations , 1992, Formal Aspects of Computing.

[23]  Aart Middeldorp,et al.  Approximating Dependency Graphs Using Tree Automata Techniques , 2001, IJCAR.

[24]  Salvador Lucas,et al.  Simple termination of context-sensitive rewriting , 2002, RULE '02.

[25]  Claude Marché,et al.  Proving Termination of Rewriting with C i ME , 2003 .

[26]  Cliff B. Jones,et al.  An Early Program Proof by , 1984 .

[27]  Guillaume Bonfante,et al.  Algorithms with polynomial interpretation termination proof , 2001, Journal of Functional Programming.

[28]  Salvador Lucas mu-term : a tool for proving termination of rewriting with replacement restrictions ? , 2004 .

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

[30]  Ju. V. Matijasevic,et al.  ENUMERABLE SETS ARE DIOPHANTINE , 2003 .

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

[32]  Dieter Hofbauer,et al.  Termination Proofs and the Length of Derivations (Preliminary Version) , 1989, RTA.

[33]  Joachim Steinbach Proving Polynomials Positive , 1992, FSTTCS.

[34]  Matthijs J. Coster,et al.  Addition Chain Heuristics , 1989, CRYPTO.

[35]  Srecko Brlek,et al.  Addition Chains Using Continued Fractions , 1989, J. Algorithms.

[36]  Philippe Codognet,et al.  Compiling Constraints in clp(FD) , 1996, J. Log. Program..

[37]  Hélène Kirchner,et al.  System Presentation -- CARIBOO: An induction based proof tool for termination with strategies , 2002, PPDP '02.

[38]  Hans Zantema Minimizing Sums of Addition Chains , 1991, J. Algorithms.

[39]  Nachum Dershowitz,et al.  Trees, Ordinals and Termination , 1993, TAPSOFT.

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

[41]  Jörg Sauerbrey,et al.  Resource Requirements for the Application of Addition Chains in Modulo Exponentiation , 1992, EUROCRYPT.

[42]  Pierre Lescanne,et al.  Termination of Rewriting Systems by Polynomial Interpretations and Its Implementation , 1987, Sci. Comput. Program..

[43]  S. Falke,et al.  AProVE : A System for Proving Termination , 2003 .

[44]  Bruno Courcelle,et al.  Recursive Applicative Program Schemes , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[45]  Peter J. Downey,et al.  Computing Sequences with Addition Chains , 1981, SIAM J. Comput..

[46]  Enno Ohlebusch,et al.  Modular Termination Proofs for Rewriting Using Dependency Pairs , 2002, J. Symb. Comput..

[47]  A. M. Turing,et al.  Checking a large routine , 1989 .

[48]  Pierre Lescanne Termination of Rewrite Systems by Elementary Interpretations , 1992, ALP.

[49]  J. Urgen Giesl Generating Polynomial Orderings for Termination Proofs ? , 1995 .

[50]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[51]  Mahesh Viswanathan,et al.  Testing Extended Regular Language Membership Incrementally by Rewriting , 2003, RTA.

[52]  Hoon Hong,et al.  Testing Positiveness of Polynomials , 1998, Journal of Automated Reasoning.

[53]  Jorge Olivos On Vectorial Addition Chains , 1981, J. Algorithms.

[54]  J. Berstel,et al.  Efficient computation of addition chains , 1994, Journal de Théorie des Nombres de Bordeaux.