Intuitionistic type theory

Preface These lectures were given in Padova at the Laboratorio per Ricerche di Di-namica dei Sistemi e di Elettronica Biomedica of the Consiglio Nazionale delle Ricerche during the month of June 1980. I am indebted to Dr. Enrico Pagello of that laboratory for the opportunity of so doing. The audience was made up by philosophers, mathematicians and computer scientists. Accordingly, I tried to say something which might be of interest to each of these three categories. Essentially the same lectures, albeit in a somewhat improved and more advanced form, were given later in the same year as part of the meeting on Konstruktive Mengenlehre und Typentheorie which was organized in Munich by Prof. Dr. Helmut Schwichtenberg, to whom I am indebted for the invitation, during the week 29 September – 3 October 1980. The main improvement of the Munich lectures, as compared with those given in Padova, was the adoption of a systematic higher level (Ger. Stufe) notation which allows me to write simply respectively. Moreover, the use of higher level variables and constants makes it possible to formulate the elimination and equality rules for the cartesian product in such a way that they follow the same pattern as the elimination and equality rules for all the other type forming operations. In their new formulation, these rules read Π-elimination c ∈ Π(A, B) (y(x) ∈ B(x) (x ∈ A)) d(y) ∈ C(λ(y)) F(c, d) ∈ C(c) and Π-equality (x ∈ A) b(x) ∈ B(x) (y(x) ∈ B(x) (x ∈ A)) d(y) ∈ C(λ(y)) F(λ(b), d) = d(b) ∈ C(λ(b)) respectively. Here y is a bound function variable, F is a new non-canonical (eliminatory) operator by means of which the binary application operation can be defined, putting Ap(c, a) ≡ F(c, (y) y(a)), and y(x) ∈ B(x) (x ∈ A) is an assumption, itself hypothetical, which has been put within parentheses to indicate that it is being discharged. A program of the new form F(c, d) has value e provided c has value λ(b) and d(b) has value e. This rule for evaluating F(c, d) reduces to the lazy evaluation rule for Ap(c, a) when the above definition is being made. Choosing C(z) to be B(a), thus independent of z, and d(y) to be y(a), the new elimination rule reduces to the old one and the new equality rule to the first of the two old equality rules. Moreover, the second …