Pullback over the first factor, retaining the native objects Limits.pullback c g.hom. The standard Over.pullback c uses the factors in the opposite order.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
universe v u
namespace CategoryTheory.Over
open CategoryTheory Limits
variable {C : Type u} [Category.{v} C] [HasPullbacks C]
noncomputable sectiondef pullbackLeft {X B : C} (c : X ⟶ B) : Over B ⥤ Over X where
obj g := Over.mk (Limits.pullback.fst c g.hom)
map {g h} k :=
Over.homMk
(Limits.pullback.map c g.hom c h.hom (𝟙 X) k.left (𝟙 B)
((Category.comp_id c).trans (Category.id_comp c).symm)
((Category.comp_id g.hom).trans (Over.w k).symm))
(by
simp only [Over.mk_hom]
exact (Limits.pullback.lift_fst _ _ _).trans (Category.comp_id _))
map_id g := by
apply Over.OverMorphism.ext
simp only [Over.homMk_left, Over.id_left]
exact Limits.pullback.map_id
map_comp {g h k} a b := by
apply Over.OverMorphism.ext
simp only [Over.comp_left, Over.homMk_left]
symm
refine (Limits.pullback.map_comp (𝟙 X) (𝟙 X) a.left b.left (𝟙 B) (𝟙 B)
((Category.comp_id c).trans (Category.id_comp c).symm)
((Category.comp_id g.hom).trans (Over.w a).symm)
((Category.comp_id c).trans (Category.id_comp c).symm)
((Category.comp_id h.hom).trans (Over.w b).symm)).trans ?_
apply Limits.pullback.hom_ext <;>
simp only [Limits.pullback.lift_fst, Limits.pullback.lift_snd, Category.comp_id]