Skip to main content

Finding Lexicographic Orders for Termination Proofs in Isabelle/HOL

  • Conference paper
Theorem Proving in Higher Order Logics (TPHOLs 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4732))

Included in the following conference series:

Abstract

We present a simple method to formally prove termination of recursive functions by searching for lexicographic combinations of size measures. Despite its simplicity, the method turns out to be powerful enough to solve a large majority of termination problems encountered in daily theorem proving practice.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Archive of Formal Proofs, http://afp.sourceforge.net/

  2. Abel, A.: foetus – termination checker for simple functional programs. Programming Lab. Report (1998)

    Google Scholar 

  3. Abel, A., Altenkirch, T.: A predicative analysis of structural recursion. J. Functional Programming 12(1), 1–41 (2002)

    MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  5. Barthe, G., Forest, J., Pichardie, D., Rusu, V.: Defining and reasoning about recursive functions: a practical tool for the Coq proof assistant. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Berghofer, S., Wenzel, M.: Inductive datatypes in HOL - lessons learned in formal-logic engineering. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 19–36. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  7. Gordon, M., Melham, T. (eds.): Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  8. Harrison, J.: The HOL Light theorem prover, http://www.cl.cam.ac.uk/users/jrh/hol-light

  9. Homeier, P.V., Martin, D.F.: Mechanical verification of total correctness through diversion verification conditions. In: Grundy, J., Newey, M. (eds.) Theorem Proving in Higher Order Logics. LNCS, vol. 1479, pp. 189–206. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach, June 2000. Kluwer Academic Publishers, Dordrecht (2000)

    Google Scholar 

  11. Krauss, A.: Partial recursive functions in higher-order logic. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 589–603. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Krauss, A.: Certified size-change termination. In: Pfenning, F. (ed.) CADE-21. LNCS, vol. 4603, pp. 460–476. Springer, Heidelberg (to appear, 2007)

    Google Scholar 

  13. Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 81–92. ACM Press, New York (2001)

    Google Scholar 

  14. Manolios, P., Vroon, D.: Termination analysis with calling context graphs. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 401–414. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  15. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  16. Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) Automated Deduction - CADE-11. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  17. Pandya, P., Joseph, M.: A Structure-directed Total Correctness Proof Rule for Recursive Procedure Calls. The Computer Journal 29(6), 531–537 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  18. Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, New York (1994)

    MATH  Google Scholar 

  19. Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 239–251. Springer, Heidelberg (2004)

    Google Scholar 

  20. Slind, K.: Function definition in Higher-Order Logic. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 381–397. Springer, Heidelberg (1996)

    Google Scholar 

  21. Slind, K.: Reasoning About Terminating Functional Programs. PhD thesis, Institut für Informatik, TU München (1999)

    Google Scholar 

  22. Walther, C.: On proving the termination of algorithms by machine. Artif. Intell. 71(1), 101–157 (1994)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Klaus Schneider Jens Brandt

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bulwahn, L., Krauss, A., Nipkow, T. (2007). Finding Lexicographic Orders for Termination Proofs in Isabelle/HOL. In: Schneider, K., Brandt, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2007. Lecture Notes in Computer Science, vol 4732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74591-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74591-4_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74590-7

  • Online ISBN: 978-3-540-74591-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics