Skip to main content

Program extraction from normalization proofs

  • Conference paper
  • First Online:
Typed Lambda Calculi and Applications (TLCA 1993)

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

Included in the following conference series:

Abstract

From a constructive proof of strong normalization plus uniqueness of the long beta-normal form for the simply typed lambda-calculus a normalization program is extracted using Kreisel's modified realizability interpretation for intuitionistic logic. The proof — which uses Tait's computability predicates — is not completely formalized: Induction is done on the meta level, and therefore not a single program but a family of program, one for each term is obtained. Nevertheless this may be used to write a short and efficient normalization program in a type free programming functional programming language (e.g. LISP) which has the interesting feature that it first evaluates a term r of type π to a functional ¦r¦ of type p and then collapses ¦r¦ to the normal form of r.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. U. Berger, H. Schwichtenberg, An Inverse of the Evaluation Functional for Typed λ-calculus, Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science, Amsterdam, (1991) 203–211.

    Google Scholar 

  2. C. Coquand, A proof of normalization for simply typed lambda calculus written in ALF, Proceedings of the 1992 Workshop on Types for Proofs and Programs, Båstad, Sweden (1992) 80–87.

    Google Scholar 

  3. S. Hayashi, PX: a system extracting programs from proofs, Kyoto University, Japan (1987).

    Google Scholar 

  4. V. Gaspes, J. S. Smith, Machine Checked Normalization Proofs for Typed Combinator Calculi, Proceedings of the 1992 Workshop on Types for Proofs and Programs, Båstad, Sweden (1992) 168–192.

    Google Scholar 

  5. G. Kreisel, Interpretation of analysis by means of functionals of finite type, in Constructivity in Mathematics (1959) 101–128.

    Google Scholar 

  6. C. Paulin-Mohring, B. Werner, Synthesis of ML programs in the system Coq, Submitted to the Journal of Symbolic Computations (1992).

    Google Scholar 

  7. H. Schwichtenberg, Proofs as Programs, Leeds: Proof Theory '90 (P. Aczel, H. Simmons, Editors 1990).

    Google Scholar 

  8. W. W. Tait, Intensional Interpretation of Functionals of Finite Type I, Journal of Symbolic Logic 32(2) (1967) 198–212.

    Google Scholar 

  9. A. S. Troelstra, Metamathematical Investigation of Intuitionistic Arithmetic and Analysis, SLNM 344 (1973).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Marc Bezem Jan Friso Groote

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berger, U. (1993). Program extraction from normalization proofs. In: Bezem, M., Groote, J.F. (eds) Typed Lambda Calculi and Applications. TLCA 1993. Lecture Notes in Computer Science, vol 664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037100

Download citation

  • DOI: https://doi.org/10.1007/BFb0037100

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56517-8

  • Online ISBN: 978-3-540-47586-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics