Extracting a Normalization Algorithm in Isabelle/HOL

We present a formalization of a constructive proof of weak normalization for the simply-typed λ-calculus in the theorem prover Isabelle/HOL, and show how a program can be extracted from it. Unlike many other proofs of weak normalization based on Tait's strong computability predicates, which require a logic supporting strong eliminations and can give rise to dependent types in the extracted program, our formalization requires only relatively simple proof principles. Thus, the program obtained from this proof is typable in simply-typed higher-order logic as implemented in Isabelle/HOL, and a proof of its correctness can automatically be derived within the system.

[1]  Tobias Nipkow,et al.  More Church-Rosser Proofs (in Isabelle/HOL) , 1996, CADE.

[2]  Stefan Berghofer Program Extraction in Simply-Typed Higher Order Logic , 2002, TYPES.

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

[4]  Benjamin C. Pierce,et al.  Mechanized Metatheory for the Masses: The PoplMark Challenge , 2005, TPHOLs.

[5]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[6]  Ralph Matthes,et al.  Short proofs of normalization for the simply- typed λ-calculus, permutative conversions and Gödel's T , 2003, Arch. Math. Log..

[7]  Thorsten Altenkirch,et al.  Constructions, inductive types and strong normalization , 1993, CST.

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

[9]  Tobias Nipkow,et al.  Structured Proofs in Isar/HOL , 2002, TYPES.

[10]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[11]  Thorsten Altenkirch A Formalization of the Strong Normalization Proof for System F in LEGO , 1993, TLCA.

[12]  Stefan Berghofer,et al.  Proofs, programs and executable specifications in higher order logic , 2003 .

[13]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[14]  Tobias Nipkow More Church–Rosser Proofs , 2004, Journal of Automated Reasoning.

[15]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

[16]  Benjamin WernerINRIA-Rocquencourt Coq in Coq , 1997 .

[17]  Ulrich Berger,et al.  Program Extraction from Normalization Proofs , 2006, Stud Logica.

[18]  Zuber,et al.  Proof Theory at Work: Program Development in the Minlog System , 1998 .