Special coequalizers associated to a monad #
Associated to a monad T : C ⥤ C
we have important coequalizer constructions:
Any algebra is a coequalizer (in the category of algebras) of free algebras. Furthermore, this
coequalizer is reflexive.
In C
, this cofork diagram is a split coequalizer (in particular, it is still a coequalizer).
This split coequalizer is known as the Beck coequalizer (as it features heavily in Beck's
monadicity theorem).
This file has been adapted to Mathlib.CategoryTheory.Monad.Equalizer
.
Please try to keep them in sync.
Show that any algebra is a coequalizer of free algebras.
The top map in the coequalizer diagram we will construct.
Equations
- CategoryTheory.Monad.FreeCoequalizer.topMap X = T.free.map X.a
Instances For
The bottom map in the coequalizer diagram we will construct.
Equations
- CategoryTheory.Monad.FreeCoequalizer.bottomMap X = { f := T.μ.app X.A, h := ⋯ }
Instances For
The cofork map in the coequalizer diagram we will construct.
Equations
- CategoryTheory.Monad.FreeCoequalizer.π X = { f := X.a, h := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Construct the Beck cofork in the category of algebras. This cofork is reflexive as well as a coequalizer.
Equations
Instances For
The cofork constructed is a colimit. This shows that any algebra is a (reflexive) coequalizer of free algebras.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Beck cofork is a split coequalizer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
This is the Beck cofork. It is a split coequalizer, in particular a coequalizer.
Equations
Instances For
The Beck cofork is a coequalizer.
Equations
- CategoryTheory.Monad.beckCoequalizer X = (CategoryTheory.Monad.beckSplitCoequalizer X).isCoequalizer