Strong monad
This article may be too technical for most readers to understand. (April 2022) |
In category theory, a strong monad is a monad on a monoidal category with an additional natural transformation, called the strength, which governs how the monad interacts with the monoidal product.
Strong monads play an important role in theoretical computer science where they are used to model computation with side effects.[1]
Definition
[edit | edit source]A (left) strong monad is a monad (T, η, μ) over a monoidal category (C, ⊗, I) together with a natural transformation tA,B : A ⊗ TB → T(A ⊗ B), called (tensorial) left strength, such that the diagrams
commute for every object A, B and C.
Commutative strong monads
[edit | edit source]For every strong monad T on a symmetric monoidal category, a right strength natural transformation can be defined by
A strong monad T is said to be commutative when the diagram
commutes for all objects and .
Properties
[edit | edit source]The Kleisli category of a commutative monad is symmetric monoidal in a canonical way, see corollary 7 in Guitart[2] and corollary 4.3 in Power & Robison.[3] When a monad is strong but not necessarily commutative, its Kleisli category is a premonoidal category.
One interesting fact about commutative strong monads is that they are "the same as" symmetric monoidal monads.[4] More explicitly,
- a commutative strong monad defines a symmetric monoidal monad by
- and conversely a symmetric monoidal monad defines a commutative strong monad by
and the conversion between one and the other presentation is bijective.
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
External links
[edit | edit source]- Strong monad at the nLab