Limits in the category of indexed families of objects. #
Given a functor F : J ⥤ Π i, C i
into a category of indexed families,
- we can assemble a collection of cones over
F ⋙ Pi.eval C i
into a cone overF
- if all those cones are limit cones, the assembled cone is a limit cone, and
- if we have limits for each of
F ⋙ Pi.eval C i
, we can produce aHasLimit F
instance
A cone over F : J ⥤ Π i, C i
has as its components cones over each of the F ⋙ Pi.eval C i
.
Equations
- CategoryTheory.pi.coneCompEval c i = { pt := c.pt i, π := { app := fun (j : J) => c.π.app j i, naturality := ⋯ } }
Instances For
A cocone over F : J ⥤ Π i, C i
has as its components cocones over each of the F ⋙ Pi.eval C i
.
Equations
- CategoryTheory.pi.coconeCompEval c i = { pt := c.pt i, ι := { app := fun (j : J) => c.ι.app j i, naturality := ⋯ } }
Instances For
Given a family of cones over the F ⋙ Pi.eval C i
, we can assemble these together as a Cone F
.
Equations
- CategoryTheory.pi.coneOfConeCompEval c = { pt := fun (i : I) => (c i).pt, π := { app := fun (j : J) (i : I) => (c i).π.app j, naturality := ⋯ } }
Instances For
Given a family of cocones over the F ⋙ Pi.eval C i
,
we can assemble these together as a Cocone F
.
Equations
- CategoryTheory.pi.coconeOfCoconeCompEval c = { pt := fun (i : I) => (c i).pt, ι := { app := fun (j : J) (i : I) => (c i).ι.app j, naturality := ⋯ } }
Instances For
Given a family of limit cones over the F ⋙ Pi.eval C i
,
assembling them together as a Cone F
produces a limit cone.
Equations
- CategoryTheory.pi.coneOfConeEvalIsLimit P = { lift := fun (s : CategoryTheory.Limits.Cone F) (i : I) => (P i).lift (CategoryTheory.pi.coneCompEval s i), fac := ⋯, uniq := ⋯ }
Instances For
Given a family of colimit cocones over the F ⋙ Pi.eval C i
,
assembling them together as a Cocone F
produces a colimit cocone.
Equations
- CategoryTheory.pi.coconeOfCoconeEvalIsColimit P = { desc := fun (s : CategoryTheory.Limits.Cocone F) (i : I) => (P i).desc (CategoryTheory.pi.coconeCompEval s i), fac := ⋯, uniq := ⋯ }
Instances For
If we have a functor F : J ⥤ Π i, C i
into a category of indexed families,
and we have limits for each of the F ⋙ Pi.eval C i
,
then F
has a limit.
If we have a functor F : J ⥤ Π i, C i
into a category of indexed families,
and colimits exist for each of the F ⋙ Pi.eval C i
,
there is a colimit for F
.
As an example, we can use this to construct particular shapes of limits in a category of indexed families.
With the addition of
import CategoryTheory.Limits.Shapes.Types
we can use:
attribute [local instance] hasLimit_of_hasLimit_comp_eval
example : hasBinaryProducts (I → Type v₁) := ⟨by infer_instance⟩