Limits and colimits in the category of algebras #
This file shows that the forgetful functor forget T : Algebra T ⥤ C
for a monad T : C ⥤ C
creates limits and creates any colimits which T
preserves.
This is used to show that Algebra T
has any limits which C
has, and any colimits which C
has
and T
preserves.
This is generalised to the case of a monadic functor D ⥤ C
.
TODO #
Dualise for the category of coalgebras and comonadic left adjoints.
(Impl) The natural transformation used to define the new cone
Equations
- CategoryTheory.Monad.ForgetCreatesLimits.γ D = CategoryTheory.NatTrans.mk fun (j : J) => (D.toPrefunctor.obj j).a
Instances For
(Impl) This new cone is used to construct the algebra structure
Equations
- One or more equations did not get rendered due to their size.
Instances For
The algebra structure which will be the apex of the new limit cone for D
.
Equations
Instances For
(Impl) Construct the lifted cone in Algebra T
which will be limiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Impl) Prove that the lifted cone is limiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forgetful functor from the Eilenberg-Moore category creates limits.
Equations
- CategoryTheory.Monad.forgetCreatesLimits = CategoryTheory.CreatesLimitsOfSize.mk
D ⋙ forget T
has a limit, then D
has a limit.
(Impl)
The natural transformation given by the algebra structure maps, used to construct a cocone c
with
apex colimit (D ⋙ forget T)
.
Equations
- CategoryTheory.Monad.ForgetCreatesColimits.γ = CategoryTheory.NatTrans.mk fun (j : J) => (D.toPrefunctor.obj j).a
Instances For
(Impl)
A cocone for the diagram (D ⋙ forget T) ⋙ T
found by composing the natural transformation γ
with the colimiting cocone for D ⋙ forget T
.
Equations
- CategoryTheory.Monad.ForgetCreatesColimits.newCocone c = { pt := c.pt, ι := CategoryTheory.CategoryStruct.comp CategoryTheory.Monad.ForgetCreatesColimits.γ c.ι }
Instances For
(Impl)
Define the map λ : TL ⟶ L
, which will serve as the structure of the coalgebra on L
, and
we will show is the colimiting object. We use the cocone constructed by c
and the fact that
T
preserves colimits to produce this morphism.
Equations
Instances For
(Impl) The key property defining the map λ : TL ⟶ L
.
(Impl)
Construct the colimiting algebra from the map λ : TL ⟶ L
given by lambda
. We are required to
show it satisfies the two algebra laws, which follow from the algebra laws for the image of D
and
our commuting
lemma.
Equations
Instances For
(Impl) Construct the lifted cocone in Algebra T
which will be colimiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Impl) Prove that the lifted cocone is colimiting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forgetful functor from the Eilenberg-Moore category for a monad creates any colimit which the monad itself preserves.
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.Monad.forgetCreatesColimitsOfShape = CategoryTheory.CreatesColimitsOfShape.mk
Equations
- CategoryTheory.Monad.forgetCreatesColimits = CategoryTheory.CreatesColimitsOfSize.mk
For D : J ⥤ Algebra T
, D ⋙ forget T
has a colimit, then D
has a colimit provided colimits
of shape J
are preserved by T
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Any monadic functor creates limits.
Equations
Instances For
The forgetful functor from the Eilenberg-Moore category for a monad creates any colimit which the monad itself preserves.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A monadic functor creates any colimits of shapes it preserves.
Equations
- CategoryTheory.monadicCreatesColimitsOfShapeOfPreservesColimitsOfShape R = CategoryTheory.CreatesColimitsOfShape.mk
Instances For
A monadic functor creates colimits if it preserves colimits.
Equations
- CategoryTheory.monadicCreatesColimitsOfPreservesColimits R = CategoryTheory.CreatesColimitsOfSize.mk
Instances For
If C
has limits of shape J
then any reflective subcategory has limits of shape J
.
If C
has limits then any reflective subcategory has limits.
If C
has colimits of shape J
then any reflective subcategory has colimits of shape J
.
If C
has colimits then any reflective subcategory has colimits.
The reflector always preserves terminal objects. Note this in general doesn't apply to any other limit.
Equations
- CategoryTheory.leftAdjointPreservesTerminalOfReflective R = CategoryTheory.Limits.PreservesLimitsOfShape.mk