===== Monad ===== ==== Collection ==== | @#55CCEE: context | @#55CCEE: ${\bf C}$ ... category | | @#FFBB00: definiendum | @#FFBB00: $\langle T,\eta,\mu\rangle$ in $\mathrm{it}$ | | @#AAFFAA: inclusion | @#AAFFAA: $T$ in ${\bf C}^{\bf C}$ | | @#AAFFAA: inclusion | @#AAFFAA: $\eta:1_{\bf C}\xrightarrow{\bullet}T$ | | @#AAFFAA: inclusion | @#AAFFAA: $\mu:TT\xrightarrow{\bullet}T$ | | @#55EE55: postulate | @#55EE55: $\mu\circ T\mu=\mu\circ\mu T$ | | @#55EE55: postulate | @#55EE55: $\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 * $\mu_X\circ T(\mu_X)=\mu_X\circ\mu_{TX}$ * $\mu_X\circ T(\eta_X)=\mu_X\circ\eta_{TX}=1_{TX}$. 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: [[http://en.wikipedia.org/wiki/Monad_%28category_theory%29|Monad (category theory)]], [[http://de.wikipedia.org/wiki/Monade_%28Informatik%29|Monade (Informatik)]] ----- === Context === === Requirements === [[Functor]], [[Natural transformation]], [[Identity functor]] === Related === [[Monoid]]