PS

Strong monad

Strong monad

Monoidal category:

  •  (\mathcal{C}, \otimes, I)

について、もろもろのcoherence conditionを満たす

  1. monad:  (T : \mathcal{C} \to \mathcal{C}, \eta, \mu)
  2. natural transformation:  (\sigma _ {A, B} : A \otimes TB \to T(A \otimes B) ) _ {A, B} (strength)

のペアのこと。

命題

  • monoidal category:  (\mathcal{Set}, \times,  \lbrace \ast \rbrace)
  • monad:  (T : \mathcal{Set} \to \mathcal{Set}, \eta, \mu)

について、

  •  \sigma _ {A, B} : A \times FB \to F(A \times B)
  •  \sigma _ {A, B} (a, c) := T(b \mapsto (a, b))(c)

とすれば、

  •  (\sigma _ {A, B}) _ {A, B}

はstrength。

証明

  •  T(b \mapsto (a,b))
    •  = \mu _ {A \times B} \circ T ( \eta _ {A \times B} \circ ( b \mapsto (a, b) )
    •  = \mu _ {A \times B} \circ T ( b \mapsto \eta _ {A \times B} (a, b) )

に注意する。

同様にして、Haskellmonadはstrong。

参考文献