Program extraction from normalization proofs

  • Ulrich Berger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 664)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BS91]
    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. [Co92]
    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. [HA87]
    S. Hayashi, PX: a system extracting programs from proofs, Kyoto University, Japan (1987).Google Scholar
  4. [GS92]
    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. [KR59]
    G. Kreisel, Interpretation of analysis by means of functionals of finite type, in Constructivity in Mathematics (1959) 101–128.Google Scholar
  6. [PW92]
    C. Paulin-Mohring, B. Werner, Synthesis of ML programs in the system Coq, Submitted to the Journal of Symbolic Computations (1992).Google Scholar
  7. [SCH90]
    H. Schwichtenberg, Proofs as Programs, Leeds: Proof Theory '90 (P. Aczel, H. Simmons, Editors 1990).Google Scholar
  8. [TA67]
    W. W. Tait, Intensional Interpretation of Functionals of Finite Type I, Journal of Symbolic Logic 32(2) (1967) 198–212.Google Scholar
  9. [TR73]
    A. S. Troelstra, Metamathematical Investigation of Intuitionistic Arithmetic and Analysis, SLNM 344 (1973).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Ulrich Berger
    • 1
  1. 1.Mathematisches Institut der Ludwig-Maximilians-Universität MünchenMünchen 2Germany

Personalised recommendations