Documentation

Mathlib.CategoryTheory.Category.Cat.Limit

The category of small categories has all small limits. #

An object in the limit consists of a family of objects, which are carried to one another by the functors in the diagram. A morphism between two such objects is a family of morphisms between the corresponding objects, which are carried to one another by the action on morphisms of the functors in the diagram.

Future work #

Can the indexing category live in a lower universe?

Auxiliary definition: the diagram whose limit gives the morphism space between two objects of the limit category.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Cat.HasLimits.instCategoryLimitTypeTypesCompCatCategoryObjectsHasLimitUnivLE_of_maxSmall_self_id {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J CategoryTheory.Cat) (X : CategoryTheory.Limits.limit (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects)) :
    @[simp]
    theorem CategoryTheory.Cat.HasLimits.instCategoryLimitTypeTypesCompCatCategoryObjectsHasLimitUnivLE_of_maxSmall_self_comp {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J CategoryTheory.Cat) {X : CategoryTheory.Limits.limit (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects)} {Y : CategoryTheory.Limits.limit (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects)} {Z : CategoryTheory.Limits.limit (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects)} (f : X Y) (g : Y Z) :
    CategoryTheory.CategoryStruct.comp f g = CategoryTheory.Limits.Types.Limit.mk (CategoryTheory.Cat.HasLimits.homDiagram X Z) (fun (j : J) => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram X Y) j f) (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram Y Z) j g)) (_ : ∀ (j j' : J) (h : j j'), CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom (_ : CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j' X = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j) ((CategoryTheory.Functor.comp F CategoryTheory.Cat.objects).toPrefunctor.map h) X)) (CategoryTheory.CategoryStruct.comp ((F.toPrefunctor.map h).toPrefunctor.map (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram X Y) j f) (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram Y Z) j g))) (CategoryTheory.eqToHom (_ : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j) ((CategoryTheory.Functor.comp F CategoryTheory.Cat.objects).toPrefunctor.map h) Z = CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j' Z))) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram X Y) j' f) (CategoryTheory.Limits.limit.π (CategoryTheory.Cat.HasLimits.homDiagram Y Z) j' g))

    Auxiliary definition: the cone over the limit category.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Cat.HasLimits.limitConeLift_map {J : Type v} [CategoryTheory.SmallCategory J] (F : CategoryTheory.Functor J CategoryTheory.Cat) (s : CategoryTheory.Limits.Cone F) :
      ∀ {X Y : s.pt} (f : X Y), (CategoryTheory.Cat.HasLimits.limitConeLift F s).toPrefunctor.map f = CategoryTheory.Limits.Types.Limit.mk (CategoryTheory.Cat.HasLimits.homDiagram (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } X) (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } Y)) (fun (j : J) => CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom (_ : CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } X) = (s.app j).toPrefunctor.obj X)) (CategoryTheory.CategoryStruct.comp ((s.app j).toPrefunctor.map f) (CategoryTheory.eqToHom (_ : (s.app j).toPrefunctor.obj Y = CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } Y))))) (_ : ∀ (j j' : J) (h : j j'), (CategoryTheory.Cat.HasLimits.homDiagram (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } X) (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } Y)).toPrefunctor.map h (CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom (_ : CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } X) = (s.app j).toPrefunctor.obj X)) (CategoryTheory.CategoryStruct.comp ((s.app j).toPrefunctor.map f) (CategoryTheory.eqToHom (_ : (s.app j).toPrefunctor.obj Y = CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } Y))))) = CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom (_ : CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j' (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } X) = (s.app j').toPrefunctor.obj X)) (CategoryTheory.CategoryStruct.comp ((s.app j').toPrefunctor.map f) (CategoryTheory.eqToHom (_ : (s.app j').toPrefunctor.obj Y = CategoryTheory.Limits.limit.π (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) j' (CategoryTheory.Limits.limit.lift (CategoryTheory.Functor.comp F CategoryTheory.Cat.objects) { pt := s.pt, π := CategoryTheory.NatTrans.mk fun (j : J) => (s.app j).obj } Y)))))

      Auxiliary definition: the universal morphism to the proposed limit cone.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For