Processing math: 100%

On universal morphisms

On category theory basics On universal morphisms Foundational temp3

Guide

Motivation: Terminal and initial morphisms (the opposite notion, where you just flip some arrows) are called universal morphisms.

On the technical side, they are a very important concept with a ridiculously broad range of examples, because you can translate many “forall … there exists such that …” characterizations to a “there is a universal morphism such that …” characterizations. Later we'll discuss a global version, the adjunctions.

On the conceptual side, when we specify a concept using this tool we speak of “universal constructions” and the point is that they characterize things only up to isomorphism.

todo: Now it's a little difficult to fully explain the “principle of equivalence” but let me note here that the possibility to set up categories which have less arrows than the category of sets (e.g. groups and group homomorphisms are “within” sets and functions) is actually the strength of the category concept. Because then, what counts as isomorphism depends on the category and universal constructions always capture a concept up to the kind of iso in the category you consider.

For clarity sake, I'm going to sketch how adjoints and their features arise from requiring universal morphisms for all objects of a category. Afterwards we take the more direct algebraic approach.

Fix a functor G in CD. Say now there is, for all objects Yi of D, an initial morphism AYi,ηYi from Yi to G. Let h12:Hom(Y1,Y2) and let h12:=η2h12. By the initial property, there is a morphism g12:Hom(AY1,AY2) for h12.

(quite different notation)

We'll now set up a functor F in DC with object map FYi=AYi and arrow map Hom(Yi,Yj)Hom(AYi,AYj) according to, e.g. F(hij):=gij. This is an so called adjoint functor to G. Note that the above diagram now also tells us that the ηYi are the components of a natural transformation η:nat(1D,GF).

Consider now a X in C. By our initial assumption, we know that in D, there is an initial morphism FGX,ηGX. Using the initial property for h=1GX now provides us with an arrow ϵX:HomC(FGX,X). Moreover, drawing the diagrams immediately tells us that G(εX)ηGX=1GX and, after applying F to that digramm, εFYF(ηY)=1FY.

(…) after more (tedious) work, we could show that ϵX also make up the components of a natural transformation ϵ:nat(FG,1C). And then it also follows that ϵX is always a terminal morphism from F to X.

Instead of stating out with a functor so that each object defines a universal morphism, the counit-unit approach to adjunctions starts out with two natural transformations ε,η, which satisfy the two algebraic relations described above.

(…) Again, after some work, the universality properties can then be shown, so the approaches are equivalent.


Here an image displaying the terminal/initial roles of the the natural transformations:

The picture above makes it clear how fG(f)ηY=g and gϵXF(g)=f put C[FY,X] and D[Y,GX] in bijection. In Set the bijection described above is a natural isomorphism between the functors HomC(F,=) and HomD(,G=). The following captures those maps


Idea

What functors do is mapping objects A and B from a category to objects FA and FB in another category. Important for the following is that when doing this, they don't “look inside” the object that they map, or manipulate their content. E.g. in the category of sets, a functor F might map N to FN, but here nothing is said about individual numbers being mapped. On the other hand, there can be several arrows between two objects and a functor transforms each of them individually. E.g. if f,g,h:D[A,B], then F(f),F(g),F(h):C[FA,FB]. And a functor F, per definition, always preserves the arrow structure (commutative triagles). There is more going on with arrows than with objects. A natural transformation, redirecting one functor F to another functor F, is different however. Because a for every object A, a natural transformation is an arrow between FA and FA. E.g. if F and F map to sets (or types), the natural transformation is actually a function on their elements (or terms).

One could now say a monad is the best of both worlds: It concerns

  • an endo-functor T which shifts the arrow structure within a category
  • two families of natural arrows between objects in the category, which flow with and against the shifts and, naturally, respects all of the structure. Let's take TX to be the object of interest, generated via T and with reference to X. Then η and μ identify, although in two different ways: η embeds X, and μ corrects from what's in TTX.

And here is a consequence of the monad definition: Let i,j,n,m0. For any f:TiAB, you can get a f:TnATmB. For any g:TiATj+1B, you can get a g:AnTm+1B.

How do monads arise from adjunctions
TODO: Redo the mental image here (according to e.g. MacLane and the pic on Wikipedi, right to left, etc.)
todo: make new pictures where the names C and D are reversed…because that's the usual notation.

Every hom-class adjunction gives rise to a monad (we show this now) and it actually turns out that all monads arise this way. We are going to show how.

For startest, we are given two functors F and G which map between categories C,D, but in opposite directions. Here a picture of the situation:

The above definition says that a hom-class adjunction Φ provides us, for any two objects PC and QD, with a natural bijection between the arrows in D[FP,Q] and C[P,GQ]. This means that a huge part of the arrow structure in one category can be rediscovered in the other!

Say we have two functors F,G as above. Pic any object AObC and consecutively apply the functors F,G to it. You can imagine this as a zigzag-movment.

Now say we have a hom-class adjunction between the two functors, i.e. a natural isomorphism between C[,G=] and D[F,=]. Consider the hom-class D[FA,FA] at the single object FA. It is in bijection with C[A,GFA], i.e. for every f:D[FA,FA] in D, there is a Φ(f):C[A,GFA] in C. We know at least one arrow in f:D[FA,FA], namely the identity. Because the functors F,G as well as the natural transformation Φ(f) at the object respects structure, we just obtained a natural transformation Φ(1FA) at the object within C. (Sometimes, the downwards/upwards transformations Φ/Φ1 are sometimes denoted flat/sharp.)

Similarly, we can consider Φ1(1GFA), which is a natural transformation in D. We can map this back to C via G and obtain a natural transformation G(Φ1(1GFA)) which runs in the opposite direction. (Remark: Conversely, the hom-class adjunction is given by first applying the functor and then the suitable natural transformation.)

In the remainder of this entry, we’re going to write T:=GF.

That’s it, we can now shift the complete structure of C within C!

(Remark: Changing up the definitions so that everything lives in the other category gives a comonad.)

Parents

Sequel of

Link to graph
Log In
Improvements of the human condition