
Formal Topology in Univalent Foundations Master’s Thesis in Computer Science and Engineering Ayberk Tosun Department of Computer Science and Engineering Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2020 Master’s thesis 2020 Formal Topology in Univalent Foundations Ayberk Tosun Department of Computer Science and Engineering Division of Logic and Types Chalmers University of Technology University of Gothenburg Gothenburg, Sweden 2020 Formal Topology in Univalent Foundations Ayberk Tosun © Ayberk Tosun, 2020 Supervisor: Thierry Coquand, Department of Computer Science and Engineering Examiner: Nils Anders Danielsson, Department of Computer Science and Engineer- ing Master’s Thesis 2020 Department of Computer Science and Engineering Division of Logic and Types Chalmers University of Technology and University of Gothenburg SE-412 96 Gothenburg Telephone +46 31 772 1000 Typeset using LATEX Agda code typeset in PragmataPro Gothenburg, Sweden 2020 iv Formal Topology in Univalent Foundations Ayberk Tosun Department of Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Abstract Formal topology is a mathematical discipline that aims to interpret topology in type-theoretical terms, that is, constructively and predicatively. Type theory has recently undergone a transformation [42] through insights arising from its association with homotopy theory, resulting in the formulation of the notion of a univalent type theory, and more broadly, a univalent foundation. We investigate, in this thesis, the natural continuation of the line of work on formal topology into univalent type theory. We first recapitulate our finding thata naive approach to formal topology in univalent type theory is problematic, and then present a solution to this problem that involves the use of higher inductive types. We hence sketch the beginnings of an approach towards developing formal topology in univalent type theory. As a proof of concept for this approach, we develop the formal topology of the Cantor space and construct a proof that it is compact. The development that we present has been carried out using the cubical extension of the Agda proof assistant [44]. No postulates have been used and the development typechecks with the --safe flag of Agda. The presentation in this thesis amounts to an informalisation of this formal development. Keywords: topology, formal topology, pointless topology, formal space, locale, locale theory, frame, homotopy type theory, univalence, univalent foundations, agda, cubical agda v Acknowledgements I would like to start by thanking my supervisor Thierry Coquand for all his efforts that have made this thesis possible. He has not only suggested the topic of this thesis, closely supported all my work, and patiently answered my (at times never-ending) questions, but he has also inspired much of my thought on type theory through various lectures and discussions, some in the context of the Types for Programs and Proofs course he co-taught in Fall 2018. In fact, this course has been the most important course I have taken at Chalmers so I would like to thank all of its teaching staff: Peter Dybjer, Andrea Vezzosi, and Fabian Ruch. I would like to also thank Nils Anders Danielsson for serving as the examiner of this thesis. His suggestions and careful review of the first draft of this thesis have been extremely helpful. Throughout the two years I have spent at Chalmers, I have had the chance to engage with the lively type theory community of Gothenburg, most importantly through the Initial Types Club (ITC). ITC has provided a conducive environment for fun discussions on type theory (every Thursday), from which I have learned a lot. I would like to therefore thank all ITC regulars for these meetings, but especially Andreas Abel, Jesper Cockx, Carlos Tomé Cortiñas, Nachiappan Valiappan, and Sandro Stucki for undertaking the organisational efforts required to keep ITC going. I would like to thank my friends Joel Sjögren, Warrick Macmillan, Alexander Fuhs, and Robert Krook for various discussions on logic, types, categories, and much more. I would also like to thank Joel Sjögren for accepting to serve as an opponent for this thesis: his careful reading and suggestions have proved quite beneficial. Joomy Korkut deserves special mention for getting me interested in Agda in the first place. Of course, anything I have done has been possible thanks to the support of my parents to whom I am, and will always be, grateful. Finally, I would like to thank the Adlerbert Foundation for funding my studies at Chalmers through the Adlerbert Study Scholarship. Ayberk Tosun, Gothenburg, June 2020 vii Contents 1 Introduction 1 2 Foundations 7 2.1 Formal vs. informal mathematics . 7 2.2 Univalent foundations: the idea . 8 2.3 Equivalence and univalence . 9 2.4 Homotopy levels . 10 2.4.1 Propositions . 11 2.4.2 Sets . 13 2.5 Powersets . 14 2.6 Families . 15 2.7 Higher inductive types . 16 2.8 Truncation . 17 3 Frames 19 3.1 Partially ordered sets . 20 3.1.1 Monotonic functions . 22 3.2 Definition of a frame . 22 3.2.1 Frame homomorphisms . 24 3.3 Some properties of frames . 25 3.4 Univalence for frames . 26 3.5 Frames of downwards-closed subsets . 30 3.6 Nuclei and their fixed points . 30 4 Formal topology 35 4.1 Interaction systems . 35 4.2 Cover relation . 38 4.3 Covers are nuclei . 43 4.4 Lifting into the generated frame . 44 4.5 Formal topologies present . 45 5 The Cantor space 51 5.1 The Cantor interaction system . 51 5.2 The Cantor space is compact . 54 6 Conclusion 57 ix Contents Bibliography 61 Appendix 65 A Agda formalisation 65 A.1 Discussion of some syntax declarations . 65 A.2 The Basis module . 65 A.3 The Poset module . 69 A.4 The Frame module . 77 A.5 The Nucleus module . 90 A.6 The Cover module . 94 A.7 The CoverFormsNucleus module . 96 A.8 The FormalTopology module . 98 A.9 The UniversalProperty module . 99 A.10 The CantorSpace module . 105 x 1 Introduction This thesis is about topology, the branch of mathematics that studies continuous transformations between topological spaces. The raison d’être of topological spaces is to allow the formulation of the notion of continuity that pervades practically all of mathematics, as pointed out by Sylvester [5, pg. 27]: “if I were asked to name, in one word, the pole star round which the mathematical firmament revolves, the central idea which pervades the whole corpus of mathematical doctrine, I should point to Continuity as contained in our notions of space, and say, it is this, it is this!”. Let us then start by considering the question of what topology is. The usual definition of a topological space is the following [29]. Definition 1.1 (Topological space). A topology on a set 푋 is a class 풯 of subsets of 푋 such that • The trivial subsets 푋, ∅ ⊆ 푋 are in 풯, • 풯 is closed under finite intersections, and • 풯 is closed under arbitrary unions. A topological space is a set 푋 equipped with a topology 풯. When a set 푋 forms a topological space i.e. is equipped with some topology 풯, its elements are called points and the members of 풯 are called open sets of 푋.A noteworthy thing about this definition is the asymmetry between intersection and union: a topology is required to be closed only under finite intersection whereas it must be closed under arbitrary union. This asymmetry is familiar to computer scientists from computability theory. Let 푃 be a program whose internal structure we do not have access to. One could say it is a “black box” although this is not to say it is a scenario occurring only in theory; black boxes do occur in practice. A compiled program whose source code one does not have access to, or even, a program whose source code is not familiar to one, can be seen as examples of black boxes from one’s perspective. One way or another, suppose that we are in a situation in which we have to un- derstand the behaviour of some program 푃 by running it and examining its output. For the sake of example, suppose that 푃 does something simple such as printing a sequence of integers (which we do not know is finite or infinite). We run 푃 and observe that it starts printing a sequence of integers: (1.2) 7 8 11 2 2 42 ⋯ 1 1. Introduction We then observe the output and judge whether or not 푃 satisfies certain prop- erties. Among the properties of 푃 , some are special in that we can observe the fact that 푃 satisfies them. Consider, for instance, the property: (1.3) “푃 eventually prints 42”. The knowledge about the behaviour of 푃 we can obtain from (1.2) is sufficient to judge that 푃 satisfies this property. In other words, at the point of time atwhichwe make the observation (1.2), we have gathered complete evidence for the fact that 푃 satisfies this property: there is no need to make any further examination. Whenever a program satisfies Property 1.3, there will be such a finite prefix of the output of the program by observing which we will be able to judge for sure that 푃 satisfies this property. We refer to such properties as observable properties. Some properties of 푃 , on the other hand, are not observable. Consider, for instance, the property: (1.4) “푃 prints at most two 2s”. Suppose that 푃 is a program such that, after printing the sequence of integers in (1.2), starts to continually print 0. Although 푃 then certainly satisfies this property, we will not be able to judge on the basis of a finite observation that it does so.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages120 Page
-
File Size-