 Introduction
 Terminal and Initial objects
 Products and Coproducts
 Pullbacks and Pushouts
 Natural transformations
 Representable functors and the Yoneda Lemma
 Adjunctions (part 1)
 Monads
 Adjunctions and monads
 String diagrams
 Pipe cleaners
 General Limits and Colimits
 Slice and comma categories
 Coequalisers
 Monoid objects
 2categories
 EckmannHilton
 Distributive laws
 Group Objects and Hopf Algebras
 Ends
 Adjunctions from morphisms
 Double Categories
 Spans
 Multicategories
 Metric Spaces and Enriched Categories
Introduction
In an attempt to solidify and extend my knowledge of category theory, I have been working my way through the excellent series of category theory lectures posted on Youtube by Eugenia Cheng and Simon Willerton, aka the Catsters.
Edsko de Vries used to have a listing of the videos, but it is no longer available. After wresting a copy from a Google cache, I began working my way through the videos, but soon discovered that Edsko’s list was organized by subject, not topologically sorted. So I started making my own list, and have put it up here in the hopes that it may be useful to others. Suggestions, corrections, improvements, etc. are of course welcome!
As far as possible I have tried to arrange the order so that each video only depends on concepts from earlier ones. Along with each video you can also find my cryptic notes; I make no guarantee that they will be useful to anyone (even me!), but hopefully they will at least give you an idea of what is in each video. (For some of the earlier videos I didn’t take notes, so I have just copied the description from YouTube.)
I have a goal to watch two videos per week (at which rate it will take me about nine months to watch all of them); I will keep this list updated with new video links and notes as I go.
Terminal and Initial objects
Terminal and initial objects 1
 Definition and examples of terminal objects
 Sketch of proof that terminal objects are unique up to unique isomorphism
Terminal and initial objects 2
 Proof that terminal objects are unique
 Examples of categories without terminal objects
Terminal and initial objects 3
 Definition and examples of initial objects
Products and Coproducts
Products and coproducts 1
 Definition of products
 Example: cartesian product of sets
 and as two (isomorphic) products
 Uniqueness up to unique isomorphism
Products and coproducts 2
 More on uniqueness up to unique isomorphism
 Examples and nonexamples of products
Products and coproducts 3
 Definition and example of coproduct
Products and coproducts 4
 Definition of the morphisms and
 The diagonal
 Products with the terminal object
Pullbacks and Pushouts
Pullbacks and pushouts 1
 Definition of pullback
 Example: pullbacks in
Pullbacks and pushouts 2
 Definition of pushouts
 Example: pushouts in
 Pullback/pushout example of intersection/union of sets
Natural transformations
Natural transformations 1
 Definition of natural transformations.
 Naturality squares.
 Intuition about natural transformations based on homotopy.
 Alternative definition of natural transformation analogous to usual homotopy definition: a natural transformation is a functor where is the “categorical interval”, i.e. the twoobject category with a single nontrivial morphism.
Natural transformations 2
 Vertical composition of natural transformations.
 Functor categories.
 Horizontal composition of natural transformations
 Note there are two ways to define horizontal composition, and they are equal by naturality.
Natural transformations 3
 Whiskering (though they don’t call it that yet).
 Horizontal composition as vertical composition of two whiskerings (in two different ways, which are equal by naturality).
 Interchange law: proof by commutativity of whiskering.
Natural transformations 3A
 Define terminology “whiskering”.
 Note vertical composition of “rightwhiskered fish” works because of functoriality (of functor we whiskered by).
 Vertical composition of “leftwhiskered fish” comes by definition of vectical composition for natural transformations.
 So in the end, interchange depends on three things: definition of vertical composition; functoriality; naturality.
Representable functors and the Yoneda Lemma
Representables and Yoneda 1
 Definition of representable functors (co or contravariant): those which are naturally isomorphic to or for some .
 Contravariant: ; .
 Covariant: ; .
 Is there a functor ? Yes, the Yoneda embedding :
 , where is postcomposition with . is a natural transformation; its component at has type . Postcomposing an arrow in with yields an arrow in .
Representables and Yoneda 2
 Proof that Yoneda embedding sends morphisms to natural transformations . Comes down to the fact that composition in the category is associative.
Representables and Yoneda 3
 Look at natural transformations from to some other (contravariant) functor . Big idea: such natural transformations are entirely determined by where sends .
 Yoneda lemma: (natural in and ). I.e. the set of objects in is isomorphic to the homset of natural transformations between and .
Adjunctions (part 1)
Adjunctions 1
 Given categories and and functors and , we have the following situations:
 Isomorphism: ,
 Equivalence: ,
 Adjunction: , So we can think of an adjunction as a “weaker sort of equivalence”.
 and are subject to triangle identities: is the identity, and similarly for .
 These laws can be expressed as commuting diagrams of 2cells: draw and as 2cells and paste them in two different ways.
Adjunctions 2
 Alternate definition of adjunction : an isomorphism natural in and .
 What “natural in and ” means here.
 Hint: sending identity morphisms across the iso gives us and from the first definition. Proof deferred to Adjunctions 4.
Adjunctions 4
 Note: Adjunctions 4, not 3, follows on to 2.
 Given: an isomorphism which is natural in and .
 Notation: write application of the isomorphism as an overbar.
 Construct the two squares implied by naturality. Follow them each around in both directions (since they involve a natural isomorphism) to get four equations in total governing how the iso interacts.
 Define and by applying the isomorphism to appropriate identity morphisms. Naturality and the triangle identities follow from the above four equations.
Monads
Monads 1
 Monads give us a way to talk about algebraic theories (monoids, categories, groups, etc.).
 Definition of a monad:
 Functor
 “unit”
 “multiplication”
 with unit and associativity laws.
 Note what is meant by a commutative diagram of natural transformations
 Example: monad for monoids (aka the list monad)
 , maps a set to set of words in (i.e. lists)
 is singleton
 is concatenation
 Note, unit and associativity for monad is different than unit and associativity of monoids, which has already been encoded in the definition of .
Monads 2
 Proof that the list monad (“monad for monoids”) is in fact a monad
 Example: monad for small categories
 , category of graphs
 makes the free category on a graph (morphisms = paths in the underlying graph)
 With only one object, this reduces to the monad for monoids.
 Proof of monads laws is basically the same as for the list monad.
Monads 3
 Algebras for monads. Monads are supposed to be like algebraic theories; algebras are models.
 An algebra for a monad is an object (the “underlying object”) equipped with an “action” , satisfying the “obvious” axioms ( must interact “sensibly” with and ).
 Example: , = list monad (“monad for monoids”)
 An algebra is a set equipped with
 First axiom says must simply project element out of lengthone list.
 Other axiom is essentially associativity.
 That is, algebras for the list monad are monoids.
 Example for monad of categories (from last time) works the same way.
Monads 3A
More on monoids as monad algebras of the list monad.
 Given a monad algebra , construct the monoid:
 whose underlying set is
 .
 The monad algebra law for (a triangle) just says that can’t do anything interesting on oneelement lists: it has to just return the single element.
 Identity and associativity laws for the monoid come from the other monad algebra law, saying how interacts with (a square), and from how the list functor is defined. We start with a way of mapping lists down to values, which bakes in the idea that it doesn’t matter how we associate the list.
Monads 4
Monad algebras form a category (called ).

Given two monad algebras and , a morphism between them consists of a morphism of underlying objects, , such that the obvious square commutes.

Example. List monad again. . A morphism of monoids is a function such that . See how this equation arises from the commuting square for monad morphisms, by starting with a 2element list in upper left and following it around.

Given a particular mathematical theory, can it be expressed as the category of algebras for some monad? I.e. given a category , is it equivalent to for some ? (Answer: no, not in general, e.g. category of topological spaces can’t.)

But this is still an interesting question, more or less the question of “monadicity”. Category said to be monadic over category if can be expressed as category of algebras of monads over .
Adjunctions and monads
Adjunctions 3
 Note: depends on monads.
 Examples of adjunctions:
 between the category of sets and the category of monoids:
 similarly between category of graphs and category of (small) categories.
In general, free functors are left adjoint to forgetful functors. (How to remember the direction: “left” has four letters, just like “free”.)
 Every adjunction gives rise to a monad . Check monad laws:
 Monad triangle laws are just adjunction triangle laws with extra or everywhere.
 Monad associativity law is naturalty for , or something like that.
Adjunctions 5
“Every monad comes from an adjunction via its category of algebras.”
Last time we showed every adjunction gives rise to a monad. What about the converse?
Answer: yes. In fact, given a monad, there is an entire category of adjunctions which give rise to it, which always has initial and terminal objects: these are the constructions found by Kleisli and by EilenbergMoore, respectively. Intuitively, any other adjunction giving rise to the monad can be described by the morphisms between it and the Kleisli and EilenbergMoore constructions.
Let be a monad.

Terminal solution (EilenbergMoore): consider category of algebras, also written . We construct an adjunction . (Intuition: “freely” constructs a algebra; “forgets” the algebra structure.)

is easy to construct: .

What about ? Sends to the “free” algebra on , with underlying set . Then evaluation map is . That is, . Need to check that this definition of really gives a monad algebra as a result. In this case the monad algebra laws are just the monad laws for !

Now define a unit and counit. is just the for the monad. is an algebra morphism from the free algebra on (i.e. ) to : in fact, itself is such a morphism, by the second algebra law.

Prove triangle laws for and : exercise for the watcher/reader.

Adjunctions 6
This time, initial solution to “does a monad give rise to any adjunctions”: Kleisli.
 The Kleisli category for a monad on category , written or
 Objects: objects of .
 Morphisms: .
 Composition: given and , produce .
 Identity: .
 Category axioms come from monad axioms. Associativity comes from associativity and naturality of ; unit laws come from unit laws for .

Intuition: this is the category of free algebras: is equivalent, under the adjunction, to , morphism between free algebras.

Note, for the EilenbergMoore category (last time) it was complicated to define the objects and simple to define the morphisms. For Kleisli, it’s the other way around. “Conservation of complicatedness.”
Adjunctions 7
The adjunction that comes from the Kleisli category, giving rise to the original monad .
Again, let be a monad. We will construct , where is the Kleisli category defined in Adjunctions 6, with .
 sends objects to “free algebras”
 Identity on objects.
 On morphisms, sends to (equivalently ).
 sends a “free algebra” to its “underlying object”
 Sends to .
 Sends to .
 Unit and counit
 we can take as the of the monad.
 we can take to be id.
 Adjunction laws come down to monad laws (left to viewer).
Given a monad on , we have a category of adjunctions giving rise to (morphisms are functors making everything commute). is the initial object and is terminal.
Question of monadicity: given an adjunction , is ? If so, say “ is monadic over ”, i.e. everything in can be expressed as monad algebras of . Or can say the adjunction is a “monadic adjunction”. Can also say that the right adjoint (forgetful functor ) “is monadic”. Monadic adjunctions are particularly nice/canonical.
String diagrams
String diagrams 1
Way of notating natural transformations and functors. Poincare dual: 0D things (points, i.e. categories) become 2D (regions), 1D things (lines, i.e. functors) stay 1D, 2D things (cells, i.e. natural transformations) become 0D.
String diagrams should be read rightleft and bottomtop.
Horizontal and vertical composition of NTs correspond to horizontal and vertical juxtaposition of string diagrams.
Can leave out vertical lines corresponding to identity functor.
String diagrams 2
Recall the interchange law, which says that vertical and horizontal composition of natural transformations commute. This guarantees that string diagrams are welldefined, since the diagram doesn’t specify which happens first.
Whiskering is represented in string diagrams by horizontally adjoining a straight vertical line.
String diagrams 3
Given an adjunction , we have natural transformations and , and two laws given by triangles. What do these look like as string diagrams? is a cap, a cup, and the triangle laws look like pulling wiggly strings straight!
String diagrams 4
Monads in string diagrams. Draw , , and the monad laws as nicelooking string diagrams with nice topological intuition.
String diagrams 5
Seeing how monads arise from adjunctions, using string diagrams.
Pipe cleaners
These are presented without any commentary or explanation that I can find. Each of the below videos just presents a 3D structure made out of pipe cleaners with no explanation. Maybe there is some other catsters video that presents a motivation or explanation for these; if I find it I will update the notes here. I can see that it might have something to do with string diagrams, and that you can make categories out of these sorts of topological structures (e.g. with gluing as composition) but otherwise I have no clue what this is about.
 Openclosed cobordisms 1: http://youtu.be/Jb1ZHLXBMy4
 Openclosed cobordisms 2 (“zigzagator”): http://youtu.be/zQMhXy1YNM
 Openclosed cobordisms 3 (“cutoff pair of pants”): http://youtu.be/_raQJYpEnU8
There is also:
 Klein bottle: https://www.youtube.com/watch?v=kteH2ZBW9Lg
This is a nice 5minute presentation about Klein bottles, complete with pipe cleaner model. Though it seems to have little to do with category theory.
Also also:
This has nothing to do with either pipe cleaners or category theory, but it is midly amusing.
General Limits and Colimits
General limits and colimits 1
Defining limits in general, informally.
 The thing we take a limit of is called a diagram (a collection of objects and morphisms). A limit of a diagram is a universal cone.
 A cone over a diagram is an object (vertex) together with morphisms (projection maps) to all objects in the diagram, such that all triangles commute.
 Universal cone is the “best” one, through which all other cones factor, i.e. there is a unique morphism from the vertex of one to the other such that all the relevant triangles commute.
General limits and colimits 2
Examples of limits.
 Terminal objects: limit over the empty diagram.
 Products: limit over discrete diagram on two objects.
 Pullback: limit over a “cospan”, i.e. a diagram like . Note that we usually ignore the edge of the cone to , since it is uniquely determined by the edges to and .
 Equalizer: limit over a parallel pair of arrows.
General limits and colimits 3
 Note: requires natural transformations.
 Formal definitions of:
 Diagram (functor from an index category)
 Cone (natural transformation from constant functor to diagram).
General limits and colimits 4
 Requires Yoneda.

Formal definition of a limit: given a diagram , a limit for is an object together with a family of isomorphisms natural in . I.e. a natural correspondence between morphisms (the “factorization” from one cone to another) and morphisms (i.e. natural transformations) from to in the functor category (i.e. cones over with vertex ). That is, every cone with vertex has a unique factorization morphism, and vice versa!. The “vice versa” part is the surprising bit. If we have a limit then every morphism is the factorization for some cone to the universal cone.

If we set then etc. In particular corresponds to some cone, which is THE universal cone. The Yoneda lemma says (?) that the entire natural isomorphism is determined by this one piece of data (where goes). Note that both and are functors . The Yoneda lemma says that a natural transformation from to is isomorphic to — i.e. a cone with vertex , the universal cone.

The universality of this cone apparently comes from naturality.
General limits and colimits 5
 Requires adjunctions.
 Notation for limits. Categories that “have all limits (of a given shape)”.
 The natural isomorphism defining a limit can be seen as an adjunction where , and is the functor that takes a diagram and produces its limit.
 Claim: this is an adjunction if has all limits. Need to show that the iso is also natural in , and that is actually a functor.
General limits and colimits 6
Colimits using the same general formulation. “Just dualize everything”.

Cocone (“cone under the diagram”) is an object with morphisms from the objects in the diagram such that everything commutes.

Universal cocone: for any other cocone, there is a unique morphism from the universal cocone to the other cone which makes everything commute. Note it has to go that direction since the universal cocone is supposed to be a “factor” of other cocones.

In Eugenia’s opinion the word “cocone” is stupid.

More generally: natural isomorphism between cocones and morphisms. . Limits in are the same as colimits in , and vice versa.

All limits are terminal objects in a category of cones (and colimits are initial objects).

Since terminal objects are initial objects in (and vice versa), we can even say that all universal properties are initial objects (and terminal objects) somewhere.
Slice and comma categories
Slice and comma categories 1
Slice category. Given a category , fix an object . Then we define the slice category by
 Objects are pairs where .
 Morphisms from to are morphisms in which make the triangle commute.
Coslice category, or “slice under” category is the dual of , i.e. objects are pairs where , etc.

If has a terminal object , . (Dually, .)

Products in are pullbacks in having as a corner. (Dually, coproucts in are pushouts.)
Slice and comma categories 2
Comma categories are a generalization of slice categories. Fix a functor and an object . Then we can form the comma category .
 Objects: pairs . Image of some object under and an arrow from it to .
 Morphisms are morphisms in such that makes the relevant diagram commute.
Of course we can dualize, (“cocomma” sounds even stupider than “cocone”, perhaps).
Apparently comma categories give us nice ways to talk about adjunctions.
Let’s generalize even more! Fix the functor but not the object . Then we can form :
 Objects: triple .
 Morphism is a pair of morphisms and such that the relevant square commutes.
Can also dualize, .
An even further generalization! Start with two functors , . Form :
 Objects: triples .
 Morphisms: obvious generalization.
In fact, all of these constructions are universal and can be seen as limits/colimits from the right point of view. “Next time”. (?)
Coequalisers
Coequalisers 1
Coequalisers are a colimit. Show up all over the place. Give us quotients and equivalence relations. Also tell us about monadicity (given an adjunction, is it a monadic one?).
Definition: a coequaliser is a colimit of a diagram consisting of two parallel arrows.
More specifically, given , a coequaliser is an object equipped with such that , with a universal property: given any other with , factors uniquely through .

Example: in : coequaliser of is a quotient , where is the equivalence relation generated by for all .

Conversely, we can start with an equivalence relation and build it using a coequaliser. Given: an equivalence relation . Note we have . Coequaliser is equivalence classes of .
Coequalisers 2
Quotient groups as coequalisers. Consider a group and a normal subgroup . In the category of groups, consider two parallel maps : the inclusion map , and the zero map which sends everything to the identity element . Claim: the coequaliser of these two maps is the quotient group , together with the quotient map .
Let’s see why. Suppose we have another group with a group homomorphism such that ; that is, for all . We must show there is a unique homomorphism which makes the diagram commute.
Notation: under the quotient map gets sent to ( iff ). For the homomorphism , send to . Note this is required to make things commute, which gives us uniqueness; we must check this is welldefined and a group homomorphism. If then . By definition, , and since is a group homomorphism, . Hence it is welldefined, and must additionally be a group homomorphism since and is a group homomorphism.
Monoid objects
Monoid objects 1
Idea: take the definition of monoids from , and “plunk it” into any other category with enough structure.
 A monoid is:
 A set
 A binary operation on
 A unit
 Associativity:
 Identity:
Now let’s reexpress this categorically in . Note we have been talking about elements of sets; we have to replace this with use of only objects and morphisms of .
 A monoid (take 2) is:
 An object
 A morphism (note we use Cartesian product structure of )
 A morphism
 A commutative diagram
 A commutative diagram
Now we take the definition and port it to any monoidal category.
 A monoid object in a monoidal category is:
 An object
 A morphism
 A morphism
 A commutative diagram
 A commutative diagram
Monoid objects 2
Today: monoid object in the category of monoids is a commutative monoid.
Note first the category of monoids is itself monoidal under Cartesian product. That is, given two monoids and , is also a monoid.
Now, what is a monoid object in ?
 An object , i.e. a monoid
 Monoid morphisms and
 …satisfying unit and associativity laws.
is a monoid morphism so it has to send the single object of to the unit of . Hence is entirely constrained and uninteresting.
has to be a monoid map. That is, , i.e. . So has to “commute” with . This is precisely the condition needed to apply EckmannHilton.
Monoid object is also required to satisfy unital and associativity laws, but we can already deduce those from EckmannHilton.
2categories
2categories 1
Generalization of categories: not just objects and morphisms, but also (2)morphisms between the (1)morphisms. Primordial example: categories, functors, and natural transformations.
Note: today, strict 2categories, i.e. everything will hold on the nose rather than up to isomorphism. A bit immoral of us. [If we let things be a bit looser we get bicategories?]
Recall: a (small) category is given by
 A set of objects
 for all , a set of morphisms
equipped with
 identities: for all a function
 composition: for all , a composition function .
 unit and associativity laws.
To make this into a 2category, we take the set of morphisms and categorify it. That turns some of the above functions into functors. Thus, a category is given by a set of objects along with
 a category for each
 a functor for each
 a composition functor .
 etc.
(Note: why not turn the set of objects into a category? That’s a good question. Turns out we would get something different.)
Let’s unravel this a bit. If is a category then the objects are morphisms (of ) , and there can also be morphisms (of ) between these morphisms: cells. cells can be composed (“vertical” composition).
We also have the composition functor . On “objects” (which are cells in ) the action of this functor is just the usual composition of cells. On morphisms (i.e. cells), it gives us “horiztonal” composition.
Next time: how functoriality gives us the interchange law.
2categories 2
Interchange in a 2category comes from functoriality of the composition functor. The key is to remain calm.
The functor is . On morphisms, it sends pairs of cells to a single cell, the horizontal composite. What does functoriality mean? It means if we have two (vertically!) composable pairs of cells; the functor on their composition (i.e doing vertical composition pointwise) is the same as applying the functor to each (i.e. first doing the horizontal compositions) and then composing (vertically).
EckmannHilton
EckmannHilton 1
NOTE: There seems to be no catsters video actually explaining what a “bicategory” is. According to the nlab it is a weaker version of a 2category, where certain things are required to hold only up to coherent isomorphism rather than on the nose.
EckmannHilton argument. Originally used to show all higher homotopy groups are Abelian. We can use it for other things, e.g.
 A bicategory with only one 0cell and one 1cell is a commutative monoid.
 A monoid object in the monoidal category of monoids is a commutative monoid. (waaaat)
Idea: given a set with two unital binary operations, they are exactly the same, and commutative — as long as the operations interact in a certain coherent way.
Given a set with two binary operations and , such that
 and are unital, with the same unit;
 one of them distributes over the other, i.e. ,
then , and the operation is commutative.
Geometric intuition: and could be vertical and horizontal composition of cells in a bicategory. Then distributivity is just the interchange law.
Proof: use the “EckmannHilton clock”. See video for pictures. Given e.g. , “rotate” and around each other by inserting units and using interchange law.
In fact, it is not necessary to require that the two units are the same: it is implied by the interchange law. Left as an exercise.
EckmannHilton 2
This time, show the interchange law implies the units are the same and associativity.
Let be the vertical unit and the horizontal unit. Then but also by interchange law it is equal to , hence .
; interchange gives . Since the two operations have to be the same, this gives associativity.
Example. A (small) category with only one cell and only one cell is in fact a commutative monoid. Underlying set is set of cells. Operation is either or , which by EckmannHilton are the same and commutative.
Bicategory case is a bit more complicated, since horizontal composition is not strictly unital. A bicategory with only one cell is a monoidal category. A bicategory with only one cell is a commutative monoid.
Distributive laws
Distributive laws 1
Monads represent algebraic structure; a distributive law says when two algebraic structures interact with each other in a coherent way. Motivating example: multiplication and addition in a ring.
Let , be monads on a category . A distributive law of over is a natural transformation , satisfying the “obvious” axioms: needs to interact properly with the monad structure of and , that is:
Example: . = free commutative monoid monad (“multiplication”), = free abelian group monad (“addition”). Define : is formal sums of elements of , like ; constructs formal products. So we have to send things like to formal sums of formal products, .
In fact we have constructed the free ring monad, .
If we start with a monoid and consider the free group on its underlying elements, we can define a product using distributivity; so the free group on a monoid is a group. Formally, the free group monad lifts to the category of monoids (?).
Distributive laws 2
More abstract story behind our favorite example: combining a group and a monoid to get a ring.
Note: distributive law (at least in this example) is definitely noninvertible: you can turn a product of sums into a sum of products, but you can’t necessarily go in the other direction.
Main result: A distributive law is equivalent to a lift of to a monad on –. becomes a monad, and – is equivalent to –.
When is a monad? We need ; can do this if we have , then use . The laws for a distributive law ensure that this satisfies the monad laws.
Distributive law is equivalent to a lift of to a monad on –?
 An algebra looks like ; we want to send this to another algebra, with carrier , i.e. some . But we have ; precomposing with gives us what we want, and the distributive law axioms ensure that is a monad on –.
– is equivalent to –?

Since is a monad on , a algebra has an algebra as its underlying object. So given some algebra , a ’algebra on it is a morphism of algebras from to , that is,
This essentially says that an algebra for is simultaneously an algebra for and an algebra for which interact properly via the distributivity law.

An algebra for is . Clear that from a algebra we get a algebra. What about vice versa? Just precompose with to get an algebra, and with to get a algebra. A algebra says how to evaluate e.g. multiplication and additions all mixed up; precomposing with picks out the stuff with just multiplication or just addition. Apparently one can prove that the algebras you get this way do indeed interact nicely.
Distributive laws 3 (aka Monads 6)
Recall that a monad is a functor together with some natural transformations; we can see this as a construction in the category of categories, functors, and natural transformations. We can carry out the same construction in any category , giving monads in .
Let be a category (e.g. ). A monad in is given by
 a cell
 a cell
 a pair of cells and
satisfying the usual monad axioms.
In fact, we get an entire category of monads inside !
What is a morphism of monads? A monad functor (i.e. a cell in the category of monads in ) is given by
 a cell
 a cell (Note, this is not backwards! This is what we will need to map algebras of the firs monad to algebras of the second.)
satisfying the axioms:
A monad transformation (i.e. a cell in the category of monads in ) is given by
 a cell , satisfying (something like that, see pasting diagrams of cells in the video).
Distributive laws 4
Distributive laws, even more formally!
Consider the category of monads in an arbitrary category ; monads in are distributive laws!
Recall that a monad in an arbitrary category is a cell equipped with an endocell and appropriate cells and . In :
 A cell in , that is, a monad in .
 A cell , that is, a functor and .
 cells and . Can check that these turn into a monad.
 Axioms on give exactly what is needed to make it a distributive law.
Summarizing more concisely/informally, a monad in is
 A cell
 A pair of monads ,
 A distributive law .
Consider the map . This actually defines an endofunctor on –, the category of (strict) categories and (strict) functors. In fact, Street showed that is a monad! The “monad monad”.
The multiplication has type . Recall that objects in are a pair of monads , plus a distributive law. In fact, the distributive law is precisely what is needed to make into a monad, which is the monad returned by the multiplication.
Group Objects and Hopf Algebras
Group Objects and Hopf Algebras 1
Take the idea of a group and develop it categorically, first in the category of sets and then transport it into other categories (though it may not be completely obvious what properties of we are using).
A group is of course a set with an associative binary product, inverses, and an identity element. Let’s make this categorical: don’t want to talk about internal structure of but just about as an object in .
So a group is:
 an object
 a multiplication morphism
 an inverse morphism
 a unit morphism (i.e. “universal element”)
together with axioms expressed as commutative diagrams:
 (note to be pedantic we also need to use and )
where is the diagonal map (note the fact that we are using is the most interesting part; see forthcoming lectures) and is the unique map to a terminal set.
Group Objects and Hopf Algebras 2
Note just and together with axioms (forgetting about and its axioms) is the definition of a monoidal category. Not surprising since a group is a monoid with inverses.
Recall . We get that for free from the fact that the monoid we are using is really the categorical product; can be easily defined using the universal property of categorical product.
In fact, every set is a comonoid in a unique way, since is a categorical product. That is, a comonoid on a set is given by
 a comultiplication
 a counit
 satisfying coassociativity and counit axioms.
And note we used and in the definition of a group, in particular in the axioms for .
Group Objects and Hopf Algebras 3
The definition given last time won’t work in general for any monoidal category, but it does work for any Cartesian category (that is, monoidal categories where the monoidal operation is categorical product). Examples of Cartesian categories, in which it therefore makes sense to have group objects, include:
 (category of topological spaces, with Cartesian product toplogy)
 (cat. of smooth manifolds?)
 (groups)
 (categories)
Let’s see what a group object looks like in each of these examples.
 In , a group object is a group.
 In , a topological group.
 In , a Lie group.
 In , it turns out a group object is an Abelian group! (Details left as an exercise.)
 In , we get a “crossed module”.
What about nonCartesian monoidal categories? Simplest example is , category of (finitedimensional) vector spaces with linear maps. Monoidal structure given by tensor product and complex numbers. Tensor product defined by
Suppose is a basis for and is a basis for , then is a basis for .
The point is that , but that’s different than , so is not Cartesian.
Group Objects and Hopf Algebras 4
We still want to be able to define group objects in monoidal categories which are not Cartesian.
Recall: if we have a monoidal category where is the categorical product, then every object is a comonoid in a unique way, and every morphism is a comonoid map.
Notation: in , an object with an associative binary operation and an identity is called a monoid; in it’s called an algebra. So when we generalize to arbitrary categories sometimes “monoid” is used, sometimes “algebra”.
A Hopf algebra is a group object in a general monoidal (tensor) category. Details next time.
Group Objects and Hopf Algebras 5
A Hopf algebra in a (braided) monoidal category is as follows. We don’t get comonoid stuff for free any more so we have to put it in “by hand”.
 comonoid and
 monoid and
 “antipode” or inverse
(See video for string diagrams.) Note the monoid and comonoid also need to be “compatible”: this is where the braidedness comes in. In particular and need to be comonoid morphisms. So we need to be a coalgebra.
Lemma: suppose , are comonoids. Then is a coalgebra if the category is braided: using comonoid structures on and , and then using (associativity and) braiding we can flip inner around to get .
Can then write down what it means for to be a coalgebra map aka comonoid morphism; left as an exercise (or the next video).
Group Objects and Hopf Algebras 6
String diagram showing comonoid for .
and should be a comonoid morphism, i.e. must commute with (string diagram) and also with (another string diagram).
There seems to be some asymmetry: monoid + comonoid + monoid must be comonoid morphisms. But it’s the same to say that the comonoid must be monoid morphisms.
Ends
Ends 1
Given a functor , an end is an object in which is “limitlike” in some sense.
Ends are not as common as coends (and perhaps not as intuitive?). Two particular places where ends do show up:
 natural transformations (especially in enriched setting; see Ends 2)
 reconstruction theorems (recover an algebra from category of its representations, i.e. Tannaka reconstruction, see Ends 3)
Definition:
 A wedge consists of
 an object
 a family of morphisms for all
 such that for all the obvious square with vertices , , , and commutes. (Dinaturality/extranaturality.)
 This is in some sense a generalization of a cone.

An end is a universal wedge, i.e. a wedge such that if then there exists a unique morphism through which the components of factor.
Note we write the object using the intergral notation, (the morphisms of the wedge are left implicit).
Ends 2
Simple example of an end: . In this case a wedge consists of:
 some
 for each a function
 such that we have .
That is, for every we have , such that . i.e. the family are the components of a natural transformation .
Note this goes in the other direction too, that is, a wedge is precisely the same thing as a function . Therefore, the universal such is precisely this set of natural transformations. (Can be thought of as “set of symmetries” of a category. Also the Hochschild cohomology.)
Ends 3
More examples. First, straightforward generalization: given functors , form the bifunctor . Then we can see that
.
(Proof is just a small generalization of the proof in Ends 2, left as exercise.) Useful in an enriched context, can use this end to construct an object of natural transformations instead of a set.
Another example, “baby Tannaka reconstruction” (see Tannaka duality and reconstruction theorem on nlab).
 is a monoid in the category of sets.
 – is the category of sets that acts on
 is the forgetful functor.
 Result: . (In general, natural transformations over forgetful functor reconstructs algebraic objects.)
Proof (application of Yoneda):
 Let be monoid operation and the identity.
 An set consists of a set together with an action . Morphisms are just functions which commute with the actions (“equivariant maps”).
 Note is representable:
 Consider the set (“leftregular representation of ”)
 Define by .
 Note determines since is equivariant: . In fact .
 Thus .
 So , and by (co?)Yoneda, this is just .
Ends 4
Combine some of the previous examples. Recall
 (Ends 2)
 (Ends 3)
What happens if we combine these two results? First, look at the end from last time:
 Let be a natural transformation on . That is, is a function , such that commutes with the underlying function of any equivariant map, i.e.
 As we showed last time, for some .
 Note is just a function , but has to commute with equivariant functions.
Now look at the end of the bare homfunctor in the category of sets. i.e.

Now if , we have

What’s the difference? is now a family of equivariant maps. But note equivariant maps are determined by their underlying function. So any diagram of this form implies one of the previous form; the only thing we’ve added is that itself has to be equivariant (in the previous case could be any function). So in fact we have
.
i.e. we’re picking out some subset of . Question: which subset is it? That is, given such a we know for some ; which ’s can we get?

Consider the leftregular representation again. Then we know is just leftmultiplication by some . But it has to commute with equivariant maps; picking the action on the particular element , this means for all
that is, , i.e. .

So we conclude .
Adjunctions from morphisms
Adjunctions from morphisms 1
General phenomenon: associate some category to an object . For example:
 In representation theory, to a group or algebra we associate a category of modules or representations.
 In algebraic topology, to a space we associate (category of “bundles”?)
 In algebraic geometry, to an algebraic variety associate the category of sheaves.
 In logic, to a set of terms associate a category of subsets (predicates) over the terms.
 In analysis, to a metric space associate a category of Lipschitz functions .
Question: if we have a morphism , how does that relate to the categories and associated to and ?
We often get some sort of “pullback” functor . (Also often get some sort of monoidal structure on and , and is often monoidal.)
We also get various “pushforwards” , right adjoint to . In some situation we also get a left adjoint to .
This is the beginning of the story of “Grothendieck’s 6 operations”. Lots of similar structure arises in all these different areas.
Adjunctions from morphisms 2
Baby examples of some particular adjunctions (in generality, they show up in Grothendieck’s 6 operations, Frobenius reciprocity, …). Idea: start with (e.g.) sets; to each set associate a category; to each morphism between sets we will get functors between the categories.
 To the set associate the slice category .
 Think of the objects of this slice category, , as “bundles over ”: a base space and a set above that, where each element of is associated to its fiber/preimage.
 Another way to think of this is as a functor (considering as a discrete category), that picks out the fiber of each element of .

There is actually an equivalence of categories .

What about maps between sets? e.g. . As we’ll see, we get three associated maps , , and , with . Details in the next lecture.
Adjunctions from morphisms 3

Given , define the “pullback” of a bundle over to a bundle over written : to each we associate the fiber of . That is,

Now for the other direction. Idea: given a bundle over and , for each we have a set which are sent to that by ; we have to somehow combine their fibers to yield a fiber for . Several ways we could imagine doing it: disjoint union, product? In this case we want the product. That is,
(Foreshadowing: taking the disjoint union gives us another adjoint.)
Adjunctions from morphisms 4
Proof of the adjunction . (Come up with your own mnemonic to remember which way around the adjunction goes; suggested: think of a “falling star”.)

Notation: instead of or

Such homsets are a collection of maps between fibers, one for each base point.

So we have .

We can partition as preimages of elements of under . So the above is equal to .

A product of homsets is isomorphic to a homset into a product (i.e. ), so this is equal to .

By definition of , this is .

Finally, by definition of , this is .

Of course technically we would need to show naturality as well, but this is the basic idea.
Adjunctions from morphisms 5
Last time, we proved an adjunction , i.e.
In fact, we showed that both are isomorphic to
i.e. given some , for each we get a map going the other way, from the fiber over to the fiber over . (See the video for a nice picture.) But we can imagine turning these maps around, giving
Using the same trick as last time, this is equivalent to , which is in turn equivalent to
(since turns limits into colimits; concretely, note that ).
This gives us a left adjoint , defined by
Remark: note that if we view bundles over as objects of the slice category , is just composition.
Double Categories
Double Categories
Internal categories in . Recall that an internal category in is a pair of objects (representing objects) and (representing morphisms), and a pair of parallel arrows in recording the source and target of each morphism, all suitably equipped with unit and composition.
If and are themselves categories, and and are functors, then itself has sets of objects and morphisms with source and target functions, and the same for . Then the functors and have actions on morphisms and objects, so we get a square with two parallel arrows on each side.
 are cells.
 are “vertical cells”.
 are “horizontal cells”.
 are cells, which sit inside squares (not inside the area between two parallel cells): each element of has corresponding sources and targets in both and , and the double commuting square described above ensures that the sources and targets of those have to match up in a square.
What about composition? Note and already come equipped with composition, which together give us “vertical composition” of cells. Composition in the internal category gives horizontal composition of cells.
Note if all vertical cells are identities, this collapses to the usual idea of a category. (Or symmetrically, with horizontal cells being identities.)
Spans
Spans 1
NOTE: There seems to be no catsters video actually explaining what a “bicategory” is. According to the nlab it is a weaker version of a 2category, where certain things are required to hold only up to coherent isomorphism rather than on the nose.
Let be a category with (chosen) pullbacks. is a bicategory with
 cells the objects of
 cells are spans .

cells are morphisms between cells, that is, spans. So a cell between and is a morphism which makes things commute.

cell composition: use pullback. Is this associative? Yes, up to isomorphism (because of universal property of pullbacks) but not on the nose. (Hence we get a bicategory and not a strict category.)
 Vertical cell composition: just composition of the underlying morphisms.

Horizontal cell composition: the two pullbacks induce a morphism between them.
Can check all the axioms etc.
Now, note monads can be constructed inside any bicategory, and are given by
 a cell
 a cell
 cells and satisfying the usual monad axioms (slightly modified to make them make sense)
It turns out that monads in are great! For example, monads in are small categories. Next time we’ll see why.
Spans 2
Monads in are small categories. These notes make a lot more sense when you can look at the diagrams. Watch the video or work out the diagrams yourself.
We have
 a cell, i.e. a set .
 a cell from to itself, i.e. a span (idea is that will be the set of morphisms, and and will pick out the source and target objects)
 a cell from (the boring span with all the same object and identity morphisms) to the cell given above. This ends up being a function such that , that is, takes each object in to a morphism in having that object as both its source and target.
 a cell . is given by a pullback: a pair of morphisms such that the target of the first equals the source of the second, i.e. a composable pair. therefore has to take a composable pair and produce a single morphism in such that its source equals the source of the first and its target equals the target of the second.
And of course there are some monad laws which amount to the category laws.
More generally, monads in are categories internal to . I.e.
 an “objects object”
 a “morphisms object”
 source and target maps
 identities and composition as before.
Multicategories
Multicategories 1
Like categories, but morphisms have multiple objects as their source.
A (small) multicategory is given by
 a set of objects,
 For all , a set of morphisms.
 Composition: a morphism with inputs can be composed with morphisms, producing a result which is a morphism with the concatenation of inputs of all the morphisms.
 Identity morphisms, with just one input and output.
Note that one can have a morphism with no inputs.
This can all be expressed nicely using the “free monoid monad” (i.e. list monad). Let be the free monoid monad on , i.e. the list monad; that is, sends each set to the free monoid on (i.e. lists of ).
Make a bicategory of spans. Just as monads in the category of spans were small categories, monads in the (bi)category of spans are multicategories.
span has:
 cells are sets
 cells are spans .
 cells are just span morphisms.
 Composition uses pullbacks and multiplication of .
 Identity is span using and .
Bicategory axioms follow from monad laws for . Next time: monads in this category are multicategories.
Multicategories 2
We’ve seen that monads in Span are categories.
We’ve seen a category of spans, spans with a on the left. We’ll see that monads in – are multicategories.
Recall that is the list monad.
A monad in – is:
 a set (which will represent objects of the multicategory)
 a cell is a span, i.e. an object (representing morphisms of the multicategory) together with morphisms from to (picking out the sequence of input objects) and from to (picking the target object).
 a cell , representing the identity morphism with a single input (see video for a commutative diagrma)
 a cell which represents composition in a multicategory. See video for diagram!
Key point: we can actually do this with other monads ! And even on other categories with pullbacks, as long as preserves pullbacks (and and commutative diagrams are pullbacks). This yields a notion of a multicategory. The source of each morphism is not just a list of objects but a structure of objects.
Metric Spaces and Enriched Categories
Metric Spaces and Enriched Categories 1
Idea due to Lawvere. A metric on a metric space satisfies:
 Triangle inequality:
Compare to the data for a category, written in a slightly funny way:
These look remarkably similar! In fact, they are both examples of enriched category. We’ll start with a normal category and show how to generalize it to an enriched category.
Let be a category. We have:
 a collection
 ,
 ,
 ,
 …satisfying associativity and unit laws.
Important thing to note: composition and identity are morphisms in . What properties of have we used? Just a Cartesian product and the oneelement set . Right generalization is a monoidal category.
In particular, if is a monoidal category, we can define categories enriched in . Definition becomes:
is a category (category enriched in ):
 collection as before
 , i.e we don’t have homsets but homobjects that live in the category
 The composition map is a morphism in
 Identity morphisms are now given by a morphism in .
 …satisfying associativity and unit laws.
e.g. pick to be category of Abelian groups (yields “additive category”), or category of vector spaces (yields “linear categories”).
What if we take to be a nonconcrete category? e.g. take the poset of nonnegative real numbers under . Can make this monoidal by taking the usual , identity is . Then it turns out that categories enriched in this poset category are metric spaces!
Metric Spaces and Enriched Categories 2
Explains in more detail how categories enriched in poset (with monoidal structure given by and ) are metric spaces.
 For each pair of objects we have a “Homobject” which is a nonnegative real number. (“distance”)
 Composition is supposed to be a morphism . But is and is , so this is the triangle inequality.
 Identity morphisms are given by ; in this context that says , i.e. distance from to itself is .
 Associativity and unit laws are vacuous.
This is actually a generalized metric space. More general than a metric space in several ways:
 Distance is not symmetric: . This actually has many realworld models (e.g. time to go between towns in the Alps).
 We might have for .
 We allow “infinite” distances (???)
Now we can study metric spaces categorically.
Given two categories, a functor consists of
 a map , and
 for all , (a morphism in ) which has to commute with composition in the appropriate way.
In the generalized metric setting, such a is a nonexpansive map.
Metric Spaces and Enriched Categories 3
Enriched natural transformations. There are actually various ways to generalize. Today: simpleminded version. Apparently if we generalize the notion of a set of natural transformations we get a slightly better definition—this will be covered in future videos. [editor’s note: to my knowledge no such future videos exist.]
Standard definition of a natural transformation given functors . Problem: we are supposed to have , but in the enriched setting may not be a set, but just some object. So what should it mean for to be an “element” of it?
Simple way around this: let be a monoidal category. We can define a canonical functor (“generalized elements”) which takes an object to the Homset .
e.g. if , is the identity. Another example I don’t understand involving category of complex vector spaces.
In the example we care about, , and . In this case sends to the Homset , that is, if and the empty set otherwise.
So now we can say that should be a generalized element of .
So, let be functors. Define a natural transformation as
 for all , .
 Big commuting diagram expressing naturality in the enriched setting (see the video).
Pingback: Catsters guide  blog :: Brent > [String]
Hey, they started posting new videos too!
Only two videos per week? My reaction upon finding Casters was to binge watch. ;0 It’s kind of nostalgic to see these again actually. Remember when youtube had 11 minute time limits?
Thanks! Have you or has anyone else made this sequence into Youtube playlist?
Thanks!
Excellent. Many thanks!
Hi, Brent! I keep returning to your casters guide — it is very useful.
I think you are missing a link to the second [EckmannHilton video](https://www.youtube.com/watch?v=wnRqo7UHak)
You’re right, thanks for pointing that out! Fixed now.
I totally love you <3. Thank you very much for this.
Pingback: In praise of Beeminder  blog :: Brent > [String]
Edsko de Vries list can now be found at http://simonwillerton.staff.shef.ac.uk/TheCatsters/ according to the Catsters channel About page.
Oh, thanks for the link!
list monad (“monad for monoids”) should be monad for _free_ monoids. And this is a general pattern: if there is a freeforgetful adjunction F  U : C > D involving categories of algebraic structures, then the category of algebras of the monad UF is equivalent to the category C.
More details see https://www.schoolofhaskell.com/user/dolio/manyroadstofreemonads#algebrasofamonad
This is great, thanks. Are you aware of any resources that view Category Theory from a computational/algorithmic perspective? All the resources (like free books available on the subject) I have come across are too abstract for me.
Here are a few things off the top of my head. Not sure what counts as concrete enough for you — category theory is fairly abstract, after all! — but these do approach CT from a computational perspective:
Category Theory for Programmers, by Bartosz Milewski (available online at https://bartoszmilewski.com/2014/10/28/categorytheoryforprogrammersthepreface/ or in dead tree form at http://www.lulu.com/shop/bartoszmilewski/categorytheoryforprogrammers/hardcover/product23389988.html
Category Theory for Computing Science by Barr & Wells: http://www.math.mcgill.ca/triples/BarrWellsctcs.pdf
Thanks much. The first link looks great. I have in the past gone through and solved problems up till generalized limits… and then got lost with adjoints and further. Even though I have taken a fair amount of graduate courses in abstract algebra I still find these difficult to follow. I guess I am asking if there is a computational viewpoint to these concepts in category theory. I am thinking of something like Burnside’s lemma in group theory and the entirely concrete application to counting in combinatorics. I don’t know if I am making much sense. Maybe types and programming is as concrete category theory will ever get : … thanks!
No, you are making a lot of sense! Adjunctions in particular do come up *all the time* in computational contexts, and can definitely be thought about in a computational way. See https://hackage.haskell.org/package/adjunctions4.3/docs/DataFunctorAdjunction.html . An adjunction can be thought of as a sort of weakened bijection/isomorphism, where you don’t necessarily come back to where you started if you go across the adjunction and back. This kind of situation where two things are related/dual but not exactly isomorphic is very common. For example, abstract syntax trees and strings can be related by a parser/prettyprinter pair, but parsing and then prettyprinting may not be the identity. You may be interested in learning about Galois connections, which are a more specialized form of adjunction but have a lot of applications in computation (the example I gave above is actually a Galois connection). Adjunctions are also often used when doing formal equational reasoning about programs. See, e.g. http://www.cs.ox.ac.uk/ralf.hinze/LN.pdf . In fact that paper shows how most of the basic primitives in type theory/functional programming (product types, sum types, etc.) all ultimately come from adjunctions.
Yea, I had encountered Galois connections before I came across category theory. I had seen it in galois thoery and have also seen it in used in frequent itemset mining papers too many years ago! I’d definitely be interested in more applications of it though…. any links you have would be great!
I’ll have to give it more thought and dig around a bit, but I’m sure I can come up with some!