Definition
Let \(\mathcal C\) be a category. A monad is a monoid in the (monoidal) category of endofunctors \((\End(\mathcal C), \circ, \id_{\mathcal C})\).
Definition
Alternatively, let \(\mathcal C\) be a category. We say that the triple \((T, \mu, \eta)\), where
- \( T:\mathcal C\to \mathcal C \) is a functor
- \(\mu:T\circ T\to T\) is a natural transformation
- \(\eta:\id_{\mathcal C}\to T\) is a natural transformation
is a monad if \(T\) is a monoid object in the category of endofunctors, which precisely means that it satisfies the compatibility diagrams
Examples
The Power Set Monad The power set functor \(\mathcal P\) is an endofunctor on \(\Set\). For \(A\in \Set\) let \(\eta_A:A\to \mathcal P(A)\) be the functor sending \(a\) to \(\{a\}\) and let \(\mu_A:\mathcal P(\mathcal P(A)\to \mathcal P(A)\) send a set of sets to its union. Then \((\mathcal P, \mu, \eta)\) is a monad.
Adjunctions induce two monads Let \(F:C \rightleftharpoons D :G\) be a pair of adjoint functors. Then