Skip to main content

Extracting General Recursive Program Schemes in Nuprl’s Type Theory

  • Conference paper
  • First Online:
Logic Based Program Synthesis and Transformation (LOPSTR 2001)

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

  • 164 Accesses

Abstract

Nuprl supports program synthesis by extracting programs from proofs. In this paper we describe the extraction of “efficient” recursion schemes from proofs of well-founded induction principles. This is part of a larger methodology; when these well-founded induction principles are used in proofs, the structure of the program extracted from the proof is determined by the recursion scheme inhabiting the induction principle. Our development is based on Paulson’s paper Constructing recursion operators in intuitionistic type theory, but we specifically address two possibilities raised in the conclusion of his paper: the elimination of non-computational content from the recursion schemes themselves and, the use of the Y combinator to allow the recursion schemes to be extracted directly from the proofs of well-founded relations.

This research was supported by NSF CCR-9985239

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. Stuart Allen. A Non-Type-Theoretic Semantics for Type-Theoretic Language. PhD thesis, Cornell University, Ithaca, NY, 1987. TR 87-866.

    Google Scholar 

  2. Stuart Allen. NuprlPrimitives-Explanations of Nuprl Primitives and Conventions. Computer Science Department, Cornell University, Ithaca, NY. www.cs.cornell.edu/Info/People/sfa/Nuprl/NuprlPrimitives/Welcome.html, 2001.

    Google Scholar 

  3. T. Altenkirch, V. Gaspes, B. Nordström, and B. von Sydow. A user’s guide to ALF. Computer Science Department, Chalmers University of Technology, Göteborg, Sweden. Manuscript available at www.cs.chalmers.se/ComputingScience/Research/Logic/alf/guide.html, 1994.

    Google Scholar 

  4. Antonia Balaa and Yves Bertot. Fix-point equations for well-founded recursion in type theory. In Theorem Proving in Higher Order Logics, volume 1869 of Lecture Notes in Computer Science, pages 1–16. Springer, 2000.

    Chapter  Google Scholar 

  5. Bruno Barras, Samuel Boutin, Cristina Cornes, Judicael Courant, Jean-Christophe Filliatre, Eduardo Gimenez, Hugo Herbelin, Gerard Huet, Cesar Munoz, Chetan Murthy, Catherine Parent, Christine Paulin-Mohring, Amokrane Saibi, and Benjamin Werner. The Coq Proof Assistant Reference Manual: Version 6.1. Technical Report RT-0203, INRIA, Rocquencourt, France, 1997.

    Google Scholar 

  6. Ana Bove. Simple general recursion in type theory. Nordic Journal of Computing, 8(1):22–42, 2001.

    MATH  MathSciNet  Google Scholar 

  7. Ana Bove and Venanzio Capretta. Nested general recursion and partiality in type theory. In Theorem Proving in Higher Order Logics, volume 2152 of Lecture Notes in Computer Science, pages 121–135, 2001.

    Chapter  Google Scholar 

  8. James Caldwell. Moving proofs-as-programs into practice. In Proceedings, 12th IEEE International Conference Automated Software Engineering, pages 10–17. IEEE Computer Society, 1997.

    Google Scholar 

  9. James Caldwell. Formal methods technology transfer: A view from NASA. Formal Methods in System Design, 12(2):125–137, 1998.

    Article  Google Scholar 

  10. James Caldwell. Intuitionistic tableau extracted. In Automated Reasoning with Analytic Tableaux and Related Methods, Lecture Notes in Artifical Intelligence, Saratoga Springs, NY, June 1999. Springer.

    Google Scholar 

  11. Robert L. Constable and et al. Implementing Mathematics with the Nuprl Development System. Prentice-Hall, N.J., 1986.

    Google Scholar 

  12. J. H. Gallier. Logic for Computer Science: Founations of Automatic Theorem Proving. Harper and Row, 1986.

    Google Scholar 

  13. Didier Galmiche. Program development in constructive type theory. Theoretical Computer Science, 94:237–259, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  14. Herman Geuvers, Erik Poll, and Jan Zwanenburg. Safe proof checking in type theory with y. In F. Flum and M. Rodriguez-Artalejo, editors, Computer Science Logic (CSL’99), pages 439–452, September 1999.

    Google Scholar 

  15. D. Howe. Automating Reasoning in an Implementation of Constructive Type Theory. PhD thesis, Cornell University, Ithaca, NY, April 1988.

    Google Scholar 

  16. Douglas J. Howe. Reasoning about functional programs in Nuprl. In Functional Programming, Concurrency, Simulation and Automated Reasoning, volume 693 of Lecture Notes in Computer Science, Berlin, 1993. Springer Verlag.

    Google Scholar 

  17. Paul Jackson. The Nuprl proof developemnt system, version 4.2 reference manual and user’s guide. Computer Science Department, Cornell University, Ithaca, N.Y. Manuscript available at http://www.cs.cornell.edu/Info/Projects/NuPrl/manual/it.html, July 1995.

    Google Scholar 

  18. Paul B. Jackson. Enhancing the Nuprl proof development system and applying it to computational abstract algebra. PhD thesis, Cornell University, 1995.

    Google Scholar 

  19. Zohar Manna and Richard Waldinger. The Logical Basis for Computer Programming: Volume II: Deductive Systems. Addison Wesley, 1990.

    Google Scholar 

  20. Michel Parigot. Recursive programming with proofs. Theoretical Computer Science, 94:335–356, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  21. L. C. Paulson. Constructing recursion operators in intuitionistic type theory. Journal of Symbolic Computation, 2(4):325–355, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  22. Laurent Théry. A Certified Version of Buchberger’s Algorithm. In H. Kirchner and C. Kirchner, editors, 15th International Conference on Automated Deduction, LNAI 1421, pages 349–364, Lindau, Germany, July 5–July 10, 1998. 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

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Caldwell, J.L. (2002). Extracting General Recursive Program Schemes in Nuprl’s Type Theory. In: Pettorossi, A. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2001. Lecture Notes in Computer Science, vol 2372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45607-4_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-45607-4_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43915-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics