PS

Adjunctionからのmonad

Associated monad with an adjunction

Adjunction  F \dashv G :

  • left adjoint  F : \mathcal{X} \rightarrow \mathcal{A}
  • right adjoint  G : \mathcal{A} \rightarrow \mathcal{X}
  • counit  \epsilon : F \circ G \rightarrow 1 _ {\mathcal{A}}
  • unit  \eta : 1 _ {\mathcal{X}} \rightarrow G \circ F

について、

  •  T := G \circ F

とすると、

  • endofunctor  T : \mathcal{X} \rightarrow \mathcal{X}
  • unit  \eta : 1 _ {\mathcal{X}} \rightarrow T
  • multiplication  G \epsilon F : T ^ 2 \rightarrow T *1

monadになる。

State monads from currying

特に、

  •  \mathcal{X} = \mathcal{A} = \mathcal{Hask}

のとき、adjunction:

  •  (\unicode{x2013}) \times A \dashv (\unicode{x2013}) ^ {A} = \text{Hom}(A, \unicode{x2013})

から上記の方法で作ったmonadstate monad

命題

  • category  \mathcal{X}

について、

  •  A := \lbrace F \dashv G \mid \text{dom}(F) = \mathcal{X} \rbrace
  •  M := \lbrace T : \text{monad} \mid T : \mathcal{X} \rightarrow \mathcal{X} \rbrace

とすると、上記の方法による関数:

  •  K : A \rightarrow M
  •  K(F \dashv G) = G \circ F

は、surjectiveであるが、injectiveではない。

参考文献

*1:godement product