Program extraction in a Logical Framework setting

  • Penny Anderson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 822)


This paper demonstrates a method of extracting programs from formal deductions represented in the Edinburgh Logical Framework, using the Elf programming language. Deductive systems are given for the extraction of simple types from formulas of first-order arithmetic and of λ-calculus terms from natural deduction proofs. These systems are easily encoded in Elf, yielding an implementation of extraction that corresponds to modified realizability. Because extraction is itself implemented as a set of formal deductive systems, some of its correctness properties can be partially represented and mechanically checked in the Elf language.


Logic Programming Deductive System Natural Deduction Logical Framework Object Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Penny Anderson. Program Derivation by Proof Transformation. PhD thesis, Department of Computer Science, Carnegie Mellon University, October 1993. Available as Technical Report CMU-CS-93-206.Google Scholar
  2. 2.
    David A. Basin and Robert L. Constable. Metalogical frameworks. In Gérard Huet and Gordon Plotkin, editors, Logical Environments, pages 1–29. Cambridge University Press, 1993. Also available as Max-Planck-Institut für Informatik technical report MPI-I-92-205.Google Scholar
  3. 3.
    Robert L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System Prentice-Hall, Englewood Cliffs, New Jersey, 1986.Google Scholar
  4. 4.
    Joëlle Despeyroux. Proof of translation in natural semantics. In A. R. Meyer, editor, Symposium on Logic in Computer Science, pages 193–205, Cambridge, Massachusetts, June 1986. IEEE Computer Society Press.Google Scholar
  5. 5.
    Gilles Dowek, Amy Felty, Hugo Herbelin, Gérard Huet, Christine Paulin-Mohring, and Benjamin Werner. The Coq proof assistant user's guide. Rapport Techniques 134, INRIA, Rocquencourt, France, December 1991. Version 5.6.Google Scholar
  6. 6.
    Amy Felty. Implementing tactics and tacticals in a higher-order logic programming language. Journal of Automated Reasoning, 11:43–81, 1993.Google Scholar
  7. 7.
    John Hannan. Investigating a Proof-Theoretic Meta-Language for Functional Programs. PhD thesis, University of Pennsylvania, January 1991. Available as MS-CIS-91-09.Google Scholar
  8. 8.
    John Hannan and Dale Miller. A meta-logic for functional programming. In H. Abramson and M. Rogers, editors, Meta-Programming in Logic Programming, pages 453–476. MIT Press, 1989.Google Scholar
  9. 9.
    John Hannan and Frank Pfenning. Compiler verification in LF. In Andre Scedrov, editor, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 407–418, Santa Cruz, California, June 1992. IEEE Computer Society Press.Google Scholar
  10. 10.
    Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. Journal of the Association for Computing Machinery, 40(1):143–184, January 1993.Google Scholar
  11. 11.
    Susumu Hayashi. An introduction to PX. In Gerard Huet, editor, Logical Foundations of Functional Programming. Addison-Wesley, 1990.Google Scholar
  12. 12.
    Lena Magnusson. The new implementation of ALF. In B. Nordström, K. Petersson, and G. Plotkin, editors, Proceedings of the 1992 Workshop on Types for Proofs and Programs, pages 265–282, Båstad, Sweden, June 1992. University of Göteborg.Google Scholar
  13. 13.
    Spiro Michaylov and Frank Pfenning. Natural semantics and some of its metatheory in Elf. In L.-H. Eriksson, L. Hallnäs, and P. Schroeder-Heister, editors, Proceedings of the Second International Workshop on Extensions of Logic Programming, pages 299–344, Stockholm, Sweden, January 1991. Springer-Verlag LNAI 596.Google Scholar
  14. 14.
    Chetan Murthy. Extracting Constructive Content from Classical Proofs. PhD thesis, Cornell University, August 1990.Google Scholar
  15. 15.
    Christine Paulin and Benjamin Werner. Extracting and executing programs developed in the inductive constructions system: a progress report. In G. Huet and G. Plotkin, editors, Proceedings of the First Workshop on Logical Frameworks, pages 377–390. Preliminary Version, May 1990.Google Scholar
  16. 16.
    Christine Paulin-Mohring. Extracting F ω programs from proofs in the calculus of constructions. In Sixteenth Annual Symposium on Principles of Programming Languages, pages 89–104. ACM Press, January 1989.Google Scholar
  17. 17.
    Frank Pfenning. On the undecidability of partial polymorphic type reconstruction. Fundamenta Informaticae, 1997 To appear. Preliminary version available as Technical Report CMU-CS-92-105, School of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, January 1992.Google Scholar
  18. 18.
    Frank Pfenning. Logic programming in the LF logical framework. In Gérard Huet and Gordon Plotkin, editors, Logical Frameworks, pages 149–181. Cambridge University Press, 1991.Google Scholar
  19. 19.
    Frank Pfenning and Ekkehard Rohwedder. Implementing the meta-theory of deductive systems. In D. Kapur, editor, Proceedings of the 11th International Conference on Automated Deduction, pages 537–551, Saratoga Springs, New York, June 1992. Springer-Verlag LNAI 607.Google Scholar
  20. 20.
    Dag Prawitz. Ideas and results in proof theory. In J. E. Fenstad, editor, Proceedings of the Second Scandinavian Logic Symposium, pages 235–307, Amsterdam, London, 1971. North-Holland Publishing Co.Google Scholar
  21. 21.
    Christophe Raffalli. Machine deduction. To appear in the Proceedings of the Workshop on Types for Proofs and Programs, Nijmegen, The Netherlands, May 1993.Google Scholar
  22. 22.
    James T. Sasaki. Extracting Efficient Code from Constructive Proofs. PhD thesis, Cornell University, May 1986. Available as Technical Report TR 86-757.Google Scholar
  23. 23.
    Helmut Schwichtenberg. On Martin-Löf 's theory of types. In Atti Degli Incontri di Logica Mathematica, pages 299–325. Dipartimento di Matematica, Università di Siena, 1982.Google Scholar
  24. 24.
    Helmut Schwichtenberg. A normal form for natural deductions in a type theory with realizing terms. In Ettore Casari et al., editors, Atti del Congresso Logica e Filosfia della Scienza, oggi. San Gimignano, December 7–11, 1983, pages 95–138, Bologna, Italy, 1985. CLUEB.Google Scholar
  25. 25.
    A. S. Troelstra and D. van Dalen. Constructivism in Mathematics, volume 121 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Penny Anderson
    • 1
  1. 1.Unité de Recherche de Sophia-AntipolisINRIASophia-Antipolis CedexFrance

Personalised recommendations