Program Extraction from Normalization Proofs

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.

[1]  Christine Paulin-Mohring,et al.  Extracting ω's programs from proofs in the calculus of constructions , 1989, POPL '89.

[2]  Helmut Schwichtenberg,et al.  Minimal logic for computable functions , 1993 .

[3]  D. Dalen Review: Georg Kreisel, Godel's Intepretation of Heyting's Arithmetic; G. Kreisel, Relations Between Classes of Constructive Functionals; Georg Kreisel, A. Heyting, Interpretation of Analysis by Means of Constructive Functionals of Finite Types , 1971 .

[4]  Thorsten Altenkirch,et al.  Proving Strong Normalization of CC by Modifying Realizability Semantics , 1994, TYPES.

[5]  Ulrich Berger,et al.  An inverse of the evaluation functional for typed lambda -calculus , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[6]  H. Schwichtenberg Proofs as programs , 1993 .

[7]  William W. Tait,et al.  Intensional interpretations of functionals of finite type I , 1967, Journal of Symbolic Logic.

[8]  Glynn Winskel,et al.  Using Information Systems to Solve Recursive Domain Equations , 1991, Inf. Comput..

[9]  Catarina Coquand,et al.  From Semantics to Rules: A Machine Assisted Analysis , 1993, CSL.

[10]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[11]  Christine Paulin-Mohring,et al.  Synthesis of ML Programs in the System Coq , 1993, J. Symb. Comput..

[12]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

[13]  Susumu Hayashi PX: a system extracting programs from proofs , 1987, Formal Description of Programming Concepts.