Skip to main content
Log in

Program Extraction from Normalization Proofs

  • Published:
Studia Logica Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

This paper describes formalizations of Tait's normalization proof for the simply typed λ-calculus in the proof assistants Minlog, Coq and Isabelle/HOL. From the formal proofs programs are machine-extracted that implement variants of the well-known normalization-by-evaluation algorithm. The case study is used to test and compare the program extraction machineries of the three proof assistants in a non-trivial setting.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Altenkirch, T., ‘Proving strong normalization of CC by modifying realizability semantics’, in H. Barendregt and T. Nipkow, (eds.), Types for Proofs and Programs. International Workshop TYPES '93. Nijmegen, The Netherlands, May 1993, volume 806 of LNCS Springer Verlag, 1994, pp. 3–18.

  2. Altenkirch, T., P. Dybjer, M. Hofmann, and P. Scott, ‘Normalization by evaluation for typed lambda calculus with coproducts’, in LICS '01: Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society, Washington, DC, USA, 2001, p. 303.

  3. Altenkirch, T., M. Hofmann, and T. Streicher, ‘Reduction-free normalisation for a polymorphic system’, in 11th Annual IEEE Symposium on Logic in Computer Science, 1996, pp. 98–106.

  4. Berger, U., ‘Program extraction from normalization proofs’, in M. Bezem, and J. F. Groote, (eds.), Typed Lambda Calculi and Applications, volume 664 of LNCS, Springer Verlag, 1993, pp. 91–106.

  5. Berger, U., M. Eberl, and H. Schwichtenberg, ‘Normalization by evaluation’, in B. Moller, and J.V. Tucker, (eds.), Prospects for Hardware Foundations, volume 1546 of LNCS, Springer Verlag, 1998, pp. 117–137.

  6. Berger, U., and H. Schwichtenberg, ‘An inverse of the evaluation functional for typed A-calculus’, in R. Vemuri, (ed.), Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society Press, Los Alamitos, 1991, pp. 203–211.

  7. Berghofer, S., Proofs, Programs and Executable Specifications in Higher Order Logic, PhD thesis, Institut für Informatik, TU München, 2003.

  8. Biernacka, M., O. Danvy, and K. Stovring, ‘Program extraction from proofs of weak head normalization’, in Preliminary proceedings of MFPS XXI, Birmingham, UK, 2005, pp. 105–123.

  9. Coquand, C., ‘From semantics to rules: A machine assisted analysis’, in E. Borger, Y. Gurevich, and K. Meinke, (eds.), Computer Science Logic, 7th Workshop, Swansea 1993, volume 832 of LNCS, Springer Verlag, 1994, pp. 91–105.

  10. Coquand, T., and P. Dybjer, ‘Intuitionistic model constructions and normalization proofs’, Mathematical Structures in Computer Science, 7: 73–94, 1997.

    Article  Google Scholar 

  11. deBruijn, N. G., ‘Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem’, Indagationes Math., 34: 381–392, 1972.

    Google Scholar 

  12. Kreisel, G., ‘Interpretation of analysis by means of constructive functionals of finite types’, in A. Heyting, (ed.), Constructivity in Mathematics, North-Holland, Amsterdam, 1959, pp. 101–128.

    Google Scholar 

  13. Larsen, K. G., and G. Winskel, ‘Using information systems to solve recursive domain equations’, Information and Computation, 91: 232–258, 1991.

    Article  Google Scholar 

  14. Letouzey, P., ‘A New Extraction for Coq’, in H. Geuvers and F. Wiedijk, (eds.), Types for Proofs and Programs, Second International Workshop, TYPES 2002, volume 2646 of Lecture Notes in Computer Science. Springer-Verlag, 2003.

  15. Letouzey, P., Programmation fonctionnelle certifiée - L'extraction de programmes dans I'assistant Coq. PhD thesis, Univ. Paris-Sud, 2004.

  16. Letouzey, P., and B. Spitters, ‘Implicit and noncomputational arguments using monads’, 2005. Submitted for publication, available at http://www.lri.fr/~letouzey/download/Letouzey_Spitters_05.pdf.

  17. Paulin-Mohring, C., ‘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 Press.

  18. Paulin-Mohring, C., and B. Werner, ‘Synthesis of ML programs in the system Coq’, J. Symbolic Computation, 11: 1–34, 1993.

    Google Scholar 

  19. Schwichtenberg, H., Minimal logic for computable functionals, 2004.

  20. The Coq Development Team, The Coq Proof Assistant Reference Manual - Version 8.0, February 2004. Available at http://coq.inria.fr/.

  21. Troelstra, A. S., (ed.), Metamathematical Investigation of Intuitionistic Arithmetic and Analysis, volume 344 of Lecture Notes in Mathematics. Springer Verlag, 1973.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ulrich Berger.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Berger, U., Berghofer, S., Letouzey, P. et al. Program Extraction from Normalization Proofs. Stud Logica 82, 25–49 (2006). https://doi.org/10.1007/s11225-006-6604-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11225-006-6604-5

Keywords

Navigation