Skip to main content

A New Extraction for Coq

  • 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

We present here a new extraction mechanism for the Coq proof assistant [17]. By extraction, we mean automatic generation of functional code from Coq proofs, in order to produce certified programs. In former versions of Coq, the extraction mechanism suffered several limitations and in particular worked only with a subset of the language. We first discuss difficulties encountered and solutions proposed to remove these limitations. Then we give a proof of correctness for a theoretical model of the new extraction. Finally we describe the actual implementation distributed in Coq version 7.3 and further.

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. Berardi. Pruning simply typed λ-calculi. Journal of Logic and Computation, 6(2), 1996.

    Google Scholar 

  2. L. Boerio. Extending pruning techniques to polymorphic second order λ-calculus. In Proceedings ESOP’94, volume 788. Lecture Notes in Computer Science, 1994.

    Google Scholar 

  3. L. Cruz-Filipe. A constructive formalization of the fundamental theorem of calculus. In Proceedings TYPES’ 2002.

    Google Scholar 

  4. S. Peyton Jones et al. Haskell 98, A Non-strict, Purely Functional Language, 1999. Available at http://haskell.org/.

  5. B. Grégoire and X. Leroy. A compiled implementation of strong reduction. In Proceedings ICFP’2002. To appear.

    Google Scholar 

  6. F. Wiedijk H. Geuvers, R. Pollack and J. Zwanenburg. The algebraic hierarchy of the fta project. Journal of Symbolic Computation, Special Issue on the Integration of Automated Reasoning and Computer Algebra Systems, pages 271–286, 2002.

    Google Scholar 

  7. S. Hayashi and H. Nakano. Px, a computational logic. Technical report, Research Institute for Mathematical Sciences, Kyoto University, 1987.

    Google Scholar 

  8. P. Jackson. The Nuprl Proof Development System, Version 4.1 Reference Manual and User’s Guide. Cornell University, Ithaca, NY, 1994.

    Google Scholar 

  9. R. Kelsey, W. Clinger, and J. Rees (eds.). Revised 5 Report on the Algorithmic Language Scheme, 1998. Available at http://www.scheme.org/.

  10. X. Leroy, J. Vouillon, and D. Doliguez. The Objective Caml system — release 3.04, 2002. Available at http://caml.inria.fr/.

  11. D. Monniaux. Rĺisation mécanisée d’interpréteurs abstraits. Rapport de DEA, Université Paris VII, 1998.

    Google Scholar 

  12. 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, January 1989. ACM.

    Google Scholar 

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

    Google Scholar 

  14. 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 

  15. L. Pottier. Extraction dans le calcul des constructions inductives. In Journées Francophones des Langages Applicatifs, 2001.

    Google Scholar 

  16. P. Severi and N. Szasz. Studies of a theory of specifications with built-in program extraction. Journal of Automated Reasoning, 27(1), 2001.

    Google Scholar 

  17. The Coq Development Team. The Coq Proof Assistant Reference Manual — Version 7.3, May 2002. Available at http://coq.inria.fr/doc-eng.html.

  18. B. Werner. Méta-théorie du Calcul des Constructions Inductives. PhD thesis, Univ. Paris VII, 1994.

    Google Scholar 

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

Letouzey, P. (2003). A New Extraction for Coq. 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_12

Download citation

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

  • 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