Skip to main content
Log in

Mechanically Proving Termination Using Polynomial Interpretations

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arts, T. and Giesl, J.: Termination of term rewriting using dependency pairs, Theor. Comp. Sci. 236 (2000), 133-178.

    Article  MATH  MathSciNet  Google Scholar 

  2. Baader, F. and Nipkow, T.: Term Rewriting and All That, Cambridge University Press, 1998.

  3. Ben Cherifa, A. and Lescanne, P.: Termination of rewriting systems by polynomial interpretations and its implementation, Sci. Comput. Program. 9 (1987), 137–159.

    Article  MATH  MathSciNet  Google Scholar 

  4. Bergeron, F., Berstel, J. and Brlek, S.: Efficient computation of addition chains, Journal de théorie des nombres de Bordeaux 6 (1994), 21–38.

    MATH  MathSciNet  Google Scholar 

  5. Bergeron, F., Berstel, J., Brlek, S. and Duboc, C.: Addition chains using continued fractions, J. Algorithms 10(3) (1989), 403–412.

    Article  MATH  MathSciNet  Google Scholar 

  6. Bleichenbacher, D. and Flammenkamp, A.: An Efficient Algorithm for Computing Shortest Addition Chains, http://wwwhomes.uni-bielefeld.de/achim/addition_chain.html, 1997.

  7. Bonfante, G., Cichon, A., Marion, J.-Y. and Touzet, H.: Algorithms with polynomial interpretation termination proof, J. Funct. Program. 11(1) (2001), 33–53.

    Article  MATH  MathSciNet  Google Scholar 

  8. Bos, J. and Coster, M.: Addition Chain Heuristics, in G. Brassard (ed.), Advances in Cryptology – Proc. Crypto '89, Vol. 435 of Lecture Notes in Computer Science, Santa Barbara, California, USA, pp. 400–407, 1989.

  9. Cichon, E. A. and Touzet:, H.: An Ordinal Calculus for Proving Termination in Term Rewriting, in H. Kirchner (ed.), Proceedings 21st International Colloquium on Trees in Algebra and Programming, Vol. 1059 of Lecture Notes in Computer Science, Linköping (Sweden), pp. 226–240, 1996.

  10. Codognet, P. and Diaz, D.: Compiling constraints in clp(FD), J. Log. Program. 27(3) (1996), 185–226.

    Article  MATH  MathSciNet  Google Scholar 

  11. Contejean, E., Marché, C. Monate, B. and Urbain, X.: Proving Termination of Rewriting with CiME, in A. Rubio (ed.), Extended Abstracts of the 6th International Workshop on Termination, WST'03, 2003, pp. 71-73, http://cime.lri.fr.

  12. Contejean, E., Marché, C., Tomás, A.-P. and Urbain, X.: Mechanically proving termination using polynomial interpretations, Research Report 1382, LRI, 2004.

  13. Courcelle, B.: Recursive Applicative Program Schemes, in J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, Vol. B., North-Holland, Chapt. 9, 1990, pp. 459–492.

  14. de Rooij, P.: Efficient exponentiation using precomputation and vector addition chains, in A. D. Santis (ed.), Advances in Cryptology – EUROCRYPT '94, Vol. 950 of Lecture Notes in Computer Science, Perugia, Italy, 1995, pp. 389–399.

  15. Deplagne, É.: Sequent Calculus Viewed Modulo, in Catherine Pilière (ed.), Proceedings of the Fifth ESSLLI Student Session, University of Birmingham, 2000, pp. 66–76.

  16. Dershowitz, N.: Orderings for term rewriting systems, Theor. Comp. Sci. 17(3) (1982), 279–301.

    Article  MATH  MathSciNet  Google Scholar 

  17. Dershowitz, N.: Trees, Ordinals, and Termination, in M. C. Gaudel and J.-P. Jouannaud (eds.), 4th International Joint Conference on Theory and Practice of Software Development, Vol. 668 of Lecture Notes in Computer Science, Orsay, France, pp. 243–250.

  18. Dershowitz, N. and Jouannaud, J.-P.: Rewrite Systems, in J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, Vol. B., North-Holland, 1990, pp. 243–320.

  19. Dobkin, D. and Lipton, R. J.: Addition chain methods for the evaluation of specific polynomials, SIAM J. Comput. 9(1) (1980), 121–125.

    Article  MATH  MathSciNet  Google Scholar 

  20. Downey, P. J., Leong, B. L. and Sethi, R.: Computing sequences with addition chains, SIAM J. Comput. 10(3) (1981), 638–646.

    Article  MATH  MathSciNet  Google Scholar 

  21. Fissore, O., Gnaedig, I. and Kirchner, H.: CARIBOO: An Induction Based Proof Tool for Termination with Strategies, in Proc. Fourth International Conference on Principles and Practice of Declarative Programming (PPDP), Pittsburgh, USA, 2002, pp. 62–73, http://www.loria.fr/~fissore/CARIBOO.

  22. Giesl, J.: Generating Polynomial Orderings for Termination Proofs, in J. Hsiang (ed.), 6th International Conference on Rewriting Techniques and Applications, Vol. 914 of Lecture Notes in Computer Science, Kaiserslautern, Germany, 1995, pp. 426–431.

  23. Giesl, J., Arts, T. and Ohlebusch, E.: Modular termination proofs for rewriting using dependency Pairs, J. Symb. Comput. 34(2) (2002), 21–58.

    Article  MathSciNet  Google Scholar 

  24. Giesl, J., Thiemann, R., Schneider-Kamp, P. and Falke, S.: AProVE: A System for Proving Termination, in A. Rubio (ed.), Extended Abstracts of the 6th International Workshop on Termination, WST'03, 2003, pp. 68–70, http://www-i2.informatik.rwth-aachen.de/AProVE.

  25. Gramlich, B. and Lucas, S.: Simple Termination of Context-Sensitive Rewriting, in B. Fischer and E. Visser (eds.), in Proc. 3rd ACM Sigplan Workshop on Rule-Based Programming, RULE'02, Pittsburgh, USA, 2002, pp. 29–41.

  26. Hirokawa, N. and Middeldorp, A.: Approximating Dependency Graphs without using Tree Automata Techniques, in A. Rubio (ed.), Extended Abstracts of the 6th International Workshop on Termination, WST'03, 2003, pp. 8–10, Technical Report DSIC II/15/03, Universidad Politécnica de Valencia, Spain.

  27. Hirokawa, N. and Middeldorp, A.: Tsukuba Termination Tool, in R. Nieuwenhuis (ed.), 14th International Conference on Rewriting Techniques and Applications, Vol. 2706 of Lecture Notes in Computer Science, Valencia, Spain, 2003, pp. 311–320.

  28. Hofbauer, D. and Lautermann, C.: Termination Proofs and the Length of Derivations, in N. Dershowitz (ed.), Rewriting Techniques and Applications, Vol. 355 of Lecture Notes in Computer Science, Chapel Hill, USA, 1989, pp. 167–177.

  29. Hong, H. and Jakuš, D.: Testing positiveness of polynomials, J. Autom. Reason. 21(1) (1998), 23–38.

    Article  Google Scholar 

  30. Jaffar, J. and Lassez, J.-L.: Constraint Logic Programming, in Proceedings of the 14th ACM Conference on Principles of Programming Languages, Munich, Germany, 1987, pp. 111–119.

  31. Klop, J. W.: Term rewriting systems, in S. Abramsky, D. Gabbay, and T. Maibaum (eds.), Handbook of Logic in Computer Science, Vol. 2., Clarendon, 1992, pp. 1–116.

  32. Knuth, D. E.: The art of computer programming, 2nd edn, Vol. 2., Addison-Wesley, 1981.

  33. Kusakari, K., Nakamura, M. and Toyama, Y.: Argument Filtering Transformation, in G. Nadathur (ed.), Principles and Practice of Declarative Programming, International Conference PPDP'99, Vol. 1702 of Lecture Notes in Computer Science, Paris, 1999, pp. 47–61.

  34. Lang, S.: Algebra, 3rd edn, Addison-Wesley, 1993.

  35. Lankford, D. S.: On proving term rewriting systems are Noetherian, Technical Report MTP-3, Mathematics Department, Louisiana Tech. Univ., 1979. Available at http://perso.ens-lyon.fr/pierre.lescanne/not_accessible.html.

  36. Lescanne, P.: Elementary interpretations in proofs of termination, Form. Asp. Comput. 7 (1995), 77–90.

    Article  MATH  Google Scholar 

  37. Lucas, S.: Termination of (Canonical) Context-Sensitive Rewriting, in S. Tison (ed.), 13th International Conference on Rewriting Techniques and Applications, Vol. 2378 of Lecture Notes in Computer Science, Copenhagen, Denmark, 2002, pp. 296–310.

  38. Lucas, S.: 2003, Mu-term, A Tool for Proving Termination of Rewriting with Replacement Restrictions, 2002, Available at http://www.dsic.upv.es/~slucas/csr/termination/muterm/.

  39. Manna, Z. and Ness, S.: On the termination of Markov algorithms, in Proc. Third Hawaii International Conference on Systems Sciences, Honolulu, HI, 1970, pp. 789–792. http://perso.ens-lyon.fr/pierre.lescanne/not_accessible.html.

  40. Matiyasevich, Y. V.: Enumerable sets are diophantine, Sov. Math. (Dokladi) 11(2) (1970), 354–357.

    MATH  Google Scholar 

  41. Matiyasevich, Y. V.: Hilbert's Tenth Problem, MIT Press, 1993.

  42. Middeldorp, A.: Approximating Dependency Graphs using Tree Automata Techniques, in R. Goré, A. Leitsch, and T. Nipkow (eds.), International Joint Conference on Automated Reasoning, Vol. 2083 of Lecture Notes in Artificial Intelligence, Siena, Italy, 2001, pp. 593–610.

  43. Morris, F. L. and Jones, C. B.: An early program proof by Alan Turing, Ann. Hist. Comput. 6(2) (1984), 139–143.

    Article  MATH  MathSciNet  Google Scholar 

  44. Olivos, J.: On vectorial addition chains, J. Algorithms 2(1) (1981), 13–21.

    Article  MATH  MathSciNet  Google Scholar 

  45. Papadimitriou, C. and Knuth, D.: Duality in addition chains, Bulletin of the EACTS 13 (1981), 2–3.

    Google Scholar 

  46. Pippenger, N.: On the evaluation of powers and monomials, SIAM J. Comput. 9(2) (1980), 230–250.

    Article  MATH  MathSciNet  Google Scholar 

  47. Rosu, G. and Viswanathan, M.: Testing Extended Regular Language Membership Incrementally by Rewriting, in R. Nieuwenhuis (ed.), 14th International Conference on Rewriting Techniques and Applications, Vol. 2706 of Lecture Notes in Computer Science, 2003, Valencia, Spain.

  48. Rouyer, J.: A method to decide whether a multivariate integral polynomial admits roots in a product of closed intervals of R, Research Report 91-R-183, Centre de Recherche en Informatique de Nancy, 1991.

  49. Rouyer, J.: 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, R.A.I.R.O. 25(2) (1991), 157–169.

  50. Sauerbrey, J. and Dietel, A.: Resource Requirements for the Application of Addition Chains in Modulo Exponentiation, in R. Rueppel (ed.), Advances in Cryptology – EUROCRYPT '92, Vol. 658 of Lecture Notes in Computer Science, Balatonfüred, Hungary, 1993, pp. 174–182.

  51. Schonhage, A.: A lower bound for the length of addition chains, Theor. Comp. Sci. 1(1) (1975), 1–12.

    Article  MathSciNet  Google Scholar 

  52. Steinbach, J.: Proving Polynomials Positive, in R. Shyamasundar (ed.), Foundations of Software Technology and Theoretical Computer Science, Vol. 652 of Lecture Notes in Computer Science, New Delhi, India, 1992, pp. 191–202.

  53. Terese: in M. Bezem, J. W. Klop, and R. de Vrijer, (eds.), 2003, Term Rewriting Systems, Vol. 55 of Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 1992, http://www.cs.vu.nl/~terese/.

  54. Tarski, A.: A Decision Method for Elementary Algebra and Geometry, University of California Press, Berkeley, CA, 1951.

    MATH  Google Scholar 

  55. Turing, A. M.: Checking a large routine, in Report of a Conference on High Speed Automatic Calculing Machines, Cambridge, 1949, pp. 67–69.

  56. Urbain, X.: Modular and incremental automated termination proofs, J. Autom. Reason. 32, (2004) 315–355.

    Article  MATH  MathSciNet  Google Scholar 

  57. Zantema, H.: Minimizing Sums of Addition Chains, J. Algorithms 12 (1991), 281–307.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Evelyne Contejean.

Additional information

This research was supported in part by the EWG CCL II, the cooperation CNRS-ICCTI, projects 4312, 5518 and 6777, and the “ATIP CiME du département STIC du CNRS”.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Contejean, E., Marché, C., Tomás, A.P. et al. Mechanically Proving Termination Using Polynomial Interpretations. J Autom Reasoning 34, 325–363 (2005). https://doi.org/10.1007/s10817-005-9022-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-005-9022-x

Key words

Navigation