Limits and colimits in the over and under categories #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Show that the forgetful functor forget X : over X ⥤ C
creates colimits, and hence over X
has
any colimits that C
has (as well as the dual that forget X : under X ⟶ C
creates limits).
Note that the folder category_theory.limits.shapes.constructions.over
further shows that
forget X : over X ⥤ C
creates connected limits (so over X
has connected limits), and that
over X
has J
-indexed products if C
has J
-indexed wide pullbacks.
TODO: If C
has binary products, then forget X : over X ⥤ C
has a right adjoint.
When C
has pullbacks, a morphism f : X ⟶ Y
induces a functor over Y ⥤ over X
,
by pulling back a morphism along f
.
Equations
- category_theory.over.pullback f = {obj := λ (g : category_theory.over Y), category_theory.over.mk category_theory.limits.pullback.snd, map := λ (g h : category_theory.over Y) (k : g ⟶ h), category_theory.over.hom_mk (category_theory.limits.pullback.lift (category_theory.limits.pullback.fst ≫ k.left) category_theory.limits.pullback.snd _) _, map_id' := _, map_comp' := _}
Instances for category_theory.over.pullback
over.map f
is left adjoint to over.pullback f
.
Equations
- category_theory.over.map_pullback_adj f = category_theory.adjunction.mk_of_hom_equiv {hom_equiv := λ (g : category_theory.over A) (h : category_theory.over B), {to_fun := λ (X : (category_theory.over.map f).obj g ⟶ h), category_theory.over.hom_mk (category_theory.limits.pullback.lift X.left g.hom _) _, inv_fun := λ (Y : g ⟶ (category_theory.over.pullback f).obj h), category_theory.over.hom_mk (Y.left ≫ category_theory.limits.pullback.fst) _, left_inv := _, right_inv := _}, hom_equiv_naturality_left_symm' := _, hom_equiv_naturality_right' := _}
pullback (𝟙 A) : over A ⥤ over A is the identity functor.
pullback commutes with composition (up to natural isomorphism).
Equations
When C
has pushouts, a morphism f : X ⟶ Y
induces a functor under X ⥤ under Y
,
by pushing a morphism forward along f
.
Equations
- category_theory.under.pushout f = {obj := λ (g : category_theory.under X), category_theory.under.mk category_theory.limits.pushout.inr, map := λ (g h : category_theory.under X) (k : g ⟶ h), category_theory.under.hom_mk (category_theory.limits.pushout.desc (k.right ≫ category_theory.limits.pushout.inl) category_theory.limits.pushout.inr _) _, map_id' := _, map_comp' := _}