The calculus of constructions and higher order logic

The Calculus of Constructions (CC) ((Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F ! ((Girard 1972]), a higher order typed lambda calculus, and a rst order dependent typed lambda calculus in the style of de Bruijn's Automath ((de Bruijn 1980]) or Martin-LL of's intuitionistic theory of types ((Martin-LL of 1984]). Using the impredicative coding of data types in F ! , the Calculus of Constructions thus becomes a higher order language for the typing of functional programs. We shall introduce and try to explain CC by exploiting especially the rst point of view, by introducing a typed lambda calculus that faithfully represent higher order predicate logic (so for this system the Curry-Howard`formulas-as-types isomorphism' is really an isomorphism.) Then we discuss some propositions that are provable in CC but not in the higher order logic, showing that the formulas-as-types embedding of higher order predicate logic into CC is not an isomorphism. It is our intention that this chapter can be read without any specialist knowledge of higher order logic or higher order typed lambda calculi.

[1]  Stefano Berardi Encoding of data types in pure construction calculus: a semantic justification , 1993 .

[2]  Zhaohui Luo,et al.  ECC, an extended calculus of constructions , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[3]  N. P. Mendler,et al.  Inductive Types and Type Constraints in the Second-Order lambda Calculus , 1991, Ann. Pure Appl. Log..

[4]  T. Coquand,et al.  Metamathematical investigations of a calculus of constructions , 1989 .

[5]  Michel Parigot Recursive Programming with Proofs , 1992, Theor. Comput. Sci..

[6]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[7]  Thierry Coquand,et al.  An Analysis of Girard's Paradox , 1986, LICS.

[8]  Thomas Streicher,et al.  Correctness and completeness of a categorical semantics of the calculus of constructions , 1989 .

[9]  Mark-Jan Nederhof,et al.  Modular proof of strong normalization for the calculus of constructions , 1991, Journal of Functional Programming.

[10]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[11]  Andrew M. Pitts,et al.  The theory of constructions: Categorical semantics and topos-theoretic models , 1987 .

[12]  Jean-Yves Girard,et al.  The System F of Variable Types, Fifteen Years Later , 1986, Theor. Comput. Sci..

[13]  de Ng Dick Bruijn,et al.  A survey of the project Automath , 1980 .

[14]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[15]  Andre Scedrov,et al.  A guide to polymorphic types , 1990 .

[16]  Robert Harper,et al.  Type Checking with Universes , 1991, Theor. Comput. Sci..

[17]  Robert Pieter Nederpelt Lazarom Strong normalization in a typed lambda calculus with lambda structured types , 1973 .

[18]  J. Gallier On Girard's "Candidats de Reductibilité" , 1989 .

[19]  Thomas Streicher,et al.  Independence of the Induction Principle and the Axiom of Choice in the Pure Calculus of Constructions , 1992, Theor. Comput. Sci..

[20]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[21]  Christine Mohring,et al.  Algorithm Development in the Calculus of Constructions , 1986, Logic in Computer Science.