Kleisli category
In category theory, a Kleisli category is a category naturally associated to any monad T. It is equivalent to the category of free T-algebras. The Kleisli category is one of two extremal solutions to the question: "Does every monad arise from an adjunction?" The other extremal solution is the Eilenberg–Moore category. Kleisli categories are named for the mathematician Heinrich Kleisli.
Formal definition
[edit | edit source]Let ⟨T, η, μ⟩ be a monad over a category C. The Kleisli category of C is the category CT whose objects and morphisms are given by
That is, every morphism f: X → T Y in C (with codomain TY) can also be regarded as a morphism in CT (but with codomain Y). Composition of morphisms in CT is given by
where f: X → T Y and g: Y → T Z. The identity morphism is given by the monad unit η:
- .
An alternative way of writing this, which clarifies the category in which each object lives, is used by MacLane.[1] We use very slightly different notation for this presentation. Given the same monad and category as above, we associate with each object in a new object , and for each morphism in a morphism . Together, these objects and morphisms form our category , where we define composition, also called Kleisli composition, by
Then the identity morphism in , the Kleisli identity, is
Extension operators and Kleisli triples
[edit | edit source]Composition of Kleisli arrows can be expressed succinctly by means of the extension operator (–)# : Hom(X, TY) → Hom(TX, TY). Given a monad ⟨T, η, μ⟩ over a category C and a morphism f : X → TY let
Composition in the Kleisli category CT can then be written
The extension operator satisfies the identities:
where f : X → TY and g : Y → TZ. It follows trivially from these properties that Kleisli composition is associative and that ηX is the identity.
In fact, to give a monad is to give a Kleisli triple ⟨T, η, (–)#⟩, i.e.
- A function ;
- For each object in , a morphism ;
- For each morphism in , a morphism
such that the above three equations for extension operators are satisfied.
Kleisli adjunction
[edit | edit source]Kleisli categories were originally defined in order to show that every monad arises from an adjunction. That construction is as follows.
Let ⟨T, η, μ⟩ be a monad over a category C and let CT be the associated Kleisli category. Using Mac Lane's notation mentioned in the “Formal definition” section above, define a functor F: C → CT by
and a functor G : CT → C by
One can show that F and G are indeed functors and that F is left adjoint to G. The counit of the adjunction is given by
Finally, one can show that T = GF and μ = GεF so that ⟨T, η, μ⟩ is the monad associated to the adjunction ⟨F, G, η, ε⟩.
Showing that GF = T
[edit | edit source]For any object X in category C:
For any in category C:
Since is true for any object X in C and is true for any morphism f in C, then . Q.E.D.
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- Kleisli category at the nLab