Creating (co)limits #
We say that F
creates limits of K
if, given any limit cone c
for K ⋙ F
(i.e. below) we can lift it to a cone "above", and further that F
reflects
limits for K
.
Define the lift of a cone: For a cone c
for K ⋙ F
, give a cone for K
which is a lift of c
, i.e. the image of it under F
is (iso) to c
.
We will then use this as part of the definition of creation of limits: every limit cone has a lift.
Note this definition is really only useful when c
is a limit already.
- liftedCone : CategoryTheory.Limits.Cone K
a cone in the source category of the functor
- validLift : F.mapCone self.liftedCone ≅ c
the isomorphism expressing that
liftedCone
lifts the given cone
Instances For
Define the lift of a cocone: For a cocone c
for K ⋙ F
, give a cocone for
K
which is a lift of c
, i.e. the image of it under F
is (iso) to c
.
We will then use this as part of the definition of creation of colimits: every limit cocone has a lift.
Note this definition is really only useful when c
is a colimit already.
- liftedCocone : CategoryTheory.Limits.Cocone K
a cocone in the source category of the functor
- validLift : F.mapCocone self.liftedCocone ≅ c
the isomorphism expressing that
liftedCocone
lifts the given cocone
Instances For
Definition 3.3.1 of [Riehl].
We say that F
creates limits of K
if, given any limit cone c
for K ⋙ F
(i.e. below) we can lift it to a cone "above", and further that F
reflects
limits for K
.
If F
reflects isomorphisms, it suffices to show only that the lifted cone is
a limit - see createsLimitOfReflectsIso
.
- reflects : {c : CategoryTheory.Limits.Cone K} → CategoryTheory.Limits.IsLimit (F.mapCone c) → CategoryTheory.Limits.IsLimit c
- lifts : (c : CategoryTheory.Limits.Cone (CategoryTheory.Functor.comp K F)) → CategoryTheory.Limits.IsLimit c → CategoryTheory.LiftableCone K F c
any limit cone can be lifted to a cone above
Instances
F
creates limits of shape J
if F
creates the limit of any diagram
K : J ⥤ C
.
- CreatesLimit : {K : CategoryTheory.Functor J C} → CategoryTheory.CreatesLimit K F
Instances
F
creates limits if it creates limits of shape J
for any J
.
- CreatesLimitsOfShape : {J : Type w} → [inst : CategoryTheory.Category.{w', w} J] → CategoryTheory.CreatesLimitsOfShape J F
Instances
F
creates small limits if it creates limits of shape J
for any small J
.
Equations
Instances For
Dual of definition 3.3.1 of [Riehl].
We say that F
creates colimits of K
if, given any limit cocone c
for
K ⋙ F
(i.e. below) we can lift it to a cocone "above", and further that F
reflects limits for K
.
If F
reflects isomorphisms, it suffices to show only that the lifted cocone is
a limit - see createsColimitOfReflectsIso
.
- reflects : {c : CategoryTheory.Limits.Cocone K} → CategoryTheory.Limits.IsColimit (F.mapCocone c) → CategoryTheory.Limits.IsColimit c
- lifts : (c : CategoryTheory.Limits.Cocone (CategoryTheory.Functor.comp K F)) → CategoryTheory.Limits.IsColimit c → CategoryTheory.LiftableCocone K F c
any limit cocone can be lifted to a cocone above
Instances
F
creates colimits of shape J
if F
creates the colimit of any diagram
K : J ⥤ C
.
- CreatesColimit : {K : CategoryTheory.Functor J C} → CategoryTheory.CreatesColimit K F
Instances
F
creates colimits if it creates colimits of shape J
for any small J
.
- CreatesColimitsOfShape : {J : Type w} → [inst : CategoryTheory.Category.{w', w} J] → CategoryTheory.CreatesColimitsOfShape J F
Instances
F
creates small colimits if it creates colimits of shape J
for any small J
.
Equations
Instances For
liftLimit t
is the cone for K
given by lifting the limit t
for K ⋙ F
.
Equations
- CategoryTheory.liftLimit t = (CategoryTheory.CreatesLimit.lifts c t).liftedCone
Instances For
The lifted cone has an image isomorphic to the original cone.
Equations
- CategoryTheory.liftedLimitMapsToOriginal t = (CategoryTheory.CreatesLimit.lifts c t).validLift
Instances For
The lifted cone is a limit.
Equations
Instances For
If F
creates the limit of K
and K ⋙ F
has a limit, then K
has a limit.
If F
creates limits of shape J
, and D
has limits of shape J
, then
C
has limits of shape J
.
If F
creates limits, and D
has all limits, then C
has all limits.
liftColimit t
is the cocone for K
given by lifting the colimit t
for K ⋙ F
.
Equations
- CategoryTheory.liftColimit t = (CategoryTheory.CreatesColimit.lifts c t).liftedCocone
Instances For
The lifted cocone has an image isomorphic to the original cocone.
Equations
- CategoryTheory.liftedColimitMapsToOriginal t = (CategoryTheory.CreatesColimit.lifts c t).validLift
Instances For
The lifted cocone is a colimit.
Equations
Instances For
If F
creates the limit of K
and K ⋙ F
has a limit, then K
has a limit.
If F
creates colimits of shape J
, and D
has colimits of shape J
, then
C
has colimits of shape J
.
If F
creates colimits, and D
has all colimits, then C
has all colimits.
Equations
- CategoryTheory.reflectsLimitsOfShapeOfCreatesLimitsOfShape F = CategoryTheory.Limits.ReflectsLimitsOfShape.mk
Equations
- CategoryTheory.reflectsLimitsOfCreatesLimits F = CategoryTheory.Limits.ReflectsLimitsOfSize.mk
Equations
- CategoryTheory.reflectsColimitsOfShapeOfCreatesColimitsOfShape F = CategoryTheory.Limits.ReflectsColimitsOfShape.mk
Equations
- CategoryTheory.reflectsColimitsOfCreatesColimits F = CategoryTheory.Limits.ReflectsColimitsOfSize.mk
A helper to show a functor creates limits. In particular, if we can show
that for any limit cone c
for K ⋙ F
, there is a lift of it which is
a limit and F
reflects isomorphisms, then F
creates limits.
Usually, F
creating limits says that any lift of c
is a limit, but
here we only need to show that our particular lift of c
is a limit.
- liftedCone : CategoryTheory.Limits.Cone K
- validLift : F.mapCone self.liftedCone ≅ c
- makesLimit : CategoryTheory.Limits.IsLimit self.liftedCone
the lifted cone is limit
Instances For
A helper to show a functor creates colimits. In particular, if we can show
that for any limit cocone c
for K ⋙ F
, there is a lift of it which is
a limit and F
reflects isomorphisms, then F
creates colimits.
Usually, F
creating colimits says that any lift of c
is a colimit, but
here we only need to show that our particular lift of c
is a colimit.
- liftedCocone : CategoryTheory.Limits.Cocone K
- validLift : F.mapCocone self.liftedCocone ≅ c
- makesColimit : CategoryTheory.Limits.IsColimit self.liftedCocone
the lifted cocone is colimit
Instances For
If F
reflects isomorphisms and we can lift any limit cone to a limit cone,
then F
creates limits.
In particular here we don't need to assume that F reflects limits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, to show that F
creates the limit for K
it suffices to exhibit a lift
of a limit cone for K ⋙ F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, and HasLimit (K ⋙ F)
, to show that F
creates the limit for K
it suffices to exhibit a lift of the chosen limit cone for K ⋙ F
.
Equations
Instances For
When F
is fully faithful, to show that F
creates the limit for K
it suffices to show that a
limit point is in the essential image of F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, and HasLimit (K ⋙ F)
, to show that F
creates the limit for K
it suffices to show that the chosen limit point is in the essential image of F
.
Equations
Instances For
A fully faithful functor that preserves a limit that exists also creates the limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
F
preserves the limit of K
if it creates the limit and K ⋙ F
has the limit.
Equations
- One or more equations did not get rendered due to their size.
F
preserves the limit of shape J
if it creates these limits and D
has them.
Equations
- CategoryTheory.preservesLimitOfShapeOfCreatesLimitsOfShapeAndHasLimitsOfShape F = CategoryTheory.Limits.PreservesLimitsOfShape.mk
F
preserves limits if it creates limits and D
has limits.
Equations
- CategoryTheory.preservesLimitsOfCreatesLimitsAndHasLimits F = CategoryTheory.Limits.PreservesLimitsOfSize.mk
If F
reflects isomorphisms and we can lift any colimit cocone to a colimit cocone,
then F
creates colimits.
In particular here we don't need to assume that F reflects colimits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, to show that F
creates the colimit for K
it suffices to exhibit a
lift of a colimit cocone for K ⋙ F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, and HasColimit (K ⋙ F)
, to show that F
creates the colimit for K
it suffices to exhibit a lift of the chosen colimit cocone for K ⋙ F
.
Equations
Instances For
A fully faithful functor that preserves a colimit that exists also creates the colimit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, to show that F
creates the colimit for K
it suffices to show that
a colimit point is in the essential image of F
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
When F
is fully faithful, and HasColimit (K ⋙ F)
, to show that F
creates the colimit for K
it suffices to show that the chosen colimit point is in the essential image of F
.
Equations
Instances For
F
preserves the colimit of K
if it creates the colimit and K ⋙ F
has the colimit.
Equations
- One or more equations did not get rendered due to their size.
F
preserves the colimit of shape J
if it creates these colimits and D
has them.
Equations
- CategoryTheory.preservesColimitOfShapeOfCreatesColimitsOfShapeAndHasColimitsOfShape F = CategoryTheory.Limits.PreservesColimitsOfShape.mk
F
preserves limits if it creates limits and D
has limits.
Equations
- CategoryTheory.preservesColimitsOfCreatesColimitsAndHasColimits F = CategoryTheory.Limits.PreservesColimitsOfSize.mk
Transfer creation of limits along a natural isomorphism in the diagram.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F
creates the limit of K
and F ≅ G
, then G
creates the limit of K
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F
creates limits of shape J
and F ≅ G
, then G
creates limits of shape J
.
Equations
- CategoryTheory.createsLimitsOfShapeOfNatIso h = CategoryTheory.CreatesLimitsOfShape.mk
Instances For
If F
creates limits and F ≅ G
, then G
creates limits.
Equations
- CategoryTheory.createsLimitsOfNatIso h = CategoryTheory.CreatesLimitsOfSize.mk
Instances For
Transfer creation of colimits along a natural isomorphism in the diagram.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F
creates the colimit of K
and F ≅ G
, then G
creates the colimit of K
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F
creates colimits of shape J
and F ≅ G
, then G
creates colimits of shape J
.
Equations
- CategoryTheory.createsColimitsOfShapeOfNatIso h = CategoryTheory.CreatesColimitsOfShape.mk
Instances For
If F
creates colimits and F ≅ G
, then G
creates colimits.
Equations
- CategoryTheory.createsColimitsOfNatIso h = CategoryTheory.CreatesColimitsOfSize.mk
Instances For
If F creates the limit of K, any cone lifts to a limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If F creates the colimit of K, any cocone lifts to a colimit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Any cone lifts through the identity functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The identity functor creates all limits.
Equations
- CategoryTheory.idCreatesLimits = CategoryTheory.CreatesLimitsOfSize.mk
Any cocone lifts through the identity functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The identity functor creates all colimits.
Equations
- CategoryTheory.idCreatesColimits = CategoryTheory.CreatesColimitsOfSize.mk
Satisfy the inhabited linter
Equations
- CategoryTheory.inhabitedLiftableCone c = { default := CategoryTheory.idLiftsCone c }
Equations
- CategoryTheory.inhabitedLiftableCocone c = { default := CategoryTheory.idLiftsCocone c }
Satisfy the inhabited linter
Equations
- CategoryTheory.inhabitedLiftsToLimit K F c t = { default := CategoryTheory.liftsToLimitOfCreates K F c t }
Equations
- CategoryTheory.inhabitedLiftsToColimit K F c t = { default := CategoryTheory.liftsToColimitOfCreates K F c t }
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.compCreatesLimitsOfShape F G = CategoryTheory.CreatesLimitsOfShape.mk
Equations
- CategoryTheory.compCreatesLimits F G = CategoryTheory.CreatesLimitsOfSize.mk
Equations
- One or more equations did not get rendered due to their size.
Equations
- CategoryTheory.compCreatesColimitsOfShape F G = CategoryTheory.CreatesColimitsOfShape.mk
Equations
- CategoryTheory.compCreatesColimits F G = CategoryTheory.CreatesColimitsOfSize.mk