Math. Struct. in Comp. Science (1999), vol. 9, pp. 719–739. Printed in the United Kingdom c 1999 Cambridge University Press A general method for proving the normalization theorem for first and second order typed λ-calculi VENANZIO CAPRETTA and SILVIO VALENTINI Dipartimento di Matematica Pura ed Applicata, Universit` a di Padova, via G. Belzoni n.7, I–35131 Padova, Italy Email: cprvnn12@leonardo.math.unipd.it and silvio@math.unipd.it Received 23 June 1997; revised 20 March 1999 In this paper we describe a method for proving the normalization property for a large variety of typed lambda calculi of first and second order, which is based on a proof of equivalence of two deduction systems. We first illustrate the method on the elementary example of simply typed lambda calculus, and then we show how to extend it to a more expressive dependent type system. Finally we use it to prove the normalization theorem for Girard’s system F. 1. Introduction We will show a uniform method for proving the normalization property for a wide class of typed lambda calculi. It applies to many of the calculi that can be found in the literature (see, for example, Barendregt (1992)), for instance simply typed lambda calculus (whose normalization proof goes back to Turing (Gandy 1980)) and Girard’s system F (Girard 1971). Given a typed lambda calculus Λ, the method consists of three steps. The first step is to define a partially correct normalization algorithm nf Λ for terms of Λ, then the second step is to find out a new calculus Λ 2 on whose terms nf Λ terminates, and finally the last step is to prove that Λ and Λ 2 are equivalent. Thus, even if the normalization theorem is not new for the typed lambda calculi that we will analyze, for each of them we will give a new presentation that allows us a better understanding of its constructive content. This result is of particular interest for system F, whose standard presentation is completely impredicative, and which was the basic motivation for our work. The paper is organized as follows. We first illustrate the method on simply typed lambda calculus: most of this section is already contained in Valentini (1994) and it was mainly inspired by some ideas of Tait and Martin-L¨ of. Then we show how to extend it to more expressive lambda calculi, for example, those obtained by introducing dependent and product types. Finally, we use the method to prove the normalization property for Girard’s system F.