Elements of Category Theory

Similar documents
Introduction to Restriction Categories

PART I. Abstract algebraic categories

CATEGORY THEORY. Cats have been around for 70 years. Eilenberg + Mac Lane =. Cats are about building bridges between different parts of maths.

Review of category theory

Category Theory. Categories. Definition.

Algebras. Larry Moss Indiana University, Bloomington. TACL 13 Summer School, Vanderbilt University

Adjunctions! Everywhere!

Topological aspects of restriction categories

FUNCTORS AND ADJUNCTIONS. 1. Functors

Maps and Monads for Modal Frames

Conceptual Connections of Circularity and Category Theory

Category Theory. Travis Dirle. December 12, 2017

COMMUTATIVE ALGEBRA LECTURE 1: SOME CATEGORY THEORY

Assume the left square is a pushout. Then the right square is a pushout if and only if the big rectangle is.

FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 2

3. Categories and Functors We recall the definition of a category: Definition 3.1. A category C is the data of two collections. The first collection

ON EXTENSION OF FUNCTORS ONTO THE KLEISLI CATEGORY OF THE INCLUSION HYPERSPACE MONAD. Andrii Teleiko

Category Theory (UMV/TK/07)

Representable presheaves

A brief Introduction to Category Theory

Cellularity, composition, and morphisms of algebraic weak factorization systems

9 Direct products, direct sums, and free abelian groups

Categories and Functors (Lecture Notes for Midlands Graduate School, 2012) Uday S. Reddy The University of Birmingham

What s category theory, anyway? Dedicated to the memory of Dietmar Schumacher ( )

Locally cartesian closed categories

1 Categorical Background

GALOIS CATEGORIES MELISSA LYNN

A Grothendieck site is a small category C equipped with a Grothendieck topology T. A Grothendieck topology T consists of a collection of subfunctors

Categories, Functors, Natural Transformations

1. The Method of Coalgebra

Derived Categories. Mistuo Hoshino

Algebraic Geometry

sset(x, Y ) n = sset(x [n], Y ).

Semantics and syntax of higher inductive types

Kleisli Category and Database Mappings

Dual Adjunctions Between Algebras and Coalgebras

A categorical view of computational effects

Semantics for algebraic operations

Notes about Filters. Samuel Mimram. December 6, 2012

Monads Need Not Be Endofunctors

Category Theory 1 Categories and functors

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Coreflections in Algebraic Quantum Logic

Lectures on Homological Algebra. Weizhe Zheng

Topological Groupoids and Exponentiability

An introduction to toposes. Richard Pettigrew Department of Philosophy University of Bristol

Categories and Functors (Lecture Notes for Midlands Graduate School, 2013) Uday S. Reddy The University of Birmingham

Modèles des langages de programmation Domaines, catégories, jeux. Programme de cette seconde séance:

Towards Mac Lane s Comparison Theorem for the (co)kleisli Construction in Coq

LOCALIZATIONS, COLOCALIZATIONS AND NON ADDITIVE -OBJECTS

Categories and Modules

Brief notes on category theory

The synthetic theory of -categories vs the synthetic theory of -categories

Theory of Categories 1. Notes M. Grandis Laurea e Laurea Magistrale in Matematica, Genova.

Complete Partial Orders, PCF, and Control

Limit Preservation from Naturality

NOTES ON ADJUNCTIONS, MONADS AND LAWVERE THEORIES. 1. Adjunctions

Differential structure, tangent structure, and SDG

C2.7: CATEGORY THEORY

An introduction to Yoneda structures

Categories and functors

Pseudo-commutative monads and pseudo-closed 2-categories

Higher Order Containers

Partial Transformations: Semigroups, Categories and Equations. Ernie Manes, UMass, Amherst Semigroups/Categories workshop U Ottawa, May 2010

A 2-CATEGORIES COMPANION

Topos Theory. Lectures 17-20: The interpretation of logic in categories. Olivia Caramello. Topos Theory. Olivia Caramello.

LAX DISTRIBUTIVE LAWS FOR TOPOLOGY, II

arxiv: v1 [math.ct] 7 Feb 2011

University of Oxford, Michaelis November 16, Categorical Semantics and Topos Theory Homotopy type theor

Lax Extensions of Coalgebra Functors and Their Logic

CONTINUITY. 1. Continuity 1.1. Preserving limits and colimits. Suppose that F : J C and R: C D are functors. Consider the limit diagrams.

1 Categories, Functors, and Natural Transformations. Discrete categories. A category is discrete when every arrow is an identity.

Compactness in Toposes

UNIVERSAL DERIVED EQUIVALENCES OF POSETS

EXAMPLES AND EXERCISES IN BASIC CATEGORY THEORY

The category of open simply-typed lambda terms

1 Introduction. 2 Categories. Mitchell Faulk June 22, 2014 Equivalence of Categories for Affine Varieties

1. Introduction and preliminaries

INTRODUCTION TO PART V: CATEGORIES OF CORRESPONDENCES

CATEGORIES ENRICHED OVER A QUANTALOID: ISBELL ADJUNCTIONS AND KAN ADJUNCTIONS

Categories and Computability

Toposym 2. Zdeněk Hedrlín; Aleš Pultr; Věra Trnková Concerning a categorial approach to topological and algebraic theories

SOME PROBLEMS AND RESULTS IN SYNTHETIC FUNCTIONAL ANALYSIS

Involutive Categories and Monoids, with a GNS-correspondence

MATH 101A: ALGEBRA I PART C: TENSOR PRODUCT AND MULTILINEAR ALGEBRA. This is the title page for the notes on tensor products and multilinear algebra.

UNIVERSITY OF CALGARY. An investigation of some theoretical aspects of reversible computing. Brett Gordon Giles A DISSERTATION

Sets and Functions. (As we will see, in describing a set the order in which elements are listed is irrelevant).

Category Theory. Steve Awodey. Carnegie Mellon University

Towards a Flowchart Diagrammatic Language for Monad-based Semantics

An algebraic description of regular epimorphisms in topology

HSP SUBCATEGORIES OF EILENBERG-MOORE ALGEBRAS

Categories, Proofs and Programs

Adjoints, naturality, exactness, small Yoneda lemma. 1. Hom(X, ) is left exact

Derived Algebraic Geometry IX: Closed Immersions

plus = +:RxR--->R, a binary operation; times = *:RxR--->R, another binary operation; constant elements zero = 0, one = 1 in R ;

On a Categorical Framework for Coalgebraic Modal Logic

Relational semantics for a fragment of linear logic

Monads and Algebras - An Introduction

FROM LAX MONAD EXTENSIONS TO TOPOLOGICAL THEORIES

Simulations in Coalgebra

Transcription:

Elements of Category Theory Robin Cockett Department of Computer Science University of Calgary Alberta, Canada robin@cpsc.ucalgary.ca Estonia, Feb. 2010

Functors and natural transformations Adjoints and Monads Limits and colimits Pullbacks

FUNCTORS A functor is a map of categories F : X Y which consists of a map F 0 of the objects and a map F 1 of the maps (we shall drop these subscripts) such that 0 (F(f )) = F( 0 (f )) and 1 (F(f )) = F( 1 (f )): f X Y F(X) F(Y ) F(f ) F(1 A ) = 1 F(A), identity maps are preserved. F(fg) = F(f )F(g), composition is preserved. Every category has an identity functor. Composition of functors is associative. Thus: Lemma Categories and functors form a category Cat.

EXAMPLES OF Set FUNCTORS The product (with A) functor A : Set Set; X f Y X A f 1 Y A (x,a) (f (x),a) The exponential functor: X A X h A : Set Set; f Y A f A Y hf

EXAMPLES OF Set FUNCTORS List on A (data L(A) = Nil Cons A L(A)) L : Set Set; X f Y L(X) L(f ) [x 1,x 2,...] L(Y ) [f (x 1 ),f (x 2 ),...] Trees on A (data T(A) = Lf A Node T(A) T(A)): T : Set Set; X f Y T(X) T(f ) Node(Lf x 1 )(Lf x 2 ) T(Y ) Node(Lf f (x 1 ))(Lf f (x 2 ))

EXAMPLES OF Set FUNCTORS The covariant powerset functor: P : Set Set; X f Y P(X) P(f ) P(Y ) X X f (X ) Y The contravariant powerset functor: P : Set op Set; f X Y P(X) P(f ) P(Y ) X X f 1 (X ) Y Note: covariant functors are functors, contravariant functors are functors BUT starting at the dual category.

NATURAL TRANSFORMATIONS Given two functors F, G : X Y a (natural) transformation α : F G is a family of maps in Y α X : F(X) G(X), indexed by the objects X X such that for every map f : X X in X the following diagram commutes: F(X) F(f ) F(X ) α X α X G(X) G(f ) G(X ) This means that Cat(X, Y) can be given the structure of a category. In fact, Cat is a Cat-enriched category (a.k.a. a 2-category). Lemma Cat(X, Y) is a category with objects functors and maps natural transformations.

NATURAL TRANSFORMATION EXAMPLE I Consider the category: TWO = E 0 0 N A functor G : TWO Set is precisely a directed graph!! A natural transformation between two functors: α : G 1 G 2 : TWO Set is precisely a morphism of the directed graphs. α N G 1 ( i )(f ) = G 2 ( i )(α E (f )).

NATURAL TRANSFORMATION EXAMPLE II Consider the category N op : 0 1 2... A functor F : N op Set is a forest. The children of a node x F(n) in the forest is given by {x F(n + 1) (x ) = x}. A natural transformation between two functors γ : F 1 F 2 : N op Set is precisely a morphism of forests: γ n (F 1 ( )(x)) = F 2 ( )(γ n+1 (x)).

NATURAL TRANSFORMATION... If functors define structure... Then natural transformation define the (natural) homomorphisms of that structure...

UNIVERSAL PROPERTY Let G : Y X be a functor and X X, then an object U Y together with a map η : X G(U) is a universal pair for the functor G (at the object X) if for any f : X G(Y ) there is a unique f : U Y such that X η X f G(U) G(Y ) G(f ) commutes.

UNIVERSAL PROPERTY EXAMPLE I let Graph be the category of directed graphs and Cat the category of categories, let the functor U : Cat Graph be the underlying functor which forgets the composition structure of a category. The map which takes a directed graph and embeds it into the graph underlying the path category as the singleton paths (paths of length one) η : G U(Path(G));[n 1 a n 2 ] (n 1,[a],n 2 ) has the universal property for this underlying functor U.

UNIVERSAL PROPERTY EXAMPLE cont. Consider a map of directed graphs into the graph underlying a category, h : G U(C), we can extend it uniquely to a functor from the path category to the category by defining h : Path(G) C;(A,[a 1,..,a n ],B) h(a 1 )..h(a n ) : h(a) h(b) This is uniquely determined by h as where the generating arrows go determines where the composite arrows go.

UNIVERSAL PROPERTY EXAMPLE... For those more mathematically inclined: Consider the category of Group then there is an obvious underlying functor U : Group Set. The pair (F(X),η) where η : X U(F(X)) is a universal pair for this underlying functor X η X f U(F(X)) U(Y ) U(f ) The diagram expresses the property of being a free group (or more generally free algebra).

ADJOINT Suppose G : Y X has for each X X a universal pair (F(X),η X ) so that X η X f G(F(X)) G(Y ) G(f ) then G is said to be a right adjoint. If h : X X X then define F(h) := (hη X ) then F is a functor... F is left adjoint to G. η : 1 X FG is a natural transformation...

ADJOINT Furthermore, ǫ Y := (1 G(Y ) ) : GF 1 Y is a natural transformation η G(Y) G(Y ) G(F(G(X))) G(Y ) U((1 G(Y ) ) )

ADJOINT This gives the following data (and adjunction): (η,ǫ) : F G : X Y F : X Y and G : Y X functors η : 1 X FG and ǫ : GF 1 Y natural transformations Triangle equalities: η G(Y) G(Y ) G(F(G(Y ))) ǫ Y G(Y ) F(η X ) F(X) F(G(F(X))) ǫ F(X) F(X) This data is purely algebraic and is precisely to ask F be left adjoint to G!

ADJOINT Another important characterization: X f = g G(Y ) F(X) g = f And another important example: cartesian closed categories: Y A X Y X A Y curry(f ) Semantics of the typed λ-calculus. f

ADJOINT Here is the couniversal property for A B: A Y f 1 curry(f ) A A B eval B curry(f ) = y λa.f (a,x)

MONADS (briefly) Given an adjunction (η,ǫ) : F G : X Y consider T := FG we have two transformations: η X : X T(X) = G(F(X)) µ X : T(T(X)) T(X) = G(F(G(F(X)))) and one can check these satisfy: G(ǫ F(X) ) G(F(X)) η T(X) T(η T(X) X ) T(T(X)) µ T(X) T(X) T(T(T(X))) T(µ) µ T(T(X)) µ T(T(X)) µ T(X) Such a (T,η,µ) is called a monad.

ADJUNCTIONS AND MONADS Any adjunction (η,ǫ) : F G : X Y generates an monad on X and a comonad on Y. Furthermore, every monad arises through an adjunction... Given a monad T = (T,η,µ) on a category X we may construct two categories with underlying right adjoints to X which generate T: the Kleisli category X T and the Eilenberg-Moore category X T so that any U : Y X a right adjoint which also generates T sits canonically between these categories: X T U Y X U U X T

MONADS AND EFFECTS Computational effects (exceptions, state, continuations, non-determinism...) can be generated by using the composition of Kleisli categories. Here is the definition of X T (e.g. think list monad): Objects: X X Maps: Identities: X X X f T(Y ) X f Y X T η X T(X) X Composition: X f T(Y ) X X 1 X X X T T(f ) T 2 (Z) f Y g Z X T µ T(Z) X

MONADS AND EFFECTS Incomplete history of monads: Named by Mac Lane (Categories for Working Mathematician) Known first as standard construction (Eilenberg, Moore) also triple (Barr) Kleisli discovered the Kleisli category Ernie Manes introduced the form of a monad used in Haskell Moggi developed computer Science examples (rediscovered Manes form for monad) and calculi for monads (probably motivated by the partial map classifier a very well behaved monad), Wadler made the connection to list comprehension and uses in programming,... do syntax. MATHEMATICS CAME FIRST ON THIS ONE...

FUNCTORIAL CALCULUS The functorial calculus has turned out to be a useful practical and theoretical tool in programming language semantics and implementation... Everyone should know it!! Although very important this is not the focus of these talks!

INITIAL AND FINAL OBJECTS An initial object in a category X is an object which has exactly one map to every object (including itself) in the category. Denote the initial object by 0 and the unique map as? A : 0 A. Dual to an initial object is a final object: a final object in a category X is an object to which every object has exactly one map. Denote the final object by the numeral 1 and the unique map by! A : A 1. What are these in Set, Mat(R), and Cat?

INITIAL AND FINAL OBJECTS In Set the initial object is the empty set and the final object is any one element set. In Mat(R) the initial object and the final object is the 0-dimensional object. In Cat the initial object is the empty category and the final category is any category with one object and one arrow.

INITIAL AND FINAL OBJECTS A simple observation is: Lemma If K and K are initial in C then there is a unique isomorphism α : K K. Proof: As K is initial there is exactly one map α : K K. Conversely, as K is initial there is a unique map α : K K. This map is the inverse of α as αα : K K is the unique endo-map on K namely the identity and similarly we obtain α α = 1 K. Thus initial objects (and by duality final objects) are unique up to unique isomorphism.

PRODUCTS AND COPRODUCTS Let A and B be objects in a category then a product of A and B is an object, A B, equipped with two maps π 0 : A B A and π 1 : A B B such that given any object W with two maps f : W A and g : W B there is a unique map f,g : W A B, such that f,g π 0 = f and f,g π 1 = g. That is: W A f π f,g 0 A B π 1 g B The maps π 0 and π 1 are called projections. Coproducts are dual.

PRODUCTS AND COPRODUCTS In Set the product is the cartesian product and the coproduct is the disjoint union. In Mat(R) the product of n and m and the coproduct is n + m. In Cat the product puts the categories in parallel the coproduct puts them side-by-side. Are projections epic? In Set consider A 0 π0 A.

PRODUCTS AS ADJOINTS Given any category there is always a diagonal functor: : X X X; X f Y X X f f Y Y (x,y) (f (x),f (y) having products amounts to requiring that this functor is a left adjoint (namely (Y,Z) X Z)! X X X f,g f g Y Z Here = 1 X,1 X is the diagonal map in the category...

PRODUCTS AND COPRODUCTS It follows is a functor f g is define as π 0 f,π 1 g : f A A π 0 π 0 f g A B A B π 1 π 1 B A Any binary product has a symmetry map: A π 0 π c AB 1 A B B A π 0 π1 B Note that c AB c BA = 1 A B and so it is an isomorphism. g

LIMITS AND COLIMITS A diagramin X is a functor D : G X from a small category G. A D cone over this diagram consists of an object A, called the apex of the cone together with for each node N of G a map α N : A D(N) such that for each arrow of G, a : N 1 N 2, we have α N1 G(a) = α N2. A morphism of cones (α,h,β) : α β is given by a map in C, h : A B between the apexes of the cones such that α N = hβ N for all the nodes of the diagram. Lemma The cones over D : G C form a category, Cone D (C), with objects the cones and maps the morphisms of cones.

LIMITS AND COLIMITS A limit of a diagram is a final object in Cone D (C). The apex of this cone is written Lim(D) with projections π N : Lim(D) G(N). A α N1 α N2 α N3 Lim(D) π N1 π N2 π N3 D(a) D(N 1 ) D(N 2 ) D(b) D(N 3 )

ADJOINTS and LIMITS Because a limit is given by a couniversal property Dually RIGHT ADJOINTS PRESERVE LIMITS LEFT ADJOINTS PRESERVE COLIMITS

EQUALIZERS An equalizer diagram is a parallel pair of arrows: A f B g a cone for the above equalizer diagram is determined by a map to q : Q A. Such a map is said to equalize f and g as qf = qg. A limit (E,e) is called the equalizer (even though it is not unique) and satisfies the property Q q k E A e f g B that there is a unique k such that ke = q. Lemma Suppose (E,e) is the equalizer of A f B then e is monic. g

COMPLETENESS AND COCOMPLETENESS Final objects G = 0, products G = 1 + 1. A category is complete when it has limits for all small diagrams. Dually it is cocomplete if it has colimits for all small diagrams. There is an important theorem: Theorem A category is complete if and only if it has all products and equalizers.

PULLBACKS Another important limit is the pullback (especially to these talks). A pullback diagram is a binary fan of arrows: A f B g C a cone is given by a Q together with maps q A : Q A and q B : Q B such that q A f = q B g. A limit (E,e A,e B ) is called the pullback: Q q A k q B E ea A e B f B g C and has a unique comparison map k from any cone such that ke A = q A and ke B = q B.

PULLBACKS Products and equalizers imply pullbacks: is a pullback if and only if is an equalizer. P f, g P g A f f B g C A B π 1g C π 0 f In Set the pullback is a subset of the product: {(a,b) f (a) = g(b)} A B

PULLBACKS Lemma In any category the pullback of a monic along any map is a monic. Proof: Suppose g is monic and k 1 e A = k 2 e A then so as gis monic k 1 e B = k 2 e B. k 1 e B g = k 1 e A f = k 2 e A f = k 2 e B g Q k 1 e A =k 2 e A E e A A e B f B C k 1 e B =k 2 e b However, this makes k 1 and k 2 comparison maps from the outer square to the pullback. g

PULLBACKS Lemma In any category f : A B is monic iff the followings is a pullback: A A A f B. Proof: If xf = yf there is a unique comparison map X x y A A f A f B. f which shows x = y. Conversely if f is monic then whenever we form the outer square x = y, so this gives a comparison map, whose uniqueness is forced by the fact that f is monic.

PULLBACKS As right adjoints preserve pullbacks and dually.. RIGHT ADJOINTS PRESERVE MONICS

PULLBACKS Lemma In the following (commuting) diagram: A f B g C a b c A B C f g (i) if the two inner squares are pullbacks the outer square is a pullback; (ii) if the rightmost square and outer square is a pullback the leftmost square is a pullback.

PULLBACKS Products and pullbacks imply equalizers: Lemma The following square is a pullback E e X e Y f,g Y Y if and only if E e X f g Y is the equalizer.

PULLBACKS Pullbacks and a final object imply products: Lemma The following square is a pullback A B π 1 B π 0! A 1! if and only if is a product. A π 0 A B π 1 B And so one has all finite limits when one has pullbacks and a final object...