Skip to main content

Another Look at Nested Recursion

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

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1869))

Included in the following conference series:

Abstract

Functions specified by nested recursions are difficult to define and reason about. We present several ameliorative techniques that use deduction in a classical higher-order logic. First, we discuss how an apparent circular dependency between the proof of nested termination conditions and the definition of the specified function can be avoided. Second, we propose a method that allows the specified function to be defined in the absence of a termination relation. Finally, we show how our techniques extend to nested program schemes, where a termination relation cannot be found until schematic parameters have been filled in. In each of these techniques, suitable induction theorems are automatically derived.

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. S. Agerholm. LCF examples in HOL. The Computer Journal, 38(2):121–130, July 1995.

    Article  Google Scholar 

  2. Richard Boulton and Konrad Slind. Automatic derivation and application of induction schemes for mutually recursive functions. In Proceedings of the First International Conference on Computational Logic (CL2000), London, UK, July 2000. To appear. Available at http://www.cl.cam.ac.uk/users/kxs/papers/mutual.html.

  3. Ana Bove. Programming in Martin-Löf Type Theory. Unification: A non-trivial Example. Master’s thesis, Chalmers University of Technology, 1999. Licentiate Thesis.

    Google Scholar 

  4. Robert S. Boyer and J Strother Moore. A Computational Logic. Academic Press, 1979.

    Google Scholar 

  5. Robert S. Boyer and J Strother Moore. A Computational Logic Handbook. Academic Press, 1988.

    Google Scholar 

  6. Simon Finn, Mike Fourman, and John Longley. Partial functions in a total setting. Journal of Automated Reasoning, 18(1):85–104, February 1997.

    Article  MATH  Google Scholar 

  7. Juergen Giesl. Termination of nested and mutually recursive algorithms. Journal of Automated Reasoning, 19(1):1–29, August 1997.

    Article  MATH  Google Scholar 

  8. Jürgen Giesl. Automatisierung von Terminieringsbeweisen für rekursiv defininierte Algorithmen. PhD thesis, Technische Hochshule Darmstadt, 1995.

    Google Scholar 

  9. Deepak Kapur and M. Subramaniam. Automating induction over mutually recursive functions. In Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology (AMAST’96), volume 1101 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Chapter  Google Scholar 

  10. Zohar Manna and Richard Waldinger. Deductive synthesis of the unification algorithm. Science of Computer Programming, 1:5–48, 1981.

    Article  MATH  Google Scholar 

  11. Conor McBride. Dependently Typed Functional Programs and their Proofs. PhD thesis, University of Edinburgh, 1999.

    Google Scholar 

  12. Bengt Nordstrom. Terminating general recursion. BIT, 28:605–619, 1988.

    Article  Google Scholar 

  13. S. Owre, J. M. Rushby, N. Shankar, and D.J. Stringer-Calvert. PVS System Guide. SRI Computer Science Laboratory, September 1998. Available at http://pvs.csl.sri.com/manuals.html.

  14. Lawrence Paulson. Verifying the unification algorithm in LCF. Science of Computer Programming, 3:143–170, 1985.

    Article  Google Scholar 

  15. Lawrence Paulson. ML for the working programmer. Cambridge University Press, second edition, 1996.

    Google Scholar 

  16. Joseph Rouyer. Développement d’algorithme d’unification dans le Calcul des Constructions avecs types inductifs. Technical Report 1795, INRIA-Lorraine, November 1992.

    Google Scholar 

  17. Konrad Slind. Function definition in higher order logic. In Theorem Proving in Higher Order Logics, number 1125 in Lecture Notes in Computer Science, Turku, Finland, August 1996. Springer-Verlag.

    Google Scholar 

  18. Konrad Slind. Derivation and use of induction schemes in higher order logic. In Theorem Proving in Higher Order Logics, number 1275 in Lecture Notes in Computer Science, Murrary Hill, New Jersey, USA, August 1997. Springer-Verlag.

    Chapter  Google Scholar 

  19. Konrad Slind. Reasoning about Terminating Functional Programs. PhD thesis, Institut für Informatik, Technische Universität München, 1999. Accessible at http://www.cl.cam.ac.uk/users/kxs/papers.

  20. Konrad Slind. Wellfounded schematic definitions. In David McAllester, editor, Proceedings of the Seventeenth International Conference on Automated Deduction CADE-17, volume 1831, Pittsburgh, Pennsylvania, June 2000. Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Slind, K. (2000). Another Look at Nested Recursion. In: Aagaard, M., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2000. Lecture Notes in Computer Science, vol 1869. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44659-1_31

Download citation

  • DOI: https://doi.org/10.1007/3-540-44659-1_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67863-2

  • Online ISBN: 978-3-540-44659-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics