Formalizing Category Theory in Agda CPP ’21, January 18–19, 2021, Virtual, Denmark

Total Page:16

File Type:pdf, Size:1020Kb

Formalizing Category Theory in Agda CPP ’21, January 18–19, 2021, Virtual, Denmark Formalizing Category Theory in Agda Jason Z. S. Hu Jacques Carette [email protected] [email protected] McGill University McMaster University Montréal, Québec, Canada Hamilton, Ontario, Canada Abstract years [4, 16, 18, 24, 26, 28–30, 32, 35, 37, etc.]. All of them em- The generality and pervasiveness of category theory in mod- body choices; some were forced by the ambient logic of the ern mathematics makes it a frequent and useful target of for- host system, others were pragmatic decisions, some were malization. It is however quite challenging to formalize, for philosophical stances, while finally others were simply de- a variety of reasons. Agda currently (i.e. in 2020) does not sign decisions. have a standard, working formalization of category theory. Category theory is often picked as a challenge, as it is We document our work on solving this dilemma. The for- bothbequiteamenableto formalizationand to involve many malization revealed a number of potential design choices, non-trivial decisions that can have drastic effects on the us- and we present, motivate and explain the ones we picked. ability and effectiveness of the results [16]. With the rapid In particular, we find that alternative definitions or alter- rise in the use of category theory as a tool in computer sci- native proofs from those found in standard textbooks can ence, and with the advent of applied category theory, hav- be advantageous, as well as “fit” Agda’s type theory more ing a stable formalization in the standard library of one’s smoothly. Some definitions regarded as equivalent in stan- favourite proof assistant becomes necessary. dard textbooks turn out to make different “universe level” Our journey started as the authors were trying to keep assumptions, with some being more polymorphic than oth- the “old” category theory library for Agda [26] alive. Unfor- ers. We also pay close attention to engineering issues so that tunately, as Agda [3] evolved, some of the features used in the library integrates well with Agda’s own standard library, that library were no longer well-supported, and eventually as well as being compatible with as many of supported type the library simply stopped working. As it became clear that theories in Agda as possible. simply continuing to patch that library was no longer viable, a new version was in order. CCS Concepts: • Theory of computation → Type the- This gave us the opportunity to revisit various design de- ory; Logic and verification. cisions of the earlier implementation — which we will docu- ment. We also wanted to preserve as much formalization ef- Keywords: Agda, category theory, formal mathematics fort as possible, while also use language features introduced ACM Reference Format: in Agda 2.6+ like generalized variables and revise the the- Jason Z. S. Hu and Jacques Carette. 2021. Formalizing Category oretical foundation which the library relies on. This new Theory in Agda. In Proceedings of the 10th ACM SIGPLAN Interna- version is then partly a “port” of the previous one to cur- tional Conference on Certified Programs and Proofs (CPP ’21), Jan- rent versions of Agda, but also heavily refactored, including uary 18–19, 2021, Virtual, Denmark. ACM, New York, NY, USA, some large changes in design. 16 pages. hps://doi.org/10.1145/3437992.3439922 Our principal theoretical contribution is to show that setoid- based proof-relevant category theory works just as well as arXiv:2005.07059v2 [cs.LO] 6 Jan 2021 1 Introduction various other “flavours” of category theory by supporting There have been many formalizations of category theory [7, a large number of definitions and theorems. Our main engi- 21] in many different proof assistants, over more than 25 neering contribution is a coherent set of design decisions for a widely reusable and working library of category theory in 1 Permission to make digital or hard copies of all or part of this work for Agda, freely available . personal or classroom use is granted without fee provided that copies are This paper is structured as follows. In Section 2, we dis- not made or distributed for profit or commercial advantage and that copies cuss our global design choices. We discuss the rationale be- bear this notice and the full citation on the first page. Copyrights for com- hind non-strictness, proof-relevance, hom-setoids, universe ponents of this work owned by others than the author(s) must be honored. polymorphism, (not) requiring extra laws and concepts as Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission record types. In Section 3, we give examples on how proof- and/or a fee. Request permissions from [email protected]. relevance drives us to find concepts in an alternative way. CPP ’21, January 18–19, 2021, Virtual, Denmark In Section 4, we discuss other design decisions and some ef- © 2021 Copyright held by the owner/author(s). Publication rights licensed ficiency issues. In Section 5, we compare category theory to ACM. libraries in other systems. Finally, we conclude in Section 6. ACM ISBN 978-1-4503-8299-1/21/01...$15.00 hps://doi.org/10.1145/3437992.3439922 1at hps://github.com/agda/agda-categories CPP ’21, January 18–19, 2021, Virtual, Denmark Jason Z. S. Hu and Jacques Caree For reasons of space, we have to make some assumptions 2.2 Which Category Theory? of our readership, namely that they are familiar with: Category theory is often presented as a single theory, but 1. category theory, there are in fact a wealth of flavours: set-theoretic, where 2. dependent type theory, a category has a single hom-set equipped with source and 3. formalization, and target maps; ETCS-style [20], where there are no objects at 4. proof assistants (e.g. familiarity with Agda and a pass- all; dependently-typed, where hom-“sets” are parametrized ing knowledge of other systems). by two objects; proof-irrelevant, where the associativity and identity laws are considered to be unique [4, 16, 26, 35]; 2 Design Choices setoid-based, where each category relies on a local notion of equivalence of hom-sets rather than relying on a global Choices arise from both the system and its logic, as well as equality relation [26, 37]. There are also questions of being from the domain itself. strict or weak, whether to do 1-categories, =-categories or even ∞-categories. What to choose? 2.1 Fitting with Agda Standard textbooks often define a category as follows: The previous formalization [26] was done in a much older Agda, with a seriously under-developed standard library. To Definition 2.1. A category C consists of the following data: better fit with modern Agda, we choose to: 1. a collection of objects, C0, 1. use dependent types, 2. a collection of morphisms, C1, between two objects. 2. be constructive, We use 5 : ⇒ to denote the morphism 5 ∈ C1 is 3. re-use as much of the standard library [12] as possible, between objects and , 4. use the naming convention of its standard library when- 3. for each object , we have an identity morphism 1 : ever meaningful, ⇒ , and 5. use the variable generalization feature for levels and 4. morphism composition ◦ composing two morphisms categories, 5 : ⇒ and 6 : ⇒ into another morphism 6. try to fit with as many modes of Agda as possible. 5 ◦ 6 : ⇒ . The first two requirements are natural, as choosing oth- These must satisfy the following laws: erwise would create a clash of philosophy between the sys- 1. identity: for any morphism 5 : ⇒ , we have 5 ◦ tem and one of its libraries. The next two are just good soft- 1 = 5 = 1 ◦ 5 , and ware engineering, while the fifth is mere convenience. Note 2. associativity: for any three morphisms 5 , 6 and ℎ, we that re-using the standard library pushes us towards setoids have (5 ◦ 6) ◦ ℎ = 5 ◦(6 ◦ ℎ). (more on that later) as its formalization of algebra uses them extensively. Embedded in the above definition are a variety of deci- The last requirement is more subtle: we want to allow sions, and we will use these as a running example to explain others to use alternative systems or make postulates if they ours. wish, and still be able to use our library. This means that we 2.2.1 Collections. The first item to notice is the use of need to avoid using features that are incompatible with sup- collection rather than set or type. Textbooks tend to do this ported systems in Agda. For example, when added to Martin- to side-step “size” issues, and then define various kinds of Löf Type Theory (MLTT) [23], axiom K [31], equivalent to categories depending on whether each of the collections (ob- Uniqueness of Identity Proofs (UIP), creates a propositionally jects, all morphisms, all morphisms given a pair of objects) extensional type theory incompatible with univalence [33]. is “small”, i.e. a set. This matters because a number of con- Thus Agda has options such as --without-K [10] to access structions in category theory produce large results. the intensional type theory MLTT, and conversely --with- We define collections of objects to be types, with no further K to turn on axiom K. Separately, there is cubical type the- assumptions or requirements. We do know that in MLTT ory(--cubical)[34] which implements a computational in- types are well modeled by ∞-groupoids [17, 36] — so wouldn’t terpretation of homotopy type theory (HoTT) [33] and sup- this higher structure be a problem? No! This is because we ports univalence. Intensional type theory is compatible with never look at it, i.e.
Recommended publications
  • AN INTRODUCTION to CATEGORY THEORY and the YONEDA LEMMA Contents Introduction 1 1. Categories 2 2. Functors 3 3. Natural Transfo
    AN INTRODUCTION TO CATEGORY THEORY AND THE YONEDA LEMMA SHU-NAN JUSTIN CHANG Abstract. We begin this introduction to category theory with definitions of categories, functors, and natural transformations. We provide many examples of each construct and discuss interesting relations between them. We proceed to prove the Yoneda Lemma, a central concept in category theory, and motivate its significance. We conclude with some results and applications of the Yoneda Lemma. Contents Introduction 1 1. Categories 2 2. Functors 3 3. Natural Transformations 6 4. The Yoneda Lemma 9 5. Corollaries and Applications 10 Acknowledgments 12 References 13 Introduction Category theory is an interdisciplinary field of mathematics which takes on a new perspective to understanding mathematical phenomena. Unlike most other branches of mathematics, category theory is rather uninterested in the objects be- ing considered themselves. Instead, it focuses on the relations between objects of the same type and objects of different types. Its abstract and broad nature allows it to reach into and connect several different branches of mathematics: algebra, geometry, topology, analysis, etc. A central theme of category theory is abstraction, understanding objects by gen- eralizing rather than focusing on them individually. Similar to taxonomy, category theory offers a way for mathematical concepts to be abstracted and unified. What makes category theory more than just an organizational system, however, is its abil- ity to generate information about these abstract objects by studying their relations to each other. This ability comes from what Emily Riehl calls \arguably the most important result in category theory"[4], the Yoneda Lemma. The Yoneda Lemma allows us to formally define an object by its relations to other objects, which is central to the relation-oriented perspective taken by category theory.
    [Show full text]
  • The ACT Pipeline from Abstraction to Application
    Addressing hypercomplexity: The ACT pipeline from abstraction to application David I. Spivak (Joint with Brendan Fong, Paolo Perrone, Evan Patterson) Department of Mathematics Massachusetts Institute of Technology 0 / 25 Introduction Outline 1 Introduction Why? How? What? Plan of the talk 2 Some new applications 3 Catlab.jl 4 Conclusion 0 / 25 Introduction Why? What's wrong? As problem complexity increases, good organization becomes crucial. (Courtesy of Spencer Breiner, NIST) 1 / 25 Introduction Why? The problem is hypercomplexity The world is becoming more complex. We need to deal with more and more diverse sorts of interaction. Rather than closed dynamical systems, everything is open. The state of one system affects those of systems in its environment. Examples are everywhere. Designing anything requires input from more diverse stakeholders. Software is developed by larger teams, touching a common codebase. Scientists need to use experimental data obtained by their peers. (But the data structure and assumptions don't simply line up.) We need to handle this new complexity; traditional methods are faltering. 2 / 25 Introduction How? How might we deal with hypercomplexity? Organize the problem spaces effectively, as objects in their own right. Find commonalities in the various problems we work on. Consider the ways we build complex problems out of simple ones. Think of problem spaces and solutions as mathematical entities. With that in hand, how do you solve a hypercomplex problem? Migrating subproblems to groups who can solve them. Take the returned solutions and fit them together. Ensure in advance that these solutions will compose. Do this according the mathematical problem-space structure.
    [Show full text]
  • Diagrammatics in Categorification and Compositionality
    Diagrammatics in Categorification and Compositionality by Dmitry Vagner Department of Mathematics Duke University Date: Approved: Ezra Miller, Supervisor Lenhard Ng Sayan Mukherjee Paul Bendich Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Mathematics in the Graduate School of Duke University 2019 ABSTRACT Diagrammatics in Categorification and Compositionality by Dmitry Vagner Department of Mathematics Duke University Date: Approved: Ezra Miller, Supervisor Lenhard Ng Sayan Mukherjee Paul Bendich An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Mathematics in the Graduate School of Duke University 2019 Copyright c 2019 by Dmitry Vagner All rights reserved Abstract In the present work, I explore the theme of diagrammatics and their capacity to shed insight on two trends|categorification and compositionality|in and around contemporary category theory. The work begins with an introduction of these meta- phenomena in the context of elementary sets and maps. Towards generalizing their study to more complicated domains, we provide a self-contained treatment|from a pedagogically novel perspective that introduces almost all concepts via diagrammatic language|of the categorical machinery with which we may express the broader no- tions found in the sequel. The work then branches into two seemingly unrelated disciplines: dynamical systems and knot theory. In particular, the former research defines what it means to compose dynamical systems in a manner analogous to how one composes simple maps. The latter work concerns the categorification of the slN link invariant. In particular, we use a virtual filtration to give a more diagrammatic reconstruction of Khovanov-Rozansky homology via a smooth TQFT.
    [Show full text]
  • Bialgebras in Rel
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Elsevier - Publisher Connector Electronic Notes in Theoretical Computer Science 265 (2010) 337–350 www.elsevier.com/locate/entcs Bialgebras in Rel Masahito Hasegawa1,2 Research Institute for Mathematical Sciences Kyoto University Kyoto, Japan Abstract We study bialgebras in the compact closed category Rel of sets and binary relations. We show that various monoidal categories with extra structure arise as the categories of (co)modules of bialgebras in Rel.In particular, for any group G we derive a ribbon category of crossed G-sets as the category of modules of a Hopf algebra in Rel which is obtained by the quantum double construction. This category of crossed G-sets serves as a model of the braided variant of propositional linear logic. Keywords: monoidal categories, bialgebras and Hopf algebras, linear logic 1 Introduction For last two decades it has been shown that there are plenty of important exam- ples of traced monoidal categories [21] and ribbon categories (tortile monoidal cat- egories) [32,33] in mathematics and theoretical computer science. In mathematics, most interesting ribbon categories are those of representations of quantum groups (quasi-triangular Hopf algebras)[9,23] in the category of finite-dimensional vector spaces. In many of them, we have non-symmetric braidings [20]: in terms of the graphical presentation [19,31], the braid c = is distinguished from its inverse c−1 = , and this is the key property for providing non-trivial invariants (or de- notational semantics) of knots, tangles and so on [12,23,33,35] as well as solutions of the quantum Yang-Baxter equation [9,23].
    [Show full text]
  • Towards a Proof-Irrelevant Calculus of Inductive Constructions Philipp Haselwarter
    Towards a Proof-Irrelevant Calculus of Inductive Constructions Philipp Haselwarter To cite this version: Philipp Haselwarter. Towards a Proof-Irrelevant Calculus of Inductive Constructions. Programming Languages [cs.PL]. 2014. hal-01114573v2 HAL Id: hal-01114573 https://hal.inria.fr/hal-01114573v2 Submitted on 4 Mar 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Towards a Proof-Irrelevant Calculus of Inductive Constructions Philipp Haselwarter under the supervision of Matthieu Sozeau, PPS and 휋푟2 2nd September 2014 Summary The general context Through the Curry-Howard correspondence, dependent type theories are ap- pealing to both the mathematical and the programming community. To the first, they provide an expressive logical framework, in which mathematics can be developed. To the second, they offer a functional programming lan- guage that allows to state precise invariants programs have to respect and to build certified proofs thereof. Several dependent type systems have been investigated and implemented, with some early ones geared more towards the mathematical community [Con+86; Pol94; Coq12], called proof-assistants, and later putting a stronger accent on their viability as a programming environment [McB99; Nor07; Soz08]. The Calculus of Inductive Constructions (pCIC) is one such theory that attempts to stay faithful to the correspondence and bridge the two worlds of programming and proving.
    [Show full text]
  • Abelian Categories
    Abelian Categories Lemma. In an Ab-enriched category with zero object every finite product is coproduct and conversely. π1 Proof. Suppose A × B //A; B is a product. Define ι1 : A ! A × B and π2 ι2 : B ! A × B by π1ι1 = id; π2ι1 = 0; π1ι2 = 0; π2ι2 = id: It follows that ι1π1+ι2π2 = id (both sides are equal upon applying π1 and π2). To show that ι1; ι2 are a coproduct suppose given ' : A ! C; : B ! C. It φ : A × B ! C has the properties φι1 = ' and φι2 = then we must have φ = φid = φ(ι1π1 + ι2π2) = ϕπ1 + π2: Conversely, the formula ϕπ1 + π2 yields the desired map on A × B. An additive category is an Ab-enriched category with a zero object and finite products (or coproducts). In such a category, a kernel of a morphism f : A ! B is an equalizer k in the diagram k f ker(f) / A / B: 0 Dually, a cokernel of f is a coequalizer c in the diagram f c A / B / coker(f): 0 An Abelian category is an additive category such that 1. every map has a kernel and a cokernel, 2. every mono is a kernel, and every epi is a cokernel. In fact, it then follows immediatly that a mono is the kernel of its cokernel, while an epi is the cokernel of its kernel. 1 Proof of last statement. Suppose f : B ! C is epi and the cokernel of some g : A ! B. Write k : ker(f) ! B for the kernel of f. Since f ◦ g = 0 the map g¯ indicated in the diagram exists.
    [Show full text]
  • Category Theory Cheat Sheet
    Musa Al-hassy https://github.com/alhassy/CatsCheatSheet July 5, 2019 Even when morphisms are functions, the objects need not be sets: Sometimes the objects . are operations —with an appropriate definition of typing for the functions. The categories Reference Sheet for Elementary Category Theory of F -algebras are an example of this. “Gluing” Morphisms Together Categories Traditional function application is replaced by the more generic concept of functional A category C consists of a collection of “objects” Obj C, a collection of “(homo)morphisms” composition suggested by morphism-arrow chaining: HomC(a; b) for any a; b : Obj C —also denoted “a !C b”—, an operation Id associating Whenever we have two morphisms such that the target type of one of them, say g : B A a morphism Ida : Hom(a; a) to each object a, and a dependently-typed “composition” is the same as the source type of the other, say f : C B then “f after g”, their composite operation _ ◦ _ : 8fABC : Objg ! Hom(B; C) ! Hom(A; B) ! Hom(A; C) that is morphism, f ◦ g : C A can be defined. It “glues” f and g together, “sequentially”: required to be associative with Id as identity. It is convenient to define a pair of operations src; tgt from morphisms to objects as follows: f g f◦g C − B − A ) C − A composition-Type f : X !C Y ≡ src f = X ^ tgt f = Y src; tgt-Definition Composition is the basis for gluing morphisms together to build more complex morphisms. Instead of HomC we can instead assume primitive a ternary relation _ : _ !C _ and However, not every two morphisms can be glued together by composition.
    [Show full text]
  • On the Completeness of the Traced Monoidal Category Axioms in (Rel,+)∗
    Acta Cybernetica 23 (2017) 327–347. On the Completeness of the Traced Monoidal Category Axioms in (Rel,+)∗ Mikl´os Barthaa To the memory of my friend and former colleague Zolt´an Esik´ Abstract It is shown that the traced monoidal category of finite sets and relations with coproduct as tensor is complete for the extension of the traced sym- metric monoidal axioms by two simple axioms, which capture the additive nature of trace in this category. The result is derived from a theorem saying that already the structure of finite partial injections as a traced monoidal category is complete for the given axioms. In practical terms this means that if two biaccessible flowchart schemes are not isomorphic, then there exists an interpretation of the schemes by partial injections which distinguishes them. Keywords: monoidal categories, trace, iteration, feedback, identities in cat- egories, equational completeness 1 Introduction It was in March, 2012 that Zolt´an visited me at the Memorial University in St. John’s, Newfoundland. I thought we would find out a research topic together, but he arrived with a specific problem in mind. He knew about the result found by Hasegawa, Hofmann, and Plotkin [12] a few years earlier on the completeness of the category of finite dimensional vector spaces for the traced monoidal category axioms, and wanted to see if there is a similar completeness statement true for the matrix iteration theory of finite sets and relations as a traced monoidal category. Unfortunately, during the short time we spent together, we could not find the solu- tion, and after he had left I started to work on some other problems.
    [Show full text]
  • SHEAVES, TOPOSES, LANGUAGES Acceleration Based on A
    Chapter 7 Logic of behavior: Sheaves, toposes, and internal languages 7.1 How can we prove our machine is safe? Imagine you are trying to design a system of interacting components. You wouldn’t be doing this if you didn’t have a goal in mind: you want the system to do something, to behave in a certain way. In other words, you want to restrict its possibilities to a smaller set: you want the car to remain on the road, you want the temperature to remain in a particular range, you want the bridge to be safe for trucks to pass. Out of all the possibilities, your system should only permit some. Since your system is made of components that interact in specified ways, the possible behavior of the whole—in any environment—is determined by the possible behaviors of each of its components in their local environments, together with the precise way in which they interact.1 In this chapter, we will discuss a logic wherein one can describe general types of behavior that occur over time, and prove properties of a larger-scale system from the properties and interaction patterns of its components. For example, suppose we want an autonomous vehicle to maintain a distance of some safe R from other objects. To do so, several components must interact: a 2 sensor that approximates the real distance by an internal variable S0, a controller that uses S0 to decide what action A to take, and a motor that moves the vehicle with an 1 The well-known concept of emergence is not about possibilities, it is about prediction.
    [Show full text]
  • Math 395: Category Theory Northwestern University, Lecture Notes
    Math 395: Category Theory Northwestern University, Lecture Notes Written by Santiago Can˜ez These are lecture notes for an undergraduate seminar covering Category Theory, taught by the author at Northwestern University. The book we roughly follow is “Category Theory in Context” by Emily Riehl. These notes outline the specific approach we’re taking in terms the order in which topics are presented and what from the book we actually emphasize. We also include things we look at in class which aren’t in the book, but otherwise various standard definitions and examples are left to the book. Watch out for typos! Comments and suggestions are welcome. Contents Introduction to Categories 1 Special Morphisms, Products 3 Coproducts, Opposite Categories 7 Functors, Fullness and Faithfulness 9 Coproduct Examples, Concreteness 12 Natural Isomorphisms, Representability 14 More Representable Examples 17 Equivalences between Categories 19 Yoneda Lemma, Functors as Objects 21 Equalizers and Coequalizers 25 Some Functor Properties, An Equivalence Example 28 Segal’s Category, Coequalizer Examples 29 Limits and Colimits 29 More on Limits/Colimits 29 More Limit/Colimit Examples 30 Continuous Functors, Adjoints 30 Limits as Equalizers, Sheaves 30 Fun with Squares, Pullback Examples 30 More Adjoint Examples 30 Stone-Cech 30 Group and Monoid Objects 30 Monads 30 Algebras 30 Ultrafilters 30 Introduction to Categories Category theory provides a framework through which we can relate a construction/fact in one area of mathematics to a construction/fact in another. The goal is an ultimate form of abstraction, where we can truly single out what about a given problem is specific to that problem, and what is a reflection of a more general phenomenom which appears elsewhere.
    [Show full text]
  • UNIVERSITY of CALIFORNIA RIVERSIDE the Grothendieck
    UNIVERSITY OF CALIFORNIA RIVERSIDE The Grothendieck Construction in Categorical Network Theory A Dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Mathematics by Joseph Patrick Moeller December 2020 Dissertation Committee: Dr. John C. Baez, Chairperson Dr. Wee Liang Gan Dr. Carl Mautner Copyright by Joseph Patrick Moeller 2020 The Dissertation of Joseph Patrick Moeller is approved: Committee Chairperson University of California, Riverside Acknowledgments First of all, I owe all of my achievements to my wife, Paola. I couldn't have gotten here without my parents: Daniel, Andrea, Tonie, Maria, and Luis, or my siblings: Danielle, Anthony, Samantha, David, and Luis. I would like to thank my advisor, John Baez, for his support, dedication, and his unique and brilliant style of advising. I could not have become the researcher I am under another's instruction. I would also like to thank Christina Vasilakopoulou, whose kindness, energy, and expertise cultivated a deeper appreciation of category theory in me. My expe- rience was also greatly enriched by my academic siblings: Daniel Cicala, Kenny Courser, Brandon Coya, Jason Erbele, Jade Master, Franciscus Rebro, and Christian Williams, and by my cohort: Justin Davis, Ethan Kowalenko, Derek Lowenberg, Michel Manrique, and Michael Pierce. I would like to thank the UCR math department. Professors from whom I learned a ton of algebra, topology, and category theory include Julie Bergner, Vyjayanthi Chari, Wee-Liang Gan, Jos´eGonzalez, Jacob Greenstein, Carl Mautner, Reinhard Schultz, and Steffano Vidussi. Special thanks goes to the department chair Yat-Sun Poon, as well as Margarita Roman, Randy Morgan, and James Marberry, and many others who keep the whole thing together.
    [Show full text]
  • A Short Introduction to Category Theory
    A SHORT INTRODUCTION TO CATEGORY THEORY September 4, 2019 Contents 1. Category theory 1 1.1. Definition of a category 1 1.2. Natural transformations 3 1.3. Epimorphisms and monomorphisms 5 1.4. Yoneda Lemma 6 1.5. Limits and colimits 7 1.6. Free objects 9 References 9 1. Category theory 1.1. Definition of a category. Definition 1.1.1. A category C is the following data (1) a class ob(C), whose elements are called objects; (2) for any pair of objects A; B of C a set HomC(A; B), called set of morphisms; (3) for any three objects A; B; C of C a function HomC(A; B) × HomC(B; C) −! HomC(A; C) (f; g) −! g ◦ f; called composition of morphisms; which satisfy the following axioms (i) the sets of morphisms are all disjoints, so any morphism f determines his domain and his target; (ii) the composition is associative; (iii) for any object A of C there exists a morphism idA 2 Hom(A; A), called identity morphism, such that for any object B of C and any morphisms f 2 Hom(A; B) and g 2 Hom(C; A) we have f ◦ idA = f and idA ◦ g = g. Remark 1.1.2. The above definition is the definition of what is called a locally small category. For a general category we should admit that the set of morphisms is not a set. If the class of object is in fact a set then the category is called small. For a general category we should admit that morphisms form a class.
    [Show full text]