Extracting a Normalization Algorithm in Isabelle/HOL

  • Stefan Berghofer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3839)


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.


Normal Form Normalization Algorithm Introduction Rule Typing Judgement Typing Derivation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Altenkirch, T.: Constructions, Inductive Types and Strong Normalization. PhD thesis, University of Edinburgh (November 1993)Google Scholar
  2. 2.
    Altenkirch, T.: A formalization of the strong normalization proof for System F in LEGO. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 13–28. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  3. 3.
    Aydemir, B.E., Bohannon, A., Fairbairn, M., Foster, J.N., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized Metatheory for the Masses: The poplmark Challenge. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 50–65. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Barras, B.: Auto-validation d’un système de preuves avec familles inductives. Thèse de doctorat, Université Paris 7 (November 1999)Google Scholar
  5. 5.
    Barras, B., Werner, B.: Coq in Coq. To appear in Journal of Automated ReasoningGoogle Scholar
  6. 6.
    Barras, B., et al.: The Coq proof assistant reference manual – version 7.2. Technical Report 0255, INRIA (February 2002)Google Scholar
  7. 7.
    Benl, H., Berger, U., Schwichtenberg, H., Seisenberger, M., Zuber, W.: Proof theory at work: Program development in the Minlog system. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction – A Basis for Applications. Systems and Implementation Techniques of Applied Logic Series, vol. II, pp. 41–71. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  8. 8.
    Berger, U.: Program extraction from normalization proofs. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 91–106. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  9. 9.
    Berghofer, S.: Program Extraction in simply-typed Higher Order Logic. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 21–38. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Berghofer, S.: Proofs, Programs and Executable Specifications in Higher Order Logic. PhD thesis, Institut für Informatik, TU München (2003)Google Scholar
  11. 11.
    Coquand, C.: From semantics to rules: A machine assisted analysis. In: Meinke, K., Börger, E., Gurevich, Y. (eds.) CSL 1993. LNCS, vol. 832, pp. 91–105. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  12. 12.
    Joachimski, F., Matthes, R.: Short proofs of normalization for the simply-typed λ-calculus, permutative conversions and Gödel’s T. Archive for Mathematical Logic 42(1), 59–87 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Luo, Z., Pollack, R.: The LEGO proof development system: A user’s manual. Technical Report ECS-LFCS-92-211, University of Edinburgh (May 1992)Google Scholar
  14. 14.
    Nipkow, T.: More Church-Rosser proofs (in Isabelle/HOL). Journal of Automated Reasoning 26, 51–66 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Nipkow, T.: Structured Proofs in Isar/HOL. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 259–278. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  17. 17.
    Pollack, R.: The Theory of LEGO: A Proof Checker for the Extended Calculus of Constructions. PhD thesis, University of Edinburgh (1994)Google Scholar
  18. 18.
    Tait, W.W.: Intensional interpretations of functionals of finite type I. Journal of Symbolic Logic 32(2), 198–212 (1967)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Wenzel, M.: Isabelle/Isar — a versatile environment for human-readable formal proof documents. PhD thesis, Institut für Informatik, TU München (2002),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Stefan Berghofer
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGarchingGermany

Personalised recommendations