Category Theory for Functional Programmers Functors, Natural Transformations, Adjunctions

Total Page:16

File Type:pdf, Size:1020Kb

Category Theory for Functional Programmers Functors, Natural Transformations, Adjunctions Category Theory for Functional Programmers Functors, Natural Transformations, Adjunctions Nick Hu University of Oxford [email protected] ABSTRACT GROUNDWORK Category Theory is a very abstract theory of mathematical A category 풞 is defined by a collection of objects, ob (풞), and structure, which has strong links with functional program- a collection of morphisms, hom (풞), which are maps between ming. In this essay, I explore basic category theory construc- objects. A morphism 푓 has a domain dom (푓) and a codomain tions using insights from functional programming to provide cod (푓), which are objects, and 푓∶ 푋 → 푌 or equivalently 푓 examples and motivation. The categorical triad of functori- 푋 → 푌 is written to denote that 푓 is a morphism with ality, naturality, and universality (adjunction) is ubiquitous domain 푋 and codomain 푌. in mathematical spheres, and I aim to cover it in a brief yet elucidating manner, unburdened from complex heavy rigour Categories must also satisfy the following conditions: present in almost any graduate text on category theory. • for each object 푋, there exists a morphism idX ∶ 푋 → 푋; • for any two morphisms 푓∶ 푋 → 푌, 푔∶ 푌 → 푍, there exists a composite morphism 푔 ∘ 푓∶ 푋 → 푍. INTRODUCTION Composition must be associative, and identity morphisms must act as a unit to composition, as shown in the following Categories are the essence of composition, category theory commutative diagrams: yields a ubiquitous language interesting to logicians, philoso- 푓 푓 phers, computer scientists, mathematicians, and physicists 푋 푌 푋 푌 alike. In fact, Baez (2010) goes on to suggest that often idX idY different concepts in wildly different disciplines are actually 푓 푓 merely different exposition for ‘the same’ phenomena. 푋 푌 For computer science especially, category theory ‘gives a In a category, identity morphisms are necessarily unique. precise handle on important notions such as compositional- The category which we are primarily interested in is Hask, ity, abstraction, representation-independence, genericity and which has Haskell types as its objects and Haskell functions more’ (Abramsky and Tzevelekos 2010). as its morphisms. More fundamental still, is that category theory attempts to To see that this forms a category, recall the polymorphic address and challenge the age-old problem of what formal function: ‘equality’ means and what is actually desirable — notions of equality from set theory are fraying at the edges in modern id :: a -> a mathematics, as seen in the new and fast-moving field of id x = x Homotopy Type Theory. then if any type A is an object of Hask, its identity mor- Certain categories, which will be touched on later, suffice to phism is given by the monomorphic specialisation of id to model computation and logic; a prime example of this is the id :: A -> A. relationship between the simply-typed 휆-calculus, intuitionis- Morphisms compose via ordinary Haskell function composi- tic logic, and Cartesian Closed Categories, as stipulated by tion (post monomorphic specialisation): the Curry-Howard-Lambek correspondence. (.) :: (b -> c) -> (a -> b) -> a -> c Much of this essay is inspired by Bartosz Milewski’s excellent (.) g f = \x -> g (f x) book on Category Theory for Programmers (2017), and that is where the title comes from — a lot of this work can be For Hask to really be a category, ‘fast and loose reasoning’ regarded as my personal distillation and insights from reading will be used to conveniently pretend that Haskell functions it, presented as briefly as I could justify. are total, and ignore concerns arising from ⊥ (Danielsson et al. 2006). Throughout this essay, I will make assertions in bold — the reader may treat these assertions as exercises to justify. These functions are sufficient to establish Hask as a category. Nick Hu In category theory, we generally don’t care about what the is as translations between different representations of the objects are, but instead how they interact with each other same data — a linked list can be traversed and the contents (via morphisms). dumped into an array, and similarly a linked list can be built from the contents of an array. Other examples of a category include: • Set, with objects as sets and morphisms as set-functions between them; LIMITS AND COLIMITS • Pos, with objects as partially ordered sets and morphisms In a category 풞, a terminal object 1 is an object where every as monotone maps; other object 푋 in 풞 has a unique morphism 휄푋 targeting it • the category of a specific preordered set (푋, ≺), with 휄푋 objects 푥 ∈ 푋 and morphisms 푥 → 푦 ⟺ 푥 ≺ 푦;1 (i.e. ∀푋 ∈ ob (풞) ⋅ ∃! 휄푋 ⋅ 푋 → 1). Dually, an initial object 0 • the category of a specific monoid (푀, ⋅, 푒), with a single is an object where every other object 푋 in 풞 has a unique object and morphisms 푚 ∈ 푀. The identity morphism is morphism !푋 originating from it. Initial and terminal objects given by 푒, and composition is given by ⋅. If instead we are unique up to unique isomorphism. have a group, then all of the morphisms are isomorphisms; In Set, ∅ is initial, and the singleton set {∗} is terminal. • Cat, with objects as categories2 and morphisms as func- To see why, consider the number of functions 푓푋 ∶ ∅ → 푋; tors; there is only one such function: the empty function. For any • 풞op, the dual category to 풞 with the direction of its set 푋, there is only one function 푓푋 ∶ 푋 → {∗}: the constant morphisms reversed — 푓∶ 푋 → 푌 ∈ hom (풞) ⟺ 푓∶ 푌 → op op function. This can be checked by considering that the number 푋 ∈ hom (풞 ). If 풞 = 풞 then 풞 is self-dual; |푋| of functions from two sets 푋 and 푌 is |푌| — for the initial • Rel, with objects as sets and relations as morphisms; 0 Rel is self-dual because relations are symmetric whereas object we have |푋| = 1, and for the terminal object we have |푋| functions are not. 1 = 1. The category Set is very important, and new concepts will In Hask, the initial object is a type Void which has no con- frequently be introduced via Set. structors. The unique morphism associated to it is: absurd :: Void -> a Isomorphism As Void has no inhabitants, there is no meaningful definition In a category 풞, if there is a morphism 푓∶ 푋 → 푌, and for this function, just as the empty set-function has no mean- a morphism 푔∶ 푌 → 푋 such that the following diagram ingful map. The unit type, (), is terminal, and the unique commutes: morphism associated to it is: 푓 unit :: a -> () id 푋 푌 id X 푔 Y unit _ = () then 푋 and 푌 are isomorphic, and 푓 and 푔 are isomorphisms. or equivalently unit = const (). The problem of equality is a far-ranging one, but the usual def- A useful, but naïve, intuition for the relationship between inition of extensional equality (or even intensional equality) is Hask and Set is to treat each type as a set with cardinality often too strict. In category theory, isomorphism is commonly equal to the number of inhabitants of that type. Void has no regarded as a sufficient notion of ‘sameness’; often, category inhabitants, and thus corresponds to the empty set. Similarly, theorists come up with universal constructions establishing unit has a single inhabitant () — it is unimportant what some property that is ‘unique up to unique isomorphism’ that is, because all singleton sets are trivially canonically (canonical isomorphism). isomorphic. An analogy from programming is the abstraction barrier: in A product of two sets 푋 and 푌 is traditionally given general, we don’t really care how an interface is implemented by {(푥, 푦) ∣ 푥 ∈ 푋, 푦 ∈ 푌} — the Cartesian product con- given that it fully satisfies the specification. A stack can be struction. The product can alternatively be defined to be implemented using a linked list, a heap, or an array, and {(푦, 푥)|푥 ∈ 푋, 푦 ∈ 푌}, or even {(푥, ∅, 푦) ∣ 푥 ∈ 푋, 푦 ∈ 푌}. As correct implementations will behave indistinguishably in the long as our theorems about products of sets are aware of abstract — in the concrete, implementations will behave which representation is chosen, they still hold, and indeed differently, but beyond the concern of rationally reasoning these representations are isomorphic to each other. about correctness. Another way of viewing the isomorphisms Categorically, this implementation detail can be abstracted 1Identity morphisms exist due to the reflexivity of the ordering relation, away, and instead a product is defined in terms of an abstract and composite morphisms from transitivity. 푋 푌 2 interface: a product of two objects and is an object Which are small — 풞 is small when its collections of objects and 푋 × 푌 휋 ∶ 푋 × 푌 → 푋 morphisms are set-sized. Cat itself is large, but otherwise we will only along with projection maps 1 and consider small categories. 휋2 ∶ 푋 × 푌 → 푌. Category Theory for Functional Programmers 푖 푖 However, this definition is insufficient — the Cartesian 푋 1 푋 + 푌 2 푌 set product 푋 × 푌 × {0, 1} as a categorical product of objects 푋 and 푌 in Set, with projection maps 휋 (푥, 푦, 0) ↦ 푥, [푓,푔] 1 푓 푔 휋1(푥, 푦, 1) ↦ 푥 (and similarly for 휋2) satisfies this definition, but this ‘product’ contains an extra bit of information. We 푍 want our notions of product to be isomorphic to each other, In Set, the coproduct of 푋 and 푌 is given by the disjoint but there is no canonical mapping between the Cartesian set union 푋 ⊎ 푌. In Hask, coproducts of types are sum types products 푋 × 푌 → 푋 × 푌 × {0, 1}. But the reverse map exists tagged by constructors; the canonical example: canonically by simply forgetting the extra bit of information; in general, this corresponds to the existence of a morphism data Either a b = Left a | Right b in Set from ‘products’ with too much information, to the is the coproduct of polymorphic types a and b, with con- traditional Cartesian product.
Recommended publications
  • Quantum Heaps, Cops and Heapy Categories
    Mathematical Communications 12(2007), 1-9 1 Quantum heaps, cops and heapy categories Zoran Skodaˇ ∗ Abstract. A heap is a structure with a ternary operation which is intuitively a group with a forgotten unit element. Quantum heaps are associative algebras with a ternary cooperation which are to Hopf algebras what heaps are to groups, and, in particular, the category of copointed quantum heaps is isomorphic to the category of Hopf algebras. There is an intermediate structure of a cop in a monoidal category which is in the case of vector spaces to a quantum heap about what a coalge- bra is to a Hopf algebra. The representations of Hopf algebras make a rigid monoidal category. Similarly, the representations of quantum heaps make a kind of category with ternary products, which we call a heapy category. Key words: quantum algebra, rings, algebras AMS subject classifications: 20N10, 16A24 Received January 25, 2007 Accepted February 1, 2007 1. Classical background: heaps A reference for this section is [1]. 1.1 Before forgetting: group as heap. Let G be a group. Then the ternary operation t : G × G × G → G given by t(a, b, c)=ab−1c, (1) satisfies the following relations: t(b, b, c)=c = t(c, b, b) (2) t(a, b, t(c, d, e)) = t(t(a, b, c),d,e) Aheap(H, t) is a pair of nonempty set H and a ternary operation t : H × H × H satisfying relation (2). A morphism f :(H, t) → (H,t) of heaps is a set map f : H → H satisfying t ◦ (f × f × f)=f ◦ t.
    [Show full text]
  • 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.
    [Show full text]
  • 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]
  • Ordered Groupoids and the Holomorph of an Inverse Semigroup
    ORDERED GROUPOIDS AND THE HOLOMORPH OF AN INVERSE SEMIGROUP N.D. GILBERT AND E.A. MCDOUGALL ABSTRACT. We present a construction for the holomorph of an inverse semi- group, derived from the cartesian closed structure of the category of ordered groupoids. We compare the holomorph with the monoid of mappings that pre- serve the ternary heap operation on an inverse semigroup: for groups these two constructions coincide. We present detailed calculations for semilattices of groups and for the polycyclic monoids. INTRODUCTION The holomorph of a group G is the semidirect product of Hol(G) = Aut(G) n G of G and its automorphism group (with the natural action of Aut(G) on G). The embedding of Aut(G) into the symmetric group ΣG on G extends to an embedding of Hol(G) into ΣG where g 2 G is identified with its (right) Cayley representation ρg : a 7! ag. Then Hol(G) is the normalizer of G in ΣG ([15, Theorem 9.17]). A second interesting characterization of Hol(G) is due to Baer [1] (see also [3] and [15, Exercise 520]). The heap operation on G is the ternary operation defined by ha; b; ci = ab−1c. Baer shows that a subset of G is closed under the heap operation if and only if it is a coset of some subgroup, and that the subset of ΣG that preserves h· · ·i is precisely Hol(G): that is, if σ 2 ΣG, then for all a; b; c; 2 G we have ha; b; ciσ = haσ; bσ; cσi if and only if σ 2 Hol(G).
    [Show full text]
  • Geometric Modality and Weak Exponentials
    Geometric Modality and Weak Exponentials Amirhossein Akbar Tabatabai ∗ Institute of Mathematics Academy of Sciences of the Czech Republic [email protected] Abstract The intuitionistic implication and hence the notion of function space in constructive disciplines is both non-geometric and impred- icative. In this paper we try to solve both of these problems by first introducing weak exponential objects as a formalization for predica- tive function spaces and then by proposing modal spaces as a way to introduce a natural family of geometric predicative implications based on the interplay between the concepts of time and space. This combination then leads to a brand new family of modal propositional logics with predicative implications and then to topological semantics for these logics and some weak modal and sub-intuitionistic logics, as well. Finally, we will lift these notions and the corresponding relations to a higher and more structured level of modal topoi and modal type theory. 1 Introduction Intuitionistic logic appears in different many branches of mathematics with arXiv:1711.01736v1 [math.LO] 6 Nov 2017 many different and interesting incarnations. In geometrical world it plays the role of the language of a topological space via topological semantics and in a higher and more structured level, it becomes the internal logic of any elementary topoi. On the other hand and in the theory of computations, the intuitionistic logic shows its computational aspects as a method to describe the behavior of computations using realizability interpretations and in cate- gory theory it becomes the syntax of the very central class of Cartesian closed categories.
    [Show full text]
  • On the Constructive Elementary Theory of the Category of Sets
    On the Constructive Elementary Theory of the Category of Sets Aruchchunan Surendran Ludwig-Maximilians-University Supervision: Dr. I. Petrakis August 14, 2019 1 Contents 1 Introduction 2 2 Elements of basic Category Theory 3 2.1 The category Set ................................3 2.2 Basic definitions . .4 2.3 Basic properties of Set .............................6 2.3.1 Epis and monos . .6 2.3.2 Elements as arrows . .8 2.3.3 Binary relations as monic arrows . .9 2.3.4 Coequalizers as quotient sets . 10 2.4 Membership of elements . 12 2.5 Partial and total arrows . 14 2.6 Cartesian closed categories (CCC) . 16 2.6.1 Products of objects . 16 2.6.2 Application: λ-Calculus . 18 2.6.3 Exponentials . 21 3 Constructive Elementary Theory of the Category of Sets (CETCS) 26 3.1 Constructivism . 26 3.2 Axioms of ETCS . 27 3.3 Axioms of CETCS . 28 3.4 Π-Axiom . 29 3.5 Set-theoretic consequences . 32 3.5.1 Quotient Sets . 32 3.5.2 Induction . 34 3.5.3 Constructing new relations with logical operations . 35 3.6 Correspondence to standard categorical formulations . 42 1 1 Introduction The Elementary Theory of the Category of Sets (ETCS) was first introduced by William Lawvere in [4] in 1964 to give an axiomatization of sets. The goal of this thesis is to describe the Constructive Elementary Theory of the Category of Sets (CETCS), following its presentation by Erik Palmgren in [2]. In chapter 2. we discuss basic elements of Category Theory. Category Theory was first formulated in the year 1945 by Eilenberg and Mac Lane in their paper \General theory of natural equivalences" and is the study of generalized functions, called arrows, in an abstract algebra.
    [Show full text]
  • Friday September 20 Lecture Notes
    Friday September 20 Lecture Notes 1 Functors Definition Let C and D be categories. A functor (or covariant) F is a function that assigns each C 2 Obj(C) an object F (C) 2 Obj(D) and to each f : A ! B in C, a morphism F (f): F (A) ! F (B) in D, satisfying: For all A 2 Obj(C), F (1A) = 1FA. Whenever fg is defined, F (fg) = F (f)F (g). e.g. If C is a category, then there exists an identity functor 1C s.t. 1C(C) = C for C 2 Obj(C) and for every morphism f of C, 1C(f) = f. For any category from universal algebra we have \forgetful" functors. e.g. Take F : Grp ! Cat of monoids (·; 1). Then F (G) is a group viewed as a monoid and F (f) is a group homomorphism f viewed as a monoid homomor- phism. e.g. If C is any universal algebra category, then F : C! Sets F (C) is the underlying sets of C F (f) is a morphism e.g. Let C be a category. Take A 2 Obj(C). Then if we define a covariant Hom functor, Hom(A; ): C! Sets, defined by Hom(A; )(B) = Hom(A; B) for all B 2 Obj(C) and f : B ! C, then Hom(A; )(f) : Hom(A; B) ! Hom(A; C) with g 7! fg (we denote Hom(A; ) by f∗). Let us check if f∗ is a functor: Take B 2 Obj(C). Then Hom(A; )(1B) = (1B)∗ : Hom(A; B) ! Hom(A; B) and for g 2 Hom(A; B), (1B)∗(g) = 1Bg = g.
    [Show full text]
  • 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.
    [Show full text]
  • Arxiv:1909.05807V1 [Math.RA] 12 Sep 2019 Cs T
    MODULES OVER TRUSSES VS MODULES OVER RINGS: DIRECT SUMS AND FREE MODULES TOMASZ BRZEZINSKI´ AND BERNARD RYBOLOWICZ Abstract. Categorical constructions on heaps and modules over trusses are con- sidered and contrasted with the corresponding constructions on groups and rings. These include explicit description of free heaps and free Abelian heaps, coprod- ucts or direct sums of Abelian heaps and modules over trusses, and description and analysis of free modules over trusses. It is shown that the direct sum of two non-empty Abelian heaps is always infinite and isomorphic to the heap associated to the direct sums of the group retracts of both heaps and Z. Direct sum is used to extend a given truss to a ring-type truss or a unital truss (or both). Free mod- ules are constructed as direct sums of a truss. It is shown that only free rank-one modules are free as modules over the associated truss. On the other hand, if a (finitely generated) module over a truss associated to a ring is free, then so is the corresponding quotient-by-absorbers module over this ring. 1. Introduction Trusses and skew trusses were defined in [3] in order to capture the nature of the distinctive distributive law that characterises braces and skew braces [12], [6], [9]. A (one-sided) truss is a set with a ternary operation which makes it into a heap or herd (see [10], [11], [1] or [13]) together with an associative binary operation that distributes (on one side or both) over the heap ternary operation. If the specific bi- nary operation admits it, a choice of a particular element could fix a group structure on a heap in a way that turns the truss into a ring or a brace-like system (which becomes a brace provided the binary operation admits inverses).
    [Show full text]
  • Adjoint and Representable Functors
    What underlies dual-process cognition? Adjoint and representable functors Steven Phillips ([email protected]) Mathematical Neuroinformatics Group, Human Informatics Research Institute, National Institute of Advanced Industrial Science and Technology (AIST), Tsukuba, Ibaraki 305-8566 JAPAN Abstract & Stanovich, 2013, for the model and responses to the five criticisms). According to this model, cognition defaults to Despite a general recognition that there are two styles of think- ing: fast, reflexive and relatively effortless (Type 1) versus slow, Type 1 processes that can be intervened upon by Type 2 pro- reflective and effortful (Type 2), dual-process theories of cogni- cesses in response to task demands. However, this model is tion remain controversial, in particular, for their vagueness. To still far from the kinds of formal, computational explanations address this lack of formal precision, we take a mathematical category theory approach towards understanding what under- that prevail in cognitive science. lies the relationship between dual cognitive processes. From our category theory perspective, we show that distinguishing ID Criticism of dual-process theories features of Type 1 versus Type 2 processes are exhibited via adjoint and representable functors. These results suggest that C1 Theories are multitudinous and definitions vague category theory provides a useful formal framework for devel- C2 Type 1/2 distinctions do not reliably align oping dual-process theories of cognition. C3 Cognitive styles vary continuously, not discretely Keywords: dual-process; Type 1; Type 2; category theory; C4 Single-process theories provide better explanations category; functor; natural transformation; adjoint C5 Evidence for dual-processing is unconvincing Introduction Table 2: Five criticisms of dual-process theories (Evans & Intuitively, at least, human cognition involves two starkly dif- Stanovich, 2013).
    [Show full text]
  • Toric Heaps, Cyclic Reducibility, and Conjugacy in Coxeter Groups 3
    TORIC HEAPS, CYCLIC REDUCIBILITY, AND CONJUGACY IN COXETER GROUPS SHIH-WEI CHAO AND MATTHEW MACAULEY ABSTRACT. As a visualization of Cartier and Foata’s “partially commutative monoid” theory, G.X. Viennot introduced heaps of pieces in 1986. These are essentially labeled posets satisfying a few additional properties. They naturally arise as models of reduced words in Coxeter groups. In this paper, we introduce a cyclic version, motivated by the idea of taking a heap and wrapping it into a cylinder. We call this object a toric heap, as we formalize it as a labeled toric poset, which is a cyclic version of an ordinary poset. To define the concept of a toric extension, we develop a morphism in the category of toric heaps. We study toric heaps in Coxeter theory, in view of the fact that a cyclic shift of a reduced word is simply a conjugate by an initial or terminal generator. This allows us to formalize and study a framework of cyclic reducibility in Coxeter theory, and apply it to model conjugacy. We introduce the notion of torically reduced, which is stronger than being cyclically reduced for group elements. This gives rise to a new class of elements called torically fully commutative (TFC), which are those that have a unique cyclic commutativity class, and comprise a strictly bigger class than the cyclically fully commutative (CFC) elements. We prove several cyclic analogues of results on fully commutative (FC) elements due to Stembridge. We conclude with how this framework fits into recent work in Coxeter groups, and we correct a minor flaw in a few recently published theorems.
    [Show full text]
  • 1 Category Theory
    {-# LANGUAGE RankNTypes #-} module AbstractNonsense where import Control.Monad 1 Category theory Definition 1. A category consists of • a collection of objects • and a collection of morphisms between those objects. We write f : A → B for the morphism f connecting the object A to B. • Morphisms are closed under composition, i.e. for morphisms f : A → B and g : B → C there exists the composed morphism h = f ◦ g : A → C1. Furthermore we require that • Composition is associative, i.e. f ◦ (g ◦ h) = (f ◦ g) ◦ h • and for each object A there exists an identity morphism idA such that for all morphisms f : A → B: f ◦ idB = idA ◦ f = f Many mathematical structures form catgeories and thus the theorems and con- structions of category theory apply to them. As an example consider the cate- gories • Set whose objects are sets and morphisms are functions between those sets. • Grp whose objects are groups and morphisms are group homomorphisms, i.e. structure preserving functions, between those groups. 1.1 Functors Category theory is mainly interested in relationships between different kinds of mathematical structures. Therefore the fundamental notion of a functor is introduced: 1The order of the composition is to be read from left to right in contrast to standard mathematical notation. 1 Definition 2. A functor F : C → D is a transformation between categories C and D. It is defined by its action on objects F (A) and morphisms F (f) and has to preserve the categorical structure, i.e. for any morphism f : A → B: F (f(A)) = F (f)(F (A)) which can also be stated graphically as the commutativity of the following dia- gram: F (f) F (A) F (B) f A B Alternatively we can state that functors preserve the categorical structure by the requirement to respect the composition of morphisms: F (idC) = idD F (f) ◦ F (g) = F (f ◦ g) 1.2 Natural transformations Taking the construction a step further we can ask for transformations between functors.
    [Show full text]