Constructions, inductive types and strong normalization

This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and type-checking, based on the equalityas-judgement presentation. We present a set-theoretic notion of model, CCstructures, and use this to give a new strong normalization proof based on a modi cation of the realizability interpretation. An extension of the core calculus by inductive types is investigated and we show, using the example of in nite trees, how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive types. We emphasize that our interpretation is sound for large eliminations, e.g. allows the de nition of sets by recursion. Finally we apply the extended calculus to a non-trivial problem: the formalization of the strong normalization argument for Girard's System F. This formal proof has been developed and checked using the LEGO system, which has been implemented by Randy Pollack. We include the LEGO les in the appendix. 1 Acknowledgements In November 1988 I met Rod Burstall in the Cafe Hardenberg in Berlin, and told him that I would like to do a PhD in Edinburgh. He made this possible and provided scienti c and spiritual help and assistance over all the time. I particularly appreciate his pragmatic and intuitive approach towards theoretical computer science. I would not have learnt Type Theory so easily if I had not been able to use Randy Pollack's LEGO system. The discussions and talks in the LEGO club have been extremely valuable and I want to thank all its participants. I pro ted from many controversial discussions with my second supervisor Zhaohui Luo and I appreciate his demands towards a more rigorous presentation of my results. The interaction with Healfdene Goguen has also been extremely helpful, he often provided essential feedback by spotting weak points in my constructions. The person who had the greatest impact on my scienti c thinking is my friend and colleague Martin Hofmann, with whom I had uncountable discussions focusing on Types, Logic and Categories. It is hard not to be impressed by his brilliance. I pro ted very much from the vibrant research environment at the Laboratory of Foundations of Computer Science. I would like to thank Alex Simpson and Claudio Hermida for many inspiring discussions about Category Theory and related topics. The contact with other researchers which has been made possible by the Types BRA has been very inspiring. I would like to thank Thierry Coquand, Herman Geuvers, Stefano Berardi, Eike Ritter and Benjamin Werner for many interesting 2 Acknowledgements 3 discussions. I especially want to thank Peter Dybjer and Thomas Streicher for comments on a draft version of this thesis. I would like to thank the SIEMENS AG for supporting me with a studentship and for providing valuable feedback during my visits in Neu-Perlach. I also want to thank all the members, animals and friends of Bath Street Housing Coop. I certainly would not have enjoyed my time in Edinburgh so much if I had not lived at Bath Street. Declaration I hereby declare that this thesis has been composed by myself, that the work is my own, and the ideas and results that I do not attribute to others are due to myself.

[1]  James McKinna,et al.  Pure Type Systems Formalized , 1993, TLCA.

[2]  Christine Paulin-Mohring,et al.  Inductive Definitions in the system Coq - Rules and Properties , 1993, TLCA.

[3]  Eike Ritter,et al.  Categorical Abstract Machines for Higher-Order Typed lambda-Calculi , 1994, Theor. Comput. Sci..

[4]  Thorsten Altenkirch A Formalization of the Strong Normalization Proof for System F in LEGO , 1993, TLCA.

[5]  Bart Jacobs,et al.  Categorical type theory , 1991 .

[6]  J. H. Geuvers Logics and type systems , 1993 .

[7]  Christine Paulin-Mohring,et al.  Synthesis of ML Programs in the System Coq , 1993, J. Symb. Comput..

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

[9]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[10]  Anne Sjerp Troelstra,et al.  On the Syntax of Martin-Löf's Type Theories , 1987, Theor. Comput. Sci..

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

[12]  Christine Paulin-Mohring,et al.  Extracting ω's programs from proofs in the calculus of constructions , 1989, POPL '89.

[13]  Yuxi Fu Topics in type theory , 1992, Technical report series : UMCS.

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

[15]  T. Streicher Semantics of Type Theory , 1991, Progress in Theoretical Computer Science.

[16]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[17]  T. Coquand An algorithm for testing conversion in type theory , 1991 .

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

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

[20]  Thierry Coquand,et al.  Pattern Matching with Dependent Types , 1992 .

[21]  J. Girard,et al.  Proofs and types , 1989 .

[22]  Tatsuya Hagino,et al.  A categorical programming language , 2020, ArXiv.

[23]  WadlerPhilip Is there a use for linear logic , 1991 .

[24]  Frank Pfenning,et al.  On the Undecidability of Partial Polymorphic Type Reconstruction , 1993, Fundam. Informaticae.

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

[26]  Liz Sonenberg,et al.  Fixed Point Theorems and Semantics: A Folk Tale , 1982, Inf. Process. Lett..

[27]  Zhaohui Luo,et al.  A Unifying Theory of Dependent Types: The Schematic Approach , 1992, LFCS.

[28]  J. Gallier,et al.  A Proof of Strong Normalization for the Theor y of Constructions Using a Kripke-like Interpretation , 1990 .

[29]  P. Dybjer Inductive sets and families in Martin-Lo¨f's type theory and their set-theoretic semantics , 1991 .

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

[31]  Zhaohui Luo An extended calculus of constructions , 1990 .

[32]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[33]  C.-H. Luke Ong,et al.  Modified Realizability Toposes and Strong Normalization Proofs , 1993, TLCA.

[34]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

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

[36]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[37]  Christian-Emil Ore,et al.  The Extended Calculus of Constructions (ECC) with Inductive Types , 1992, Inf. Comput..