Monad

Collection

context ${\bf C}$ … category
definiendum $\langle T,\eta,\mu\rangle$ in $\mathrm{it}$
inclusion $T$ in ${\bf C}^{\bf C}$
inclusion $\eta:1_{\bf C}\xrightarrow{\bullet}T$
inclusion $\mu:TT\xrightarrow{\bullet}T$
postulate $\mu\circ T\mu=\mu\circ\mu T$
postulate $\mu\circ T\eta=\mu\circ\eta T=1_T$

Discussion

A monad is functor together with two natural transformations that fulfill some algebraic relations.

Elaboration

Written out in component form, the postulates read

Picture the following chain of objects and notice that the axioms merely say the following: All ways ending up at $TX$ must be the same.

$X \overset{\eta_X}{\rightarrow} TX \overset{T(\eta_{TX})\ \text{or}\ \eta_{TX}}{\rightarrow}\ \ \overset{\mu_X}{\leftarrow} TTX \overset{T(\mu_X)\ \text{or}\ \mu_{TX}}{\leftarrow} TTTX$

Alternative definition

From adjunctions

All monads arise by transferring some co-unit into the other category: Set $T:=GF$ and $\mu_Y:=G(\varepsilon_{FY})$ and you got yourself a monad $\langle T,\eta,\mu\rangle$.

Terminology/Notation

The forward arrows $\eta_X$ are called „unit“ or, in programmer circles, „return“. The backwards arrows $\mu_X$ are called „join“ and from the counit-unit adjunction perspective, they are the arrow images of the functor applied to the „co-unit“ components.

Algebraic characterization

Recall that $\bf{Set}$ can be equipped with a monoidal structure where units are singletons (= final objects in $\bf{Set}$, e.g. $1:=\{0\}$) and the product $\otimes$ can be taken to be the Cartesian product $M\otimes N:=M\times N$ (= categorical product for $\bf{Set}$). Here, a monoid object is a triple given by

$M$,

$e:1\to M$,

$*:M\times M\to M$.

Now a monad is given by

$T$,

$\eta:1_{\bf C}\xrightarrow{\bullet}T$,

$\mu:TT\xrightarrow{\bullet}T$

and is also a monoid object, namely in the category of endofunctors ${\bf C}^{\bf C}$, with the monoidal product $\otimes$ (not the categorical product) given by concatenation of functors $S\otimes T:= ST$.

Reference

Wikipedia: Monad (category theory), Monade (Informatik)


Context

Requirements

Functor, Natural transformation, Identity functor

Monoid