A Higher-Order Calculus and Theory Abstraction

Abstract We present a higher-order calculus ECC which naturally combines Coquand-Huet's calculus of constructions and Martin-Lof's type theory with universes. ECC is very expressive, both for structured abstract reasoning and for program specification and construction. In particular, the strong sum types together with the type universes provide a useful module mechanism for abstract description of mathematical theories and adequate formalization of abstract mathematics. This allows comprehensive structuring of interactive development of specifications, programs and proofs. After a summary of the meta-theoretic properties of the calculus, an ω- Set (realizability) model of ECC is described to show how its essential properties can be captured set-theoretically. The model construction entails the logical consistency of the calculus and gives some hints on how to adequately formalize abstract mathematics. Theory abstraction in ECC is discussed as a pragmatic application.

[1]  Rod M. Burstall,et al.  Structured Theories in LCF , 1983, CAAP.

[2]  R. Seely,et al.  Locally cartesian closed categories and type theory , 1984, Mathematical Proceedings of the Cambridge Philosophical Society.

[3]  Daniel Leivant,et al.  Stratified polymorphism , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[4]  John Cartmell,et al.  Generalised algebraic theories and contextual categories , 1986, Ann. Pure Appl. Log..

[5]  Glynn Winskel,et al.  Domain Theoretic Models of Polymorphism , 1989, Inf. Comput..

[6]  Bengt Nordström,et al.  Programming in Martin-Lo¨f's type theory: an introduction , 1990 .

[7]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

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

[9]  Martin Hyland A small complete category , 1988, Ann. Pure Appl. Log..

[10]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[11]  Douglas J. Howe,et al.  Impredicative Strong Existential Equivalent to Type:Type , 1986 .

[12]  John C. Reynolds,et al.  Polymorphism is not Set-Theoretic , 1984, Semantics of Data Types.

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

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

[15]  John C. Mitchell,et al.  The essence of ML , 1988, POPL '88.

[16]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[17]  Butler W. Lampson,et al.  Pebble, a Kernel Language for Modules and Abstract Data Types , 1988, Inf. Comput..

[18]  Thierry Coquand,et al.  Constructions: A Higher Order Proof System for Mechanizing Mathematics , 1985, European Conference on Computer Algebra.

[19]  John C. Mitchell,et al.  Abstract types have existential types , 1985, POPL.

[20]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[21]  T. Coquand Une théorie des constructions , 1985 .

[22]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

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

[24]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

[25]  P. Martin-Löf An Intuitionistic Theory of Types: Predicative Part , 1975 .

[26]  K. Devlin Fundamentals of contemporary set theory , 1979 .

[27]  F. Dick A survey of the project Automath , 1980 .

[28]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[29]  Andrew M. Pitts,et al.  Polymorphism is Set Theoretic, Constructively , 1987, Category Theory and Computer Science.

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

[31]  Rod M. Burstall,et al.  Programming with Modules as Typed Functional Programming , 1984, FGCS.

[32]  J. Hyland The Effective Topos , 1982 .

[33]  David B. MacQueen Using dependent types to express modular structure , 1986, POPL '86.

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

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

[36]  John C. Reynolds,et al.  On Functors Expressible in the Polymorphic Typed Lambda Calculus , 1993, Inf. Comput..

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

[38]  Robert Harper,et al.  Type Checking, Universe Polymorphism, and Typical Ambiguity in the Calculus of Constructions (Draft) , 1989, TAPSOFT, Vol.2.

[39]  Thomas Ehrhard A categorical semantics of constructions , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

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

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

[42]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[43]  W. Tait A realizability interpretation of the theory of species , 1975 .

[44]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[45]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.