Skip to main content

Program Extraction in Simply-Typed Higher Order Logic

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

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

Included in the following conference series:

Abstract

Based on a representation of primitive proof objects as λ-terms, which has been built into the theorem prover Isabelle recently, we propose a generic framework for program extraction. We show how this framework can be used to extract functional programs from proofs conducted in a constructive fragment of the object logic Isabelle/HOL. A characteristic feature of our implementation of program extraction is that it produces both a program and a correctness proof. Since the extracted program is available as a function within the logic, its correctness proof can be checked automatically inside Isabelle.

Supported by DFG Graduiertenkolleg Logic in Computer Science, and IST project 29001 TYPES

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. P. Anderson. Program extraction in a logical framework setting. In F. Pfenning, editor, Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning, volume 822 of LNAI, pages 144–158. Springer-Verlag, July 1994.

    Google Scholar 

  2. A. Ayari and D. Basin. A higher-order interpretation of deductive tableau. Journal of Symbolic Computation, 31(5):487–520, May 2001.

    Article  MATH  MathSciNet  Google Scholar 

  3. B. Barras, S. Boutin, C. Cornes, J. Courant, Y. Coscoy, D. Delahaye, D. de Rauglaudre, J.-C. Filliâtre, E. Giménez, H. Herbelin, G. Huet, H. Laulhère, C. Muñoz, C. Murthy, C. Parent-Vigouroux, P. Loiseleur, C. Paulin-Mohring, A. Saïbi, and B. Werner. The Coq proof assistant reference manual — version 7.2. Technical Report 0255, INRIA, February 2002.

    Google Scholar 

  4. G. Bauer and T. Nipkow. The 5 colour theorem in Isabelle/Isar. In V. Carreño, C. Muñoz, and S. Tahar, editors, Theorem Proving in Higher Order Logics, volume 2410 of LNCS, pages 67–82. Springer-Verlag, 2002.

    Chapter  Google Scholar 

  5. H. Benl, U. Berger, H. Schwichtenberg, M. Seisenberger, and W. Zuber. Proof theory at work: Program development in the Minlog system. In W. Bibel and P. Schmitt, editors, Automated Deduction — A Basis for Applications, volume II: Systems and Implementation Techniques of Applied Logic Series, pages 41–71. Kluwer Academic Publishers, Dordrecht, 1998.

    Google Scholar 

  6. U. Berger, W. Buchholz, and H. Schwichtenberg. Refined program extraction from classical proofs. Annals of Pure and Applied Logic, 114:3–25, 2002.

    Article  MATH  MathSciNet  Google Scholar 

  7. U. Berger, H. Schwichtenberg, and M. Seisenberger. The Warshall algorithm and Dickson’s lemma: Two examples of realistic program extraction. Journal of Automated Reasoning, 26:205–221, 2001.

    Article  MATH  MathSciNet  Google Scholar 

  8. S. Berghofer and T. Nipkow. Proof terms for simply typed higher order logic. In J. Harrison and M. Aagaard, editors, Theorem Proving in Higher Order Logics: TPHOLs 2000, volume 1869 of LNCS. Springer-Verlag, 2000.

    Chapter  Google Scholar 

  9. S. Berghofer and T. Nipkow. Executing higher order logic. In P. Callaghan, Z. Luo, J. McKinna, and R. Pollack, editors, Types for Proofs and Programs: TYPES’2000, volume 2277 of LNCS. Springer-Verlag, 2002.

    Chapter  Google Scholar 

  10. M. D. Coen. Interactive program derivation. PhD thesis, Cambridge University, November 1992.

    Google Scholar 

  11. R. L. Constable, S. F. Allen, H. M. Bromley, W. R. Cleaveland, J. F. Cremer, R. W. Harper, D. J. Howe, T. B. Knoblock, N. P. Mendler, P. Panangaden, J. T. Sasaki, and S. F. Smith. Implementing Mathematics with the Nuprl Development System. Prentice-Hall, NJ, 1986.

    Google Scholar 

  12. T. Coquand. Une Théorie des Constructions. PhD thesis, Université Paris 7, January 1985.

    Google Scholar 

  13. M. Fernández and P. Severi. An operational approach to program extraction in the Calculus of Constructions. In International Workshop on Logic Based Program Development and Transformation (LOPSTR’02), LNCS. Springer, 2002.

    Google Scholar 

  14. S. Hayashi and H. Nakano. PX, a Computational Logic. Foundations of Computing. MIT Press, 1988.

    Google Scholar 

  15. S. Kleene. Introduction to Metamathematics. North Holland, 1952.

    Google Scholar 

  16. J. McKinna and R. M. Burstall. Deliverables: A categorical approach to program development in type theory. In A. M. Borzyszkowski and S. Sokolowski, editors, Mathematical Foundations of Computer Science 1993, 18th International Symposium, volume 711 of lncs, pages 32–67, Gdansk, Poland, 30 Aug.–3 Sept. 1993. Springer.

    Google Scholar 

  17. C. Paulin-Mohring. Extracting F ω’s programs from proofs in the Calculus of Constructions. In Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Jan. 1989. ACM.

    Google Scholar 

  18. C. Paulin-Mohring. Extraction de programmes dans le Calcul des Constructions. Thèse d’université, Paris 7, Jan. 1989.

    Google Scholar 

  19. C. Paulin-Mohring and B. Werner. Synthesis of ML programs in the system Coq. Journal of Symbolic Computation, 15:607–640, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  20. F. Pfenning and C. Schürmann. System description: Twelf — a meta-logical framework for deductive systems. In H. Ganzinger, editor, CADE-16, 16th International Conference on Automated Deduction, Trento, Italy, July 7–10, 1999, volume 1632 of Lecture Notes in Computer Science, pages 202–206, 1999.

    Google Scholar 

  21. P. Severi and N. Szasz. Studies of a theory of specifications with built-in program extraction. Journal of Automated Reasoning, 27(1):61–87, July 2001.

    Article  MATH  MathSciNet  Google Scholar 

  22. M. Wenzel. Type classes and overloading in higher-order logic. In E. L. Gunter and A. Felty, editors, Theorem Proving in Higher Order Logics: TPHOLs’97, LNCS 1275, 1997.

    Chapter  Google Scholar 

  23. M. Wenzel. Isabelle/Isar — a versatile environment for human-readable formal proof documents. PhD thesis, Institut für Informatik, TU München, 2002. http://tumb1.biblio.tu-muenchen.de/publ/diss/in/2002/wenzel.html.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berghofer, S. (2003). Program Extraction in Simply-Typed Higher Order Logic. In: Geuvers, H., Wiedijk, F. (eds) Types for Proofs and Programs. TYPES 2002. Lecture Notes in Computer Science, vol 2646. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39185-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-39185-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-14031-3

  • Online ISBN: 978-3-540-39185-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics