Thesis Is Om Homotopy Type Theory Aan Te Passen Zodat Het Verband Met ∞-Groupoids Verruimt Tot Een Verband Met Hogere Categorie¨Enin Het Algemeen
Total Page:16
File Type:pdf, Size:1020Kb
FACULTEIT WETENSCHAPPEN Towards a Directed Homotopy Type Theory based on 4 Kinds of Variance Andreas NUYTS Promotor: Prof. dr. ir. F. Piessens Proefschrift ingediend tot het Begeleiders: behalen van de graad van Dr. D. Devriese, J. Cockx Master in de Wiskunde DistriNet, Departement Computerwetenschappen, KU Leuven Academiejaar 2014-2015 i c Copyright 2015 by KU Leuven and the author. Without written permission of the promoters and the authors it is forbidden to repro- duce or adapt in any form or by any means any part of this publication. Requests for obtaining the right to reproduce or utilize parts of this publication should be addressed to KU Leuven, Faculteit Wetenschappen, Geel Huis, Kasteelpark Arenberg 11 bus 2100, 3001 Leuven (Heverlee), Telephone +32 16 32 14 01. A written permission of the promoter is also required to use the methods, products, schematics and programs described in this work for industrial or commercial use, and for submitting this publication in scientific contests. ii Towards a Directed Homotopy Type Theory based on 4 Kinds of Variance Andreas Nuyts Promotor: Prof. dr. ir. Frank Piessens Begeleiders: Dr. Dominique Devriese, Jesper Cockx Contents Contents iii Voorwoord vii Vulgariserende samenvatting ix English abstract xi Nederlandstalige abstract xiii 1 Introduction 1 1.1 Dependent type theory . .1 1.2 Homotopy type theory . .5 1.3 Directed type theory . .6 1.3.1 Two-dimensional directed type theory . .6 1.3.2 Other related work . .8 1.3.3 Directed homotopy type theory . .9 1.3.4 Contributions . 11 2 Dependent type theory, symmetric and directed 13 2.1 Judgements and contexts . 13 2.2 Structural inference rules . 18 2.3 Universe types . 20 2.4 Non-dependent function types . 21 2.5 Dependent function types . 25 2.6 Intermezzo: equivalences and function extensionality . 27 2.7 Inductive types and the coproduct . 28 2.8 Lists . 34 2.9 The naturals . 36 2.10 The family of finite sets . 38 2.11 The product . 40 2.12 Opposite, core and localization . 44 2.12.1 The opposite of a type . 44 2.12.2 The core of a type . 47 2.12.3 Bridged groupoids . 49 2.12.4 The localization of a type . 50 2.12.5 Bridgeless groupoids . 52 2.13 Dependent pair types . 53 iii iv CONTENTS 2.14 Inductive type families: some examples . 57 2.15 The identity type . 64 2.16 The morphism type . 70 2.17 W-types . 74 2.18 Higher inductive types . 75 3 Homotopy type theory, symmetric and directed 77 3.1 Types are higher categories . 77 3.2 Functions are functors . 82 3.3 Equivalences, isomorphisms and transport . 86 3.4 Type families are fibrations . 91 3.4.1 In symmetric HoTT . 91 3.4.2 In directed HoTT . 95 3.5 Bridges . 105 3.5.1 Discussion . 105 3.5.2 Attempts to define bridges . 107 3.5.3 An axiomatic treatment of bridges . 110 3.6 Homotopies and natural transformations . 113 3.7 Groupoids . 116 3.8 The higher category structure of some basic types . 119 3.8.1 The coproduct . 119 3.8.2 The naturals . 120 3.8.3 The opposite . 122 3.8.4 The core . 123 3.8.5 The localization . 123 3.8.6 The product . 125 3.8.7 Dependent pair types . 125 3.8.8 Dependent function types . 128 3.8.9 Universe types and univalence . 130 3.9 Categorical univalence . 133 3.9.1 Category theory in HoTT . 133 3.9.2 Categorical univalence . 134 3.9.3 Univalence in directed HoTT . 136 4 Exploring semantics and consistency 139 4.1 Basic preparations . 140 4.2 Interpreting terms . 144 4.2.1 Interpreting types . 144 4.2.2 Functorial behaviour . 147 4.3 Interpreting axioms . 148 4.4 Conclusion . 149 5 Conclusion 151 5.1 Morphisms and morphisms . 151 5.2 Applications . 153 5.3 Discussion and further work . 153 Bibliography 155 CONTENTS v List of Symbols and Abbreviations 157 Index 161 vi CONTENTS Vulgariserende samenvatting Topologie is voor elastische voorwerpen wat meetkunde is voor starre voorwerpen. In de meetkunde werken we doorgaans in het vlak, de ruimte of een meer-dimensionale veral- gemening, en we beschrijven de dingen aan de hand van een assenstelsel, co¨ordinatenen een notie van afstand. In topologie werken we in een topologische ruimte; hier kan je in veel gevallen over nadenken als een verzameling (meer-dimensionale) elastische voorwer- pen. Omdat je deze kan uitrekken en vervormen, zijn co¨ordinatenen afstand geen goede manier om topologische ruimten te beschrijven; in de plaats worden open en gesloten verzamelingen gebruikt om de vorm van de ruimte te karakteriseren. Type theory is een wiskundige formulering van een veiligheidsmechanisme dat gebruikt wordt in statisch getypeerde programmeertalen. In dergelijke talen heeft elke waarde, en elk hokje dat een waarde kan bevatten, een type, en het is slechts toegestaan een waarde in een hokje te steken als de types overeenkomen. Bijvoorbeeld, in een klantendatabase heeft elke klant een geboortejaar en een geboorteplaats. Het geboortejaar heeft als type `geheel getal', de geboorteplaats `string' (een opeenvolging van letters). Als de programmeur zich vergist en het geboortejaar toekent aan het hokje voor de geboorteplaats, zal de compiler opmerken dat deze types verschillen, en dit programma niet aanvaarden. Dependent type theory, een gesofisticeerdere variant van type theory, laat toe om elke wiskundige stelling te vertalen in het type van alle bewijzen van die stelling. Zo kan een programmeur een programma doorspekken met bewijzen over het gedrag van datzelfde programma. Als een bewijs niet correct blijkt, zal de compiler opmerken dat het niet het juiste type heeft en het programma niet aanvaarden. Dit laat de ontwikkeling van veilige software toe, en maakt het ook mogelijk om wiskundige bewijzen te laten verifi¨erendoor een computer. Categorietheorie is een tak van de wiskunde die de notie van transformaties in hoge algemeenheid bestudeert. Een categorie is gedefinieerd als een collectie objecten, met voor elke twee objecten x en y een verzameling van alle ‘morfismen’ (transformaties) die x tot y transformeren. Elk object heeft een `identiek' morfisme naar zichzelf, dat overeenkomt met niets doen. Verder kunnen we een morfisme van x naar y samenstellen met een morfisme van y naar z om een morfisme van x naar z te bekomen. Een hogere categorie bevat niet enkel morfismen tussen objecten, maar ook morfismen tussen morfismen tussen objecten, en morfismen tussen morfismen tussen morfismen tussen objecten, en zo tot in het oneindige. Een 1-groupoid is een hogere categorie waarin alle morfismen omkeerbaar zijn. Homotopy type theory (HoTT) is een recente ontwikkeling van dependent type theory die een verband legt tussen topologische ruimten, 1-groupoids en types. Dit verband laat toe om aan computergeverifieerde topologie en categorietheorie te doen, en leidt anderzijds tot nieuwe inzichten in dependent type theory. ix x VULGARISERENDE SAMENVATTING Het doel van deze thesis is om homotopy type theory aan te passen zodat het verband met 1-groupoids verruimt tot een verband met hogere categorie¨enin het algemeen. Niet- omkeerbare morfismen, die dus een vaste ori¨entatie hebben, krijgen dan een tegenhanger in type theory. Men spreekt van geori¨enteerde of directed type theory. Dit lijkt de expressiviteit van HoTT aanzienlijk te versterken, wat zowel de software- als wiskundige toepassingen ten goede komt. English abstract Type theory is a mathematical formulation of a safety mechanism for programming lan- guages. Dependent type theory (such as Martin-L¨oftype theory, MLTT) is a more in- volved variant of type theory that is a sufficiently expressive environment for doing logic. As such, it can serve as a foundation for mathematics [Uni13], and it also brings flexible formal proving to programming languages, which is promising when it comes to writing software for critical applications where bugs could endanger lives. In MLTT, objects can be judgementally equal, meaning they are absolutely the same and indistinguishable, or propositionally equal, meaning one is `as good as' the other. Ordinary MLTT basically interprets the latter notion as the former: an object is only equal to itself and only in one way. Homotopy type theory (HoTT) is a recent development of MLTT, which revises the way we think about equality. It starts from the observation that any notion of isomorphism fulfils all the axioms that are required of propositional equality, except the principle of uniqueness of identity proofs [Uni13, x7.2], which states that two objects can only be equal in a single way. Based on that observation, HoTT replaces uniqueness of identity proofs with the uni- valence axiom, which asserts that any two equivalent (i.e. isomorphic) types are equal. This axiom turns out to imply a similar principle in more generality, for example [Uni13, x2.14] proves that isomorphic semigroups are equal. That is an extremely useful fea- ture when using type theory as a foundation for mathematics, as we are even using this principle in mathematics founded on set theory, where strictly speaking, it doesn't hold. The structure of a collection of objects with a sense of isomorphism, is captured by a groupoid: a category in which all morphisms are invertible. This indicates that in HoTT, we should think of types as groupoids. Since the isomorphisms between two objects are also contained in a type, they form a groupoid again. So we are really dealing with groupoids enriched over groupoids enriched over . , which is called 1-groupoids. The homotopy hypothesis [Uni13, x2.intro] provides a further interpretation of 1-groupoids as topological spaces, in which isomorphisms between objects correspond to paths between points. This means that, apart from allowing exciting new ideas and results in type theory, HoTT also allows us to do 1-groupoid theory and topology in a constructive, computer-verified manner.