Adjunctions and limits #
A left adjoint preserves colimits (CategoryTheory.Adjunction.leftAdjointPreservesColimits
),
and a right adjoint preserves limits (CategoryTheory.Adjunction.rightAdjointPreservesLimits
).
Equivalences create and reflect (co)limits.
(CategoryTheory.Adjunction.isEquivalenceCreatesLimits
,
CategoryTheory.Adjunction.isEquivalenceCreatesColimits
,
CategoryTheory.Adjunction.isEquivalenceReflectsLimits
,
CategoryTheory.Adjunction.isEquivalenceReflectsColimits
,)
In CategoryTheory.Adjunction.coconesIso
we show that
when F ⊣ G
,
the functor associating to each Y
the cocones over K ⋙ F
with cone point Y
is naturally isomorphic to
the functor associating to each Y
the cocones over K
with cone point G.obj Y
.
The right adjoint of Cocones.functoriality K F : Cocone K ⥤ Cocone (K ⋙ F)
.
Auxiliary definition for functorialityIsLeftAdjoint
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit for the adjunction for Cocones.functoriality K F : Cocone K ⥤ Cocone (K ⋙ F)
.
Auxiliary definition for functorialityIsLeftAdjoint
.
Equations
- adj.functorialityUnit K = { app := fun (c : CategoryTheory.Limits.Cocone K) => { hom := adj.unit.app c.pt, w := ⋯ }, naturality := ⋯ }
Instances For
The counit for the adjunction for Cocones.functoriality K F : Cocone K ⥤ Cocone (K ⋙ F)
.
Auxiliary definition for functorialityIsLeftAdjoint
.
Equations
- adj.functorialityCounit K = { app := fun (c : CategoryTheory.Limits.Cocone (K.comp F)) => { hom := adj.counit.app c.pt, w := ⋯ }, naturality := ⋯ }
Instances For
The functor Cocones.functoriality K F : Cocone K ⥤ Cocone (K ⋙ F)
is a left adjoint.
Equations
- adj.functorialityAdjunction K = CategoryTheory.Adjunction.mkOfUnitCounit { unit := adj.functorialityUnit K, counit := adj.functorialityCounit K, left_triangle := ⋯, right_triangle := ⋯ }
Instances For
A left adjoint preserves colimits.
See https://stacks.math.columbia.edu/tag/0038.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.Adjunction.isEquivalencePreservesColimits E = E.adjunction.leftAdjointPreservesColimits
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.
Transport a HasColimitsOfShape
instance across an equivalence.
Transport a HasColimitsOfSize
instance across an equivalence.
The left adjoint of Cones.functoriality K G : Cone K ⥤ Cone (K ⋙ G)
.
Auxiliary definition for functorialityIsRightAdjoint
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit for the adjunction for Cones.functoriality K G : Cone K ⥤ Cone (K ⋙ G)
.
Auxiliary definition for functorialityIsRightAdjoint
.
Equations
- adj.functorialityUnit' K = { app := fun (c : CategoryTheory.Limits.Cone (K.comp G)) => { hom := adj.unit.app c.pt, w := ⋯ }, naturality := ⋯ }
Instances For
The counit for the adjunction for Cones.functoriality K G : Cone K ⥤ Cone (K ⋙ G)
.
Auxiliary definition for functorialityIsRightAdjoint
.
Equations
- adj.functorialityCounit' K = { app := fun (c : CategoryTheory.Limits.Cone K) => { hom := adj.counit.app c.pt, w := ⋯ }, naturality := ⋯ }
Instances For
The functor Cones.functoriality K G : Cone K ⥤ Cone (K ⋙ G)
is a right adjoint.
Equations
- adj.functorialityAdjunction' K = CategoryTheory.Adjunction.mkOfUnitCounit { unit := adj.functorialityUnit' K, counit := adj.functorialityCounit' K, left_triangle := ⋯, right_triangle := ⋯ }
Instances For
A right adjoint preserves limits.
See https://stacks.math.columbia.edu/tag/0038.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.Adjunction.isEquivalencePreservesLimits E = E.asEquivalence.symm.toAdjunction.rightAdjointPreservesLimits
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.
Transport a HasLimitsOfShape
instance across an equivalence.
Transport a HasLimitsOfSize
instance across an equivalence.
auxiliary construction for coconesIso
Equations
- adj.coconesIsoComponentHom Y t = { app := fun (j : J) => (adj.homEquiv (K.obj j) Y) (t.app j), naturality := ⋯ }
Instances For
auxiliary construction for coconesIso
Equations
- adj.coconesIsoComponentInv Y t = { app := fun (j : J) => (adj.homEquiv (K.obj j) Y).symm (t.app j), naturality := ⋯ }
Instances For
auxiliary construction for conesIso
Equations
- adj.conesIsoComponentHom X t = { app := fun (j : J) => (adj.homEquiv (Opposite.unop X) (K.obj j)) (t.app j), naturality := ⋯ }
Instances For
auxiliary construction for conesIso
Equations
- adj.conesIsoComponentInv X t = { app := fun (j : J) => (adj.homEquiv (Opposite.unop X) (K.obj j)).symm (t.app j), naturality := ⋯ }
Instances For
When F ⊣ G
,
the functor associating to each Y
the cocones over K ⋙ F
with cone point Y
is naturally isomorphic to
the functor associating to each Y
the cocones over K
with cone point G.obj Y
.
Equations
- adj.coconesIso = CategoryTheory.NatIso.ofComponents (fun (Y : D) => { hom := adj.coconesIsoComponentHom Y, inv := adj.coconesIsoComponentInv Y, hom_inv_id := ⋯, inv_hom_id := ⋯ }) ⋯
Instances For
When F ⊣ G
,
the functor associating to each X
the cones over K
with cone point F.op.obj X
is naturally isomorphic to
the functor associating to each X
the cones over K ⋙ G
with cone point X
.
Equations
- adj.conesIso = CategoryTheory.NatIso.ofComponents (fun (X : Cᵒᵖ) => { hom := adj.conesIsoComponentHom X, inv := adj.conesIsoComponentInv X, hom_inv_id := ⋯, inv_hom_id := ⋯ }) ⋯
Instances For
Equations
- F.instPreservesColimitsOfShapeOfIsLeftAdjoint = CategoryTheory.Limits.PreservesColimitsOfSize.preservesColimitsOfShape
Equations
- F.instPreservesColimitsOfSizeOfIsLeftAdjoint = { preservesColimitsOfShape := fun {J : Type u} [CategoryTheory.Category.{v, u} J] => inferInstance }
Equations
- F.instPreservesLimitsOfShapeOfIsRightAdjoint = CategoryTheory.Limits.PreservesLimitsOfSize.preservesLimitsOfShape
Equations
- F.instPreservesLimitsOfSizeOfIsRightAdjoint = { preservesLimitsOfShape := fun {J : Type u} [CategoryTheory.Category.{v, u} J] => inferInstance }