研究生一年级Category Theory课程已上线
Monads
Monads and their algebras, the Kleisli and Eilenberg–Moore categories, the correspondence between monads and adjunctions, monadicity, and monads in the semantics of programming languages.
math.cat.monads
前置知识
20 项必需的前置知识(一直追溯到底)
你将学会
- Verify the monad axioms for the list (free monoid) monad, the power-set monad and the 'maybe' (exception) monad on Set.
- Construct the Kleisli and Eilenberg–Moore categories and show that each gives an adjunction inducing the monad.
- Explain how monads model computational effects, and state Beck's monadicity theorem.
定义
- A monad on C is an endofunctor T with natural transformations η : id ⇒ T and μ : TT ⇒ T satisfying associativity and unit laws.
- An algebra for T is an object A with a morphism a : TA → A such that a ∘ η_A = id_A and a ∘ Ta = a ∘ μ_A.
- The Kleisli category of T has the same objects as C, with morphisms A → TB in C serving as its morphisms from A to B.
定理
- Every adjunction F ⊣ G induces the monad GF; every monad arises from an adjunction, and the Kleisli and Eilenberg–Moore adjunctions are initial and terminal among those inducing it.
- Algebras for the list monad on Set are exactly monoids.
- The category of groups is monadic over Set.
常见误解
- Thinking monads come from programming; they arose in algebra and topology (as Godement's 'standard constructions', later called triples).
- Believing the Kleisli and Eilenberg–Moore categories of a monad are always equivalent.
可选发现
- Formal methods Moggi (1991) showed that monads structure the semantics of computational effects; they are central in languages such as Haskell.
- ← Algebraic structures: monoids, groups and rings
延伸阅读
- Saunders Mac Lane, Categories for the Working Mathematician (1971)
- Emily Riehl, Category Theory in Context (2016)