Introduction to Category Theory/Categories Contents
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Causal Commutative Arrows Revisited
Causal Commutative Arrows Revisited Jeremy Yallop Hai Liu University of Cambridge, UK Intel Labs, USA [email protected] [email protected] Abstract init which construct terms of an overloaded type arr. Most of the Causal commutative arrows (CCA) extend arrows with additional code listings in this paper uses these combinators, which are more constructs and laws that make them suitable for modelling domains convenient for defining instances, in place of the notation; we refer such as functional reactive programming, differential equations and the reader to Paterson (2001) for the details of the desugaring. synchronous dataflow. Earlier work has revealed that a syntactic Unfortunately, speed does not always follow succinctness. Al- transformation of CCA computations into normal form can result in though arrows in poetry are a byword for swiftness, arrows in pro- significant performance improvements, sometimes increasing the grams can introduce significant overhead. Continuing with the ex- speed of programs by orders of magnitude. In this work we refor- ample above, in order to run exp, we must instantiate the abstract mulate the normalization as a type class instance and derive op- arrow with a concrete implementation, such as the causal stream timized observation functions via a specialization to stream trans- transformer SF (Liu et al. 2009) that forms the basis of signal func- formers to demonstrate that the same dramatic improvements can tions in the Yampa domain-specific language for functional reactive be achieved without leaving the language. programming (Hudak et al. 2003): newtype SF a b = SF {unSF :: a → (b, SF a b)} Categories and Subject Descriptors D.1.1 [Programming tech- niques]: Applicative (Functional) Programming (The accompanying instances for SF , which define the arrow operators, appear on page 6.) Keywords arrows, stream transformers, optimization, equational Instantiating exp with SF brings an unpleasant surprise: the reasoning, type classes program runs orders of magnitude slower than an equivalent pro- gram that does not use arrows. -
Nearly Locally Presentable Categories Are Locally Presentable Is Equivalent to Vopˇenka’S Principle
NEARLY LOCALLY PRESENTABLE CATEGORIES L. POSITSELSKI AND J. ROSICKY´ Abstract. We introduce a new class of categories generalizing locally presentable ones. The distinction does not manifest in the abelian case and, assuming Vopˇenka’s principle, the same happens in the regular case. The category of complete partial orders is the natural example of a nearly locally finitely presentable category which is not locally presentable. 1. Introduction Locally presentable categories were introduced by P. Gabriel and F. Ulmer in [6]. A category K is locally λ-presentable if it is cocomplete and has a strong generator consisting of λ-presentable objects. Here, λ is a regular cardinal and an object A is λ-presentable if its hom-functor K(A, −): K → Set preserves λ-directed colimits. A category is locally presentable if it is locally λ-presentable for some λ. This con- cept of presentability formalizes the usual practice – for instance, finitely presentable groups are precisely groups given by finitely many generators and finitely many re- lations. Locally presentable categories have many nice properties, in particular they are complete and co-wellpowered. Gabriel and Ulmer [6] also showed that one can define locally presentable categories by using just monomorphisms instead all morphisms. They defined λ-generated ob- jects as those whose hom-functor K(A, −) preserves λ-directed colimits of monomor- phisms. Again, this concept formalizes the usual practice – finitely generated groups are precisely groups admitting a finite set of generators. This leads to locally gener- ated categories, where a cocomplete category K is locally λ-generated if it has a strong arXiv:1710.10476v2 [math.CT] 2 Apr 2018 generator consisting of λ-generated objects and every object of K has only a set of strong quotients. -
Categories of Modules for Idempotent Rings and Morita Equivalences
Master's Thesis Categories of Modules for Idempotent Rings and Morita Equivalences I Leandro Marm 1997 t Department of Mathematics University of Glasgow University Gardens Glasgow, G12 8QW ProQuest Number: 13834261 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a com plete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. uest ProQuest 13834261 Published by ProQuest LLC(2019). Copyright of the Dissertation is held by the Author. All rights reserved. This work is protected against unauthorized copying under Title 17, United States C ode Microform Edition © ProQuest LLC. ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106- 1346 10$ af 7 En resolucion, el se enfrasco tanto en su lectura, que se le pasaban las noches leyendo de claro en claro, y los dias de turbio en turbio; y asi, del poco dormir y del mucho leer se le seco el celebro 1 de manera, que vino a perder el juicio. M iguel de C ervantes Sa a v e d r a : El Ingenioso Hidalgo don Quijote de la Mancha. 1In modern Spanish this word is written ”cerebro” C ontents Chapter 1, Introduction 4 Chapter 2. Categories of Modules for Rings I 7 1. Noncommutative Localization 7 2. The Construction of the Categories 11 3. The Equivalence of the Categories 24 4. The Independence of the Base Ring 28 Chapter 3. -
The Category of Sheaves Is a Topos Part 2
The category of sheaves is a topos part 2 Patrick Elliott Recall from the last talk that for a small category C, the category PSh(C) of presheaves on C is an elementary topos. Explicitly, PSh(C) has the following structure: • Given two presheaves F and G on C, the exponential GF is the presheaf defined on objects C 2 obC by F G (C) = Hom(hC × F; G); where hC = Hom(−;C) is the representable functor associated to C, and the product × is defined object-wise. • Writing 1 for the constant presheaf of the one object set, the subobject classifier true : 1 ! Ω in PSh(C) is defined on objects by Ω(C) := fS j S is a sieve on C in Cg; and trueC : ∗ ! Ω(C) sends ∗ to the maximal sieve t(C). The goal of this talk is to refine this structure to show that the category Shτ (C) of sheaves on a site (C; τ) is also an elementary topos. To do this we must make use of the sheafification functor defined at the end of the first talk: Theorem 0.1. The inclusion functor i : Shτ (C) ! PSh(C) has a left adjoint a : PSh(C) ! Shτ (C); called sheafification, or the associated sheaf functor. Moreover, this functor commutes with finite limits. Explicitly, a(F) = (F +)+, where + F (C) := colimS2τ(C)Match(S; F); where Match(S; F) is the set of matching families for the cover S of C, and the colimit is taken over all covering sieves of C, ordered by reverse inclusion. -
An Exploration of the Effects of Enhanced Compiler Error Messages for Computer Programming Novices
Technological University Dublin ARROW@TU Dublin Theses LTTC Programme Outputs 2015-11 An Exploration Of The Effects Of Enhanced Compiler Error Messages For Computer Programming Novices Brett A. Becker Technological University Dublin Follow this and additional works at: https://arrow.tudublin.ie/ltcdis Part of the Computer and Systems Architecture Commons, and the Educational Methods Commons Recommended Citation Becker, B. (2015) An exploration of the effects of enhanced compiler error messages for computer programming novices. Thesis submitted to Technologicl University Dublin in part fulfilment of the requirements for the award of Masters (M.A.) in Higher Education, November 2015. This Theses, Masters is brought to you for free and open access by the LTTC Programme Outputs at ARROW@TU Dublin. It has been accepted for inclusion in Theses by an authorized administrator of ARROW@TU Dublin. For more information, please contact [email protected], [email protected]. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 License An Exploration of the Effects of Enhanced Compiler Error Messages for Computer Programming Novices A thesis submitted to Dublin Institute of Technology in part fulfilment of the requirements for the award of Masters (M.A.) in Higher Education by Brett A. Becker November 2015 Supervisor: Dr Claire McDonnell Learning Teaching and Technology Centre, Dublin Institute of Technology Declaration I certify that this thesis which I now submit for examination for the award of Masters (M.A.) in Higher Education is entirely my own work and has not been taken from the work of others, save and to the extent that such work has been cited and acknowledged within the text of my own work. -
Monomorphism - Wikipedia, the Free Encyclopedia
Monomorphism - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Monomorphism Monomorphism From Wikipedia, the free encyclopedia In the context of abstract algebra or universal algebra, a monomorphism is an injective homomorphism. A monomorphism from X to Y is often denoted with the notation . In the more general setting of category theory, a monomorphism (also called a monic morphism or a mono) is a left-cancellative morphism, that is, an arrow f : X → Y such that, for all morphisms g1, g2 : Z → X, Monomorphisms are a categorical generalization of injective functions (also called "one-to-one functions"); in some categories the notions coincide, but monomorphisms are more general, as in the examples below. The categorical dual of a monomorphism is an epimorphism, i.e. a monomorphism in a category C is an epimorphism in the dual category Cop. Every section is a monomorphism, and every retraction is an epimorphism. Contents 1 Relation to invertibility 2 Examples 3 Properties 4 Related concepts 5 Terminology 6 See also 7 References Relation to invertibility Left invertible morphisms are necessarily monic: if l is a left inverse for f (meaning l is a morphism and ), then f is monic, as A left invertible morphism is called a split mono. However, a monomorphism need not be left-invertible. For example, in the category Group of all groups and group morphisms among them, if H is a subgroup of G then the inclusion f : H → G is always a monomorphism; but f has a left inverse in the category if and only if H has a normal complement in G. -
Directing Javascript with Arrows
Directing JavaScript with Arrows Khoo Yit Phang Michael Hicks Jeffrey S. Foster Vibha Sazawal University of Maryland, College Park {khooyp,mwh,jfoster,vibha}@cs.umd.edu Abstract callback with a (short) timeout. Unfortunately, this style of event- JavaScript programmers make extensive use of event-driven pro- driven programming is tedious, error-prone, and hampers reuse. gramming to help build responsive web applications. However, The callback sequencing code is strewn throughout the program, standard approaches to sequencing events are messy, and often and very often each callback must hard-code the names of the next lead to code that is difficult to understand and maintain. We have events and callbacks in the chain. found that arrows, a generalization of monads, are an elegant solu- To combat this problem, many researchers and practitioners tion to this problem. Arrows allow us to easily write asynchronous have developed libraries to ease the construction of rich and highly programs in small, modular units of code, and flexibly compose interactive web applications. Examples include jQuery (jquery. them in many different ways, while nicely abstracting the details of com), Prototype (prototypejs.org), YUI (developer.yahoo. asynchronous program composition. In this paper, we present Ar- com/yui), MochiKit (mochikit.com), and Dojo (dojotoolkit. rowlets, a new JavaScript library that offers arrows to the everyday org). These libraries generally provide high-level APIs for com- JavaScript programmer. We show how to use Arrowlets to construct mon features, e.g., drag-and-drop, animation, and network resource a variety of state machines, including state machines that branch loading, as well as to handle API differences between browsers. -
Classifying Categories the Jordan-Hölder and Krull-Schmidt-Remak Theorems for Abelian Categories
U.U.D.M. Project Report 2018:5 Classifying Categories The Jordan-Hölder and Krull-Schmidt-Remak Theorems for Abelian Categories Daniel Ahlsén Examensarbete i matematik, 30 hp Handledare: Volodymyr Mazorchuk Examinator: Denis Gaidashev Juni 2018 Department of Mathematics Uppsala University Classifying Categories The Jordan-Holder¨ and Krull-Schmidt-Remak theorems for abelian categories Daniel Ahlsen´ Uppsala University June 2018 Abstract The Jordan-Holder¨ and Krull-Schmidt-Remak theorems classify finite groups, either as direct sums of indecomposables or by composition series. This thesis defines abelian categories and extends the aforementioned theorems to this context. 1 Contents 1 Introduction3 2 Preliminaries5 2.1 Basic Category Theory . .5 2.2 Subobjects and Quotients . .9 3 Abelian Categories 13 3.1 Additive Categories . 13 3.2 Abelian Categories . 20 4 Structure Theory of Abelian Categories 32 4.1 Exact Sequences . 32 4.2 The Subobject Lattice . 41 5 Classification Theorems 54 5.1 The Jordan-Holder¨ Theorem . 54 5.2 The Krull-Schmidt-Remak Theorem . 60 2 1 Introduction Category theory was developed by Eilenberg and Mac Lane in the 1942-1945, as a part of their research into algebraic topology. One of their aims was to give an axiomatic account of relationships between collections of mathematical structures. This led to the definition of categories, functors and natural transformations, the concepts that unify all category theory, Categories soon found use in module theory, group theory and many other disciplines. Nowadays, categories are used in most of mathematics, and has even been proposed as an alternative to axiomatic set theory as a foundation of mathematics.[Law66] Due to their general nature, little can be said of an arbitrary category. -
The Glasgow Haskell Compiler User's Guide, Version 4.08
The Glasgow Haskell Compiler User's Guide, Version 4.08 The GHC Team The Glasgow Haskell Compiler User's Guide, Version 4.08 by The GHC Team Table of Contents The Glasgow Haskell Compiler License ........................................................................................... 9 1. Introduction to GHC ....................................................................................................................10 1.1. The (batch) compilation system components.....................................................................10 1.2. What really happens when I “compile” a Haskell program? .............................................11 1.3. Meta-information: Web sites, mailing lists, etc. ................................................................11 1.4. GHC version numbering policy .........................................................................................12 1.5. Release notes for version 4.08 (July 2000) ........................................................................13 1.5.1. User-visible compiler changes...............................................................................13 1.5.2. User-visible library changes ..................................................................................14 1.5.3. Internal changes.....................................................................................................14 2. Installing from binary distributions............................................................................................16 2.1. Installing on Unix-a-likes...................................................................................................16 -
Toposes Are Adhesive
Toposes are adhesive Stephen Lack1 and Pawe lSoboci´nski2? 1 School of Computing and Mathematics, University of Western Sydney, Australia 2 Computer Laboratory, University of Cambridge, United Kingdom Abstract. Adhesive categories have recently been proposed as a cate- gorical foundation for facets of the theory of graph transformation, and have also been used to study techniques from process algebra for reason- ing about concurrency. Here we continue our study of adhesive categories by showing that toposes are adhesive. The proof relies on exploiting the relationship between adhesive categories, Brown and Janelidze’s work on generalised van Kampen theorems as well as Grothendieck’s theory of descent. Introduction Adhesive categories [11,12] and their generalisations, quasiadhesive categories [11] and adhesive hlr categories [6], have recently begun to be used as a natural and relatively simple general foundation for aspects of the theory of graph transfor- mation, following on from previous work in this direction [5]. By covering several “graph-like” categories, they serve as a useful framework in which to prove struc- tural properties. They have also served as a bridge allowing the introduction of techniques from process algebra to the field of graph transformation [7, 13]. From a categorical point of view, the work follows in the footsteps of dis- tributive and extensive categories [4] in the sense that they study a particular relationship between certain finite limits and finite colimits. Indeed, whereas distributive categories are concerned with the distributivity of products over co- products and extensive categories with the relationship between coproducts and pullbacks, the various flavours of adhesive categories consider the relationship between certain pushouts and pullbacks. -
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. -
SOME USEFUL STRUCTURES for CATEGORICAL APPROACH for PROGRAM BEHAVIOR in Computer Science, Where We Often Use More Complex Structures Not Expressible by Sets
JIOS, VOL. 35, NO. 1 (2011) SUBMITTED 02/11; ACCEPTED 03/11 UDC 004.423.45 [ SomeSome useful Useful structures Structures for categorical for Categorical approach Approach for program for Programbehavior Behavior Viliam Slodicákˇ [email protected] Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical university of Košice Letná 9, 042 00 Košice Slovak Republic Abstract Using of category theory in computer science has extremely grown in the last decade. Categories allow us to express mathematical structures in unified way. Algebras are used for constructing basic structures used in computer programs. A program can be considered as an element of the initial algebra arising from the used programming language. In our contribution we formulate two ways of expressing algebras in categories. We also construct the codomain functor from the arrow category of algebras into the base category of sets which objects are also the carrier-sets of the algebras. This functor expresses the relation between algebras and carrier-sets. Keywords: Algebra, arrow category, monad, Kleisli category, codomain functor 1. Introduction Knowing and proving of the expected behavior of complex program systems is very important and actual rôle. It carries the time and cost savings: in mathematics [8] or in practical applications of economical character. The aim of programming is to construct such correct programs and program systems that during their execution provide expected behavior [7]. A program can be considered as an element of the initial algebra arising from the used programming language [14]. Algebraic structures and number systems are widely used in computer science.