Skip to main content

Specification and Verification of a Formal System for Structurally Recursive Functions

  • Conference paper
  • First Online:
Types for Proofs and Programs (TYPES 1999)

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

Included in the following conference series:

Abstract

A type theoretic programming language is introduced that is based on lambda calculus with coproducts, products and inductive types, and additionally allows the definition of recursive functions in the way that is common in most functional programming languages. A formal system is presented that checks whether such a definition is structurally recursive and a soundness theorem is shown for this system. Thus all functions passing this check are ensured to terminate on all inputs. For the moment only non-mutual recursive functions are considered.

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. Andreas Abel and Thorsten_Altenkirch. A predicative analysis of structural recursion. Submitted to the Journal of Functional Programming, December 1999.

    Google Scholar 

  2. Andreas Abel. foetus-termination checker for simple functional programs. http://www.informatik.uni-muenchen.de/~abel/foetus/, 1998.

  3. Andreas Abel. A semantic analysis of structural recursion. Master’s thesis, Ludwig-Maximilians-University Munich, 1999. http://www.informatik.uni-muenchen.de/~abel/publications/.

    Google Scholar 

  4. Frédéric Blanqui, Jean-Pierre Jouannaud, and Mitsuhiro Okada. Inductive data type systems. To appear in Theoretical Computer Science, 2000.

    Google Scholar 

  5. Ulrich Berger and Helmut Schwichtenberg. Program Development by Proof Transformation. Talk at Marktoberdorf, draft available under http://www.mathematik.uni-muenchen.de/~schwicht/, 1993.

  6. Thierry Coquand. Pattern matching with dependent types. WWW, 1992.

    Google Scholar 

  7. Catarina Coquand. Agda home page. http://www.cs.chalmers.se/~catarina/agda/, 1999.

  8. Eduardo Gimenéz. Codifying guarded definitions with recursive schemes. In Peter Dybjer, Bengt Nordström, and Jan Smith, editors, Types for Proofs and Programs, International Workshop TYPES’94, Bøastad, Sweden, June 6-10, 1994, Selected Papers, volume 996 of LNCS, pages 39–59. Springer, 1995.

    Google Scholar 

  9. Robert Harper, Furio Honsell, and Gordon Plotkin. A Framework for Defining Logics. Journal of the Association of Computing Machinery, 40(1):143–184, January 1993.

    Article  MathSciNet  MATH  Google Scholar 

  10. J. P. Jouannaud and M. Okada. Abstract data type systems. Theoretical Computer Science, 173, 1997.

    Google Scholar 

  11. David McAllester and Kostas Arkoudas. Walther Recursion. In M. A. McRobbie and J. K. Slaney, editors, 13th International Conference on Automated Deduction, New Brunswick, NJ, USA, July 30-August 3, 1996, Proceedings, volume 1104 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  12. Per Martin-Löf. Intuitionistic Type Theory. Bibliopolis, 1984.

    Google Scholar 

  13. Brigitte Pientka and Frank Pfenning. Termination and Reduction Checking in the Logical Framework. Workshop on Automation of Proofs by Mathematical Induction, CADE-17, Pittsburgh, PA, USA, June 2000.

    Google Scholar 

  14. Frank Pfenning and Carsten Schürmann. Twelf user’s guide. Technical report, Carnegie Mellon University, 1998.

    Google Scholar 

  15. A.J. Telford and D.A. Turner. Ensuring Termination in ESFP. Submitted to BCTCS 15 proceedings issue of Journal of Universal Computer Science, 1999.

    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

Abel, A. (2000). Specification and Verification of a Formal System for Structurally Recursive Functions. In: Coquand, T., Dybjer, P., Nordström, B., Smith, J. (eds) Types for Proofs and Programs. TYPES 1999. Lecture Notes in Computer Science, vol 1956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44557-9_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-44557-9_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41517-6

  • Online ISBN: 978-3-540-44557-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics