Extraction in Coq: An Overview

  • Pierre Letouzey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5028)

Abstract

The extraction mechanism of Coq allows one to transform Coq proofs and functions into functional programs. We illustrate the behavior of this tool by reviewing several variants of Coq definitions for Euclidean division, as well as some more advanced examples. We then continue with a more general description of this tool: key features, main examples, strengths, limitations and perspectives.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Berger, U., Berghofer, S., Letouzey, P., Schwichtenberg, H.: Program extraction from normalization proofs. Studia Logica 82 (2005); Special issueGoogle Scholar
  2. 2.
    Cruz-Filipe, L., Letouzey, P.: A Large-Scale Experiment in Executing Extracted Programs. In: 12th Symposium on the Integration of Symbolic Computation and Mechanized Reasoning, Calculemus 2005 (2005)Google Scholar
  3. 3.
    Filliâtre, J.-C., Letouzey, P.: Functors for Proofs and Programs. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986. Springer, Heidelberg (2004)Google Scholar
  4. 4.
    Pichardie, D., Barthe, G., Forest, J., Rusu, V.: Defining and reasoning about recursive functions: a practical tool for the coq proof assistant. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945. Springer, Heidelberg (2006)Google Scholar
  5. 5.
    Lee, O., Yi, K.: Proofs about a folklore let-polymorphic type inference algorithm. ACM Transactions on Programming Languages and Systems 20(4), 707–723 (1998)CrossRefGoogle Scholar
  6. 6.
    Leroy, X.: Formal certification of a compiler back-end, or: programming a compiler with a proof assistant. In: 33rd symposium Principles of Programming Languages, pp. 42–54. ACM Press, New York (2006)Google Scholar
  7. 7.
    Letouzey, P.: A New Extraction for Coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Letouzey, P.: Programmation fonctionnelle certifiée – L’extraction de programmes dans l’assistant Coq. PhD thesis, Université Paris-Sud (July 2004), http://www.pps.jussieu.fr/~letouzey/download/these_letouzey_English.ps.gz
  9. 9.
    Parent, C.: Synthèse de preuves de programmes dans le Calcul des Constructions Inductives. thèse d’université, École Normale Supérieure de Lyon (January 1995)Google Scholar
  10. 10.
    Sozeau, M.: Program-ing Finger Trees in Coq. In: ICFP 2007, pp. 13–24. ACM Press (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Pierre Letouzey
    • 1
  1. 1.Laboratoire PPSUniversité Paris Diderot - Paris 7Paris Cedex 13France

Personalised recommendations