The category of small categories has all small limits. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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?
Equations
Auxiliary definition: the diagram whose limit gives the morphism space between two objects of the limit category.
Equations
- category_theory.Cat.has_limits.hom_diagram X Y = {obj := λ (j : J), category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j X ⟶ category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j Y, map := λ (j j' : J) (f : j ⟶ j') (g : category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j X ⟶ category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j Y), category_theory.eq_to_hom _ ≫ (F.map f).map g ≫ category_theory.eq_to_hom _, map_id' := _, map_comp' := _}
Equations
- category_theory.Cat.has_limits.category_theory.limits.limit.category_theory.category F = {to_category_struct := {to_quiver := {hom := λ (X Y : category_theory.limits.limit (F ⋙ category_theory.Cat.objects)), category_theory.limits.limit (category_theory.Cat.has_limits.hom_diagram X Y)}, id := λ (X : category_theory.limits.limit (F ⋙ category_theory.Cat.objects)), category_theory.limits.types.limit.mk (category_theory.Cat.has_limits.hom_diagram X X) (λ (j : J), 𝟙 (category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j X)) _, comp := λ (X Y Z : category_theory.limits.limit (F ⋙ category_theory.Cat.objects)) (f : X ⟶ Y) (g : Y ⟶ Z), category_theory.limits.types.limit.mk (category_theory.Cat.has_limits.hom_diagram X Z) (λ (j : J), category_theory.limits.limit.π (category_theory.Cat.has_limits.hom_diagram X Y) j f ≫ category_theory.limits.limit.π (category_theory.Cat.has_limits.hom_diagram Y Z) j g) _}, id_comp' := _, comp_id' := _, assoc' := _}
Auxiliary definition: the limit category.
Auxiliary definition: the cone over the limit category.
Equations
- category_theory.Cat.has_limits.limit_cone F = {X := category_theory.Cat.has_limits.limit_cone_X F, π := {app := λ (j : J), {obj := category_theory.limits.limit.π (F ⋙ category_theory.Cat.objects) j, map := λ (X Y : ↥(((category_theory.functor.const J).obj (category_theory.Cat.has_limits.limit_cone_X F)).obj j)), category_theory.limits.limit.π (category_theory.Cat.has_limits.hom_diagram X Y) j, map_id' := _, map_comp' := _}, naturality' := _}}
Auxiliary definition: the universal morphism to the proposed limit cone.
Equations
- category_theory.Cat.has_limits.limit_cone_lift F s = {obj := category_theory.limits.limit.lift (F ⋙ category_theory.Cat.objects) {X := ↥(s.X), π := {app := λ (j : J), (s.π.app j).obj, naturality' := _}}, map := λ (X Y : ↥(s.X)) (f : X ⟶ Y), category_theory.limits.types.limit.mk (category_theory.Cat.has_limits.hom_diagram (category_theory.limits.limit.lift (F ⋙ category_theory.Cat.objects) {X := ↥(s.X), π := {app := λ (j : J), (s.π.app j).obj, naturality' := _}} X) (category_theory.limits.limit.lift (F ⋙ category_theory.Cat.objects) {X := ↥(s.X), π := {app := λ (j : J), (s.π.app j).obj, naturality' := _}} Y)) (λ (j : J), category_theory.eq_to_hom _ ≫ (s.π.app j).map f ≫ category_theory.eq_to_hom _) _, map_id' := _, map_comp' := _}
Auxiliary definition: the proposed cone is a limit cone.
Equations
The category of small categories has all small limits.
Equations
- category_theory.Cat.objects.category_theory.limits.preserves_limits = {preserves_limits_of_shape := λ (J : Type v) (_x : category_theory.category J), {preserves_limit := λ (F : J ⥤ category_theory.Cat), category_theory.limits.preserves_limit_of_preserves_limit_cone (category_theory.Cat.has_limits.limit_cone_is_limit F) ((category_theory.limits.limit.is_limit (F ⋙ category_theory.Cat.objects)).of_iso_limit (category_theory.limits.cones.ext (category_theory.iso.refl (category_theory.limits.limit.cone (F ⋙ category_theory.Cat.objects)).X) _))}}