Loogle!
Result
Found 621 declarations mentioning CategoryTheory.Limits.HasPullbacks. Of these, only the first 200 are shown.
- CategoryTheory.Limits.HasPullbacks π Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
(C : Type u) [CategoryTheory.Category.{v, u} C] : Prop - CategoryTheory.Limits.hasPullbacks_of_hasWidePullbacks π Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
(D : Type u) [CategoryTheory.Category.{v, u} D] [CategoryTheory.Limits.HasWidePullbacks D] : CategoryTheory.Limits.HasPullbacks D - CategoryTheory.Limits.hasPullbacks_of_hasLimit_cospan π Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
(C : Type u) [CategoryTheory.Category.{v, u} C] [β {X Y Z : C} {f : X βΆ Z} {g : Y βΆ Z}, CategoryTheory.Limits.HasLimit (CategoryTheory.Limits.cospan f g)] : CategoryTheory.Limits.HasPullbacks C - CategoryTheory.Limits.hasStrongEpiImages_of_hasPullbacks_of_hasEqualizers π Mathlib.CategoryTheory.Limits.Shapes.Images
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasImages C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.HasEqualizers C] : CategoryTheory.Limits.HasStrongEpiImages C - CategoryTheory.Limits.hasPullbacks_opposite π Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPushouts C] : CategoryTheory.Limits.HasPullbacks Cα΅α΅ - CategoryTheory.Limits.hasPushouts_opposite π Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Limits.HasPushouts Cα΅α΅ - hasBinaryProducts_of_hasTerminal_and_pullbacks π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Limits.HasBinaryProducts C - limitConeOfTerminalAndPullbacks π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C) : CategoryTheory.Limits.LimitCone F - preservesBinaryProducts_of_preservesTerminal_and_pullbacks π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.PreservesLimitsOfShape (CategoryTheory.Discrete PEmpty.{1}) F] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan F] : CategoryTheory.Limits.PreservesLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) F - prodIsoPullback π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] : X β¨― Y β CategoryTheory.Limits.pullback (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y) - prodIsoPullback_hom_fst π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).hom (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) = CategoryTheory.Limits.prod.fst - prodIsoPullback_hom_snd π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).hom (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) = CategoryTheory.Limits.prod.snd - prodIsoPullback_inv_fst π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).inv CategoryTheory.Limits.prod.fst = CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y) - prodIsoPullback_inv_snd π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).inv CategoryTheory.Limits.prod.snd = CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y) - prodIsoPullback_hom_fst_assoc π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst h - prodIsoPullback_hom_snd_assoc π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd h - prodIsoPullback_inv_fst_assoc π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).inv (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.fst h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) h - prodIsoPullback_inv_snd_assoc π Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (prodIsoPullback X Y).inv (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.prod.snd h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y)) h - CategoryTheory.IsPullback.app π Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks D] {Fβ Fβ Fβ Fβ : CategoryTheory.Functor C D} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} (h : CategoryTheory.IsPullback fβ fβ fβ fβ) (X : C) : CategoryTheory.IsPullback (fβ.app X) (fβ.app X) (fβ.app X) (fβ.app X) - CategoryTheory.IsPullback.iff_app π Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks D] {Fβ Fβ Fβ Fβ : CategoryTheory.Functor C D} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} {fβ : Fβ βΆ Fβ} : CategoryTheory.IsPullback fβ fβ fβ fβ β β (X : C), CategoryTheory.IsPullback (fβ.app X) (fβ.app X) (fβ.app X) (fβ.app X) - CategoryTheory.Over.isLeftAdjoint_post π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : C) {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks C] {F : CategoryTheory.Functor C D} [F.IsLeftAdjoint] : (CategoryTheory.Over.post F).IsLeftAdjoint - CategoryTheory.Over.starPullbackIsoStar π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : X βΆ Y) : (CategoryTheory.Over.star Y).comp (CategoryTheory.Over.pullback f) β CategoryTheory.Over.star X - CategoryTheory.Over.postAdjunctionLeft π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks C] {X : C} {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (a : F β£ G) : CategoryTheory.Over.post F β£ (CategoryTheory.Over.post G).comp (CategoryTheory.Over.pullback (a.unit.app X)) - CategoryTheory.Over.starPullbackIsoStar_hom_app_left π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : X βΆ Y) (Xβ : C) : ((CategoryTheory.Over.starPullbackIsoStar f).hom.app Xβ).left = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.id (Y β¨― Xβ))) CategoryTheory.Limits.prod.fst) f CategoryTheory.Limits.prod.fst f (CategoryTheory.CategoryStruct.id (Y β¨― Xβ)) (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) β― β―) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackSymmetry CategoryTheory.Limits.prod.fst f).hom (CategoryTheory.Limits.pullbackProdFstIsoProd f Xβ).hom) - CategoryTheory.Over.starPullbackIsoStar_inv_app_left π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : X βΆ Y) (Xβ : C) : ((CategoryTheory.Over.starPullbackIsoStar f).inv.app Xβ).left = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackProdFstIsoProd f Xβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackSymmetry CategoryTheory.Limits.prod.fst f).inv (CategoryTheory.Limits.pullback.map CategoryTheory.Limits.prod.fst f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.prod.lift CategoryTheory.Limits.prod.fst (CategoryTheory.CategoryStruct.id (Y β¨― Xβ))) CategoryTheory.Limits.prod.fst) f (CategoryTheory.CategoryStruct.id (Y β¨― Xβ)) (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) β― β―)) - CategoryTheory.Over.postAdjunctionLeft_counit_app_left π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks C] {X : C} {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (a : F β£ G) (Xβ : CategoryTheory.Over ((CategoryTheory.Functor.id D).obj (F.obj X))) : ((CategoryTheory.Over.postAdjunctionLeft a).counit.app Xβ).left = CategoryTheory.CategoryStruct.comp ((CategoryTheory.NatIso.ofComponents (fun Y => CategoryTheory.Over.isoMk (CategoryTheory.Iso.refl (F.obj Y.left)) β―) β―).inv.app ((CategoryTheory.Over.pullback (a.unit.app X)).obj (CategoryTheory.Over.mk (G.map Xβ.hom)))).left (CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.Limits.pullback.fst (G.map Xβ.hom) (a.unit.app X))) (CategoryTheory.Over.Hom.left (CategoryTheory.Over.homMk (a.counit.app Xβ.left) β―))) - CategoryTheory.Over.postAdjunctionLeft_unit_app_left π Mathlib.CategoryTheory.Comma.Over.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasPullbacks C] {X : C} {F : CategoryTheory.Functor C D} {G : CategoryTheory.Functor D C} (a : F β£ G) (Xβ : CategoryTheory.Over ((CategoryTheory.Functor.id C).obj X)) : ((CategoryTheory.Over.postAdjunctionLeft a).unit.app Xβ).left = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.lift (CategoryTheory.CategoryStruct.id Xβ.left) Xβ.hom β―) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp Xβ.hom (a.unit.app X)) (a.unit.app X)) (a.unit.app Xβ.left)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp Xβ.hom (a.unit.app X)) (a.unit.app X)) β―) (((CategoryTheory.Over.post G).comp (CategoryTheory.Over.pullback (a.unit.app X))).map ((CategoryTheory.NatIso.ofComponents (fun Y => CategoryTheory.Over.isoMk (CategoryTheory.Iso.refl (F.obj Y.left)) β―) β―).hom.app Xβ)).left) - CategoryTheory.StructuredArrow.mono_right_of_mono π Mathlib.CategoryTheory.Limits.Comma
{A : Type uβ} [CategoryTheory.Category.{vβ, uβ} A] {T : Type uβ} [CategoryTheory.Category.{vβ, uβ} T] {X : T} {G : CategoryTheory.Functor A T} [CategoryTheory.Limits.HasPullbacks A] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] {Y Z : CategoryTheory.StructuredArrow X G} (f : Y βΆ Z) [CategoryTheory.Mono f] : CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f) - CategoryTheory.StructuredArrow.mono_iff_mono_right π Mathlib.CategoryTheory.Limits.Comma
{A : Type uβ} [CategoryTheory.Category.{vβ, uβ} A] {T : Type uβ} [CategoryTheory.Category.{vβ, uβ} T] {X : T} {G : CategoryTheory.Functor A T} [CategoryTheory.Limits.HasPullbacks A] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] {Y Z : CategoryTheory.StructuredArrow X G} (f : Y βΆ Z) : CategoryTheory.Mono f β CategoryTheory.Mono (CategoryTheory.StructuredArrow.Hom.right f) - CategoryTheory.Under.mono_right_of_mono π Mathlib.CategoryTheory.Limits.Over
{C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} [CategoryTheory.Limits.HasPullbacks C] {f g : CategoryTheory.Under X} (h : f βΆ g) [CategoryTheory.Mono h] : CategoryTheory.Mono (CategoryTheory.Under.Hom.right h) - CategoryTheory.Under.mono_iff_mono_right π Mathlib.CategoryTheory.Limits.Over
{C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} [CategoryTheory.Limits.HasPullbacks C] {f g : CategoryTheory.Under X} (h : f βΆ g) : CategoryTheory.Mono h β CategoryTheory.Mono (CategoryTheory.Under.Hom.right h) - CategoryTheory.Limits.pullbackDiagonalMapIdIso π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―) β CategoryTheory.Limits.pullback f g - CategoryTheory.Limits.pullback_lift_diagonal_isPullback π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S : C} (g : Y βΆ X) (f : X βΆ S) : CategoryTheory.IsPullback g (CategoryTheory.Limits.pullback.lift (CategoryTheory.CategoryStruct.id Y) g β―) (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp g f) f f f g (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id S) β― β―) - CategoryTheory.Limits.diagonalObjPullbackFstIso π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.Limits.pullback.diagonalObj (CategoryTheory.Limits.pullback.fst f g) β CategoryTheory.Limits.pullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f - CategoryTheory.Limits.pullback_map_diagonal_isPullback π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) f) (CategoryTheory.Limits.pullback.map f g (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) i β― β―) (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) f - CategoryTheory.Limits.isPullback_map_snd_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z S : C} (f : X βΆ S) (g : Y βΆ S) (h : Z βΆ S) : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.map (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f h) g h (CategoryTheory.Limits.pullback.snd f g) (CategoryTheory.Limits.pullback.snd f h) f β― β―) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f h)) (CategoryTheory.Limits.pullback.fst g h) (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] {Z : C} (h : T βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.CategoryStruct.comp f h) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i))) = CategoryTheory.Limits.pullback.fst f g - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i))) = CategoryTheory.Limits.pullback.snd f g - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h - CategoryTheory.Limits.pullbackDiagonalMapIdIso_inv_snd_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h - CategoryTheory.Limits.pullback.comp_diagonal π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.pullback.diagonal g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.diagonal (CategoryTheory.CategoryStruct.comp f g)) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.comp f g) g g f f (CategoryTheory.CategoryStruct.id Z) β― β―) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).hom (CategoryTheory.Limits.pullback.fst f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).hom (CategoryTheory.Limits.pullback.snd f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) - CategoryTheory.Limits.pullbackFstFstIso π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X βΆ S) (g : Y βΆ S) (f' : X' βΆ S') (g' : Y' βΆ S') (iβ : X βΆ X') (iβ : Y βΆ Y') (iβ : S βΆ S') (eβ : CategoryTheory.CategoryStruct.comp f iβ = CategoryTheory.CategoryStruct.comp iβ f') (eβ : CategoryTheory.CategoryStruct.comp g iβ = CategoryTheory.CategoryStruct.comp iβ g') [CategoryTheory.Mono iβ] : CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') iβ) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ) β CategoryTheory.Limits.pullback f g - CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) h) - CategoryTheory.Limits.pullbackDiagonalMapIdIso_hom_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X βΆ T) (g : Y βΆ T) (i : T βΆ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)] {Z : C} (h : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f g i).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)) h) - CategoryTheory.Limits.pullback.comp_diagonal_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : Y βΆ Z) {Zβ : C} (h : CategoryTheory.Limits.pullback.diagonalObj g βΆ Zβ) : CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.diagonal g) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.diagonal (CategoryTheory.CategoryStruct.comp f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.comp f g) g g f f (CategoryTheory.CategoryStruct.id Z) β― β―) h) - CategoryTheory.Limits.pullback_lift_map_isPullback π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X βΆ S) (g : Y βΆ S) (f' : X' βΆ S') (g' : Y' βΆ S') (iβ : X βΆ X') (iβ : Y βΆ Y') (iβ : S βΆ S') (eβ : CategoryTheory.CategoryStruct.comp f iβ = CategoryTheory.CategoryStruct.comp iβ f') (eβ : CategoryTheory.CategoryStruct.comp g iβ = CategoryTheory.CategoryStruct.comp iβ g') [CategoryTheory.Mono iβ] : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' iβ iβ iβ eβ eβ) (CategoryTheory.Limits.pullback.fst f g) β―) (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' iβ iβ iβ eβ eβ) (CategoryTheory.Limits.pullback.snd f g) β―) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') iβ) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ) - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.fst f g) - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.fst f g)) = CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.fst f g)) = CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : X βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h) - CategoryTheory.Limits.pullbackFstFstIso_inv π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X βΆ S) (g : Y βΆ S) (f' : X' βΆ S') (g' : Y' βΆ S') (iβ : X βΆ X') (iβ : Y βΆ Y') (iβ : S βΆ S') (eβ : CategoryTheory.CategoryStruct.comp f iβ = CategoryTheory.CategoryStruct.comp iβ f') (eβ : CategoryTheory.CategoryStruct.comp g iβ = CategoryTheory.CategoryStruct.comp iβ g') [CategoryTheory.Mono iβ] : (CategoryTheory.Limits.pullbackFstFstIso f g f' g' iβ iβ iβ eβ eβ).inv = CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' iβ iβ iβ eβ eβ) (CategoryTheory.Limits.pullback.fst f g) β―) (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' iβ iβ iβ eβ eβ) (CategoryTheory.Limits.pullback.snd f g) β―) β― - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.Limits.pullback.fst g g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.Limits.pullback.snd g g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst g g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h) - CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_fst_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h) - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : X βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) h - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : X βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) h - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.snd f g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.Limits.pullback.fst g g) - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.Limits.pullback.snd f g)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.Limits.pullback.snd g g) - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_fst_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst g g) h) - CategoryTheory.Limits.diagonalObjPullbackFstIso_inv_snd_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) {Zβ : C} (h : Y βΆ Zβ) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) g) f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd g g) h) - CategoryTheory.Limits.diagonal_pullback_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.Limits.pullback.diagonal (CategoryTheory.Limits.pullback.fst f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackSymmetry f (CategoryTheory.Over.mk g).hom).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Over.Hom.left ((CategoryTheory.Over.pullback f).map (CategoryTheory.Over.homMk (CategoryTheory.Limits.pullback.diagonal g) β―))) (CategoryTheory.Limits.diagonalObjPullbackFstIso f g).inv) - CategoryTheory.Limits.pullbackFstFstIso_hom π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X βΆ S) (g : Y βΆ S) (f' : X' βΆ S') (g' : Y' βΆ S') (iβ : X βΆ X') (iβ : Y βΆ Y') (iβ : S βΆ S') (eβ : CategoryTheory.CategoryStruct.comp f iβ = CategoryTheory.CategoryStruct.comp iβ f') (eβ : CategoryTheory.CategoryStruct.comp g iβ = CategoryTheory.CategoryStruct.comp iβ g') [CategoryTheory.Mono iβ] : (CategoryTheory.Limits.pullbackFstFstIso f g f' g' iβ iβ iβ eβ eβ).hom = CategoryTheory.Limits.pullback.lift (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') iβ) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst f' g') iβ)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') iβ) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.snd f' g') iβ)) β― - CategoryTheory.Limits.pullback_map_eq_pullbackFstFstIso_inv π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X βΆ S) (g : Y βΆ S) (f' : X' βΆ S') (g' : Y' βΆ S') (iβ : X βΆ X') (iβ : Y βΆ Y') (iβ : S βΆ S') (eβ : CategoryTheory.CategoryStruct.comp f iβ = CategoryTheory.CategoryStruct.comp iβ f') (eβ : CategoryTheory.CategoryStruct.comp g iβ = CategoryTheory.CategoryStruct.comp iβ g') [CategoryTheory.Mono iβ] : CategoryTheory.Limits.pullback.map f g f' g' iβ iβ iβ eβ eβ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackFstFstIso f g f' g' iβ iβ iβ eβ eβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') iβ) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') iβ)) - CategoryTheory.Limits.pullback_fst_map_snd_isPullback π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst iβ iβ) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i))) (CategoryTheory.Limits.pullback.map iβ iβ (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.id Vβ) (CategoryTheory.CategoryStruct.id Vβ) (CategoryTheory.Limits.pullback.snd f i) β― β―) (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) - CategoryTheory.Limits.pullback.diagonal_comp π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : Y βΆ Z) : CategoryTheory.Limits.pullback.diagonal (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIdIso f f g).inv (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal g) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f g) (CategoryTheory.CategoryStruct.comp f g) g g f f (CategoryTheory.CategoryStruct.id Z) β― β―))) - CategoryTheory.Limits.pullbackDiagonalMapIso π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) β CategoryTheory.Limits.pullback iβ iβ - CategoryTheory.Limits.pullbackDiagonalMapIso.hom π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) βΆ CategoryTheory.Limits.pullback iβ iβ - CategoryTheory.Limits.pullbackDiagonalMapIso.inv π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.Limits.pullback iβ iβ βΆ CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst iβ iβ) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst iβ iβ) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f i) h)) - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_snd_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)))) = CategoryTheory.Limits.pullback.fst iβ iβ - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_snd_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)))) = CategoryTheory.Limits.pullback.snd iβ iβ - CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i))) = CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) - CategoryTheory.Limits.pullback_diagonal_map_snd_snd_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i))) = CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―) - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_snd_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] {Z : C} (h : Vβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst iβ iβ) h - CategoryTheory.Limits.pullbackDiagonalMapIso.inv_snd_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] {Z : C} (h : Vβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd iβ iβ) h - CategoryTheory.Limits.pullbackDiagonalMapIso.hom_fst π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).hom (CategoryTheory.Limits.pullback.fst iβ iβ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) - CategoryTheory.Limits.pullbackDiagonalMapIso.hom_snd π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).hom (CategoryTheory.Limits.pullback.snd iβ iβ) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) - CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f i) h))) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) h - CategoryTheory.Limits.pullback_diagonal_map_snd_snd_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) {Z : C} (h : X βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f i) h))) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) h - CategoryTheory.Limits.pullbackDiagonalMapIso.hom_fst_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] {Z : C} (h : Vβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst iβ iβ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) h) - CategoryTheory.Limits.pullbackDiagonalMapIso.hom_snd_assoc π Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U Vβ Vβ : C} (f : X βΆ Y) (i : U βΆ Y) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) (iβ : Vβ βΆ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback iβ iβ] {Z : C} (h : Vβ βΆ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackDiagonalMapIso f i iβ iβ).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd iβ iβ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.fst f i)) i β― β―)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp iβ (CategoryTheory.Limits.pullback.snd f i))) h) - CategoryTheory.MorphismProperty.instHasPullbacksOfHasPullbacks π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.MorphismProperty C) [CategoryTheory.Limits.HasPullbacks C] : P.HasPullbacks - CategoryTheory.MorphismProperty.diagonal π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] (P : CategoryTheory.MorphismProperty C) : CategoryTheory.MorphismProperty C - CategoryTheory.MorphismProperty.diagonal_isomorphisms π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] : (CategoryTheory.MorphismProperty.isomorphisms C).diagonal = CategoryTheory.MorphismProperty.monomorphisms C - CategoryTheory.MorphismProperty.IsStableUnderComposition.universally π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] (P : CategoryTheory.MorphismProperty C) [hP : P.IsStableUnderComposition] : P.universally.IsStableUnderComposition - CategoryTheory.MorphismProperty.RespectsIso.diagonal π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.RespectsIso] : P.diagonal.RespectsIso - CategoryTheory.MorphismProperty.instContainsIdentitiesDiagonalOfRespectsIso π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.ContainsIdentities] [P.RespectsIso] : P.diagonal.ContainsIdentities - CategoryTheory.MorphismProperty.instIsMultiplicativeDiagonalOfIsStableUnderBaseChange π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.IsMultiplicative] [P.IsStableUnderBaseChange] : P.diagonal.IsMultiplicative - CategoryTheory.MorphismProperty.IsStableUnderBaseChange.diagonal π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.IsStableUnderBaseChange] [P.RespectsIso] : P.diagonal.IsStableUnderBaseChange - CategoryTheory.MorphismProperty.diagonal_isStableUnderComposition π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.IsStableUnderComposition] [P.RespectsIso] [P.IsStableUnderBaseChange] : P.diagonal.IsStableUnderComposition - CategoryTheory.MorphismProperty.diagonal_iff π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} {X Y : C} {f : X βΆ Y} : P.diagonal f β P (CategoryTheory.Limits.pullback.diagonal f) - CategoryTheory.MorphismProperty.hasOfPostcompProperty_iff_le_diagonal π Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] {P : CategoryTheory.MorphismProperty C} [P.IsStableUnderBaseChange] [P.IsMultiplicative] {Q : CategoryTheory.MorphismProperty C} [Q.IsStableUnderBaseChange] : P.HasOfPostcompProperty Q β Q β€ P.diagonal - CategoryTheory.Limits.hasEqualizers_of_hasPullbacks_and_binary_products π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Limits.HasEqualizers C - CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.constructEqualizer π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingParallelPair C) : C - CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.equalizerCone π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingParallelPair C) : CategoryTheory.Limits.Cone F - CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.equalizerConeIsLimit π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingParallelPair C) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.equalizerCone F) - CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.pullbackFst π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingParallelPair C) : CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.constructEqualizer F βΆ F.obj CategoryTheory.Limits.WalkingParallelPair.zero - CategoryTheory.Limits.preservesEqualizers_of_preservesPullbacks_and_binaryProducts π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.PreservesLimitsOfShape (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) G] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] : CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingParallelPair G - CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.pullbackFst_eq_pullback_snd π Mathlib.CategoryTheory.Limits.Constructions.Equalizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingParallelPair C) : CategoryTheory.Limits.HasEqualizersOfHasPullbacksAndBinaryProducts.pullbackFst F = CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id (F.obj CategoryTheory.Limits.WalkingParallelPair.zero)) (F.map CategoryTheory.Limits.WalkingParallelPairHom.left)) (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id (F.obj CategoryTheory.Limits.WalkingParallelPair.zero)) (F.map CategoryTheory.Limits.WalkingParallelPairHom.right)) - CategoryTheory.Limits.hasFiniteLimits_of_hasTerminal_and_pullbacks π Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Limits.HasFiniteLimits C - CategoryTheory.Limits.preservesFiniteLimits_of_preservesTerminal_and_pullbacks π Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasTerminal C] [CategoryTheory.Limits.HasPullbacks C] (G : CategoryTheory.Functor C D) [CategoryTheory.Limits.PreservesLimitsOfShape (CategoryTheory.Discrete PEmpty.{1}) G] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] : CategoryTheory.Limits.PreservesFiniteLimits G - CategoryTheory.Limits.createsFiniteLimitsOfCreatesTerminalAndPullbacks π Mathlib.CategoryTheory.Limits.Constructions.LimitsOfProductsAndEqualizers
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type uβ} [CategoryTheory.Category.{vβ, uβ} D] [CategoryTheory.Limits.HasTerminal D] [CategoryTheory.Limits.HasPullbacks D] (G : CategoryTheory.Functor C D) [G.ReflectsIsomorphisms] [CategoryTheory.CreatesLimitsOfShape (CategoryTheory.Discrete PEmpty.{1}) G] [CategoryTheory.CreatesLimitsOfShape CategoryTheory.Limits.WalkingCospan G] : CategoryTheory.Limits.CreatesFiniteLimits G - CategoryTheory.Limits.hasPullbacks_of_hasBinaryProducts_of_hasEqualizers π Mathlib.CategoryTheory.Limits.Constructions.Pullbacks
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasBinaryProducts C] [CategoryTheory.Limits.HasEqualizers C] : CategoryTheory.Limits.HasPullbacks C - CategoryTheory.Abelian.hasPullbacks π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] : CategoryTheory.Limits.HasPullbacks C - CategoryTheory.Abelian.epi_pullback_of_epi_f π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) [CategoryTheory.Epi f] : CategoryTheory.Epi (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.Abelian.epi_pullback_of_epi_g π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) [CategoryTheory.Epi g] : CategoryTheory.Epi (CategoryTheory.Limits.pullback.fst f g) - CategoryTheory.Abelian.epi_fst_of_isLimit π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) [CategoryTheory.Epi g] {s : CategoryTheory.Limits.PullbackCone f g} (hs : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Epi s.fst - CategoryTheory.Abelian.epi_snd_of_isLimit π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) [CategoryTheory.Epi f] {s : CategoryTheory.Limits.PullbackCone f g} (hs : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Epi s.snd - CategoryTheory.Abelian.PullbackToBiproductIsKernel.pullbackToBiproduct π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.Limits.pullback f g βΆ X β Y - CategoryTheory.Abelian.epi_fst_of_factor_thru_epi_mono_factorization π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {W X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) (gβ : Y βΆ W) [CategoryTheory.Epi gβ] (gβ : W βΆ Z) [CategoryTheory.Mono gβ] (hg : CategoryTheory.CategoryStruct.comp gβ gβ = g) (f' : X βΆ W) (hf : CategoryTheory.CategoryStruct.comp f' gβ = f) (t : CategoryTheory.Limits.PullbackCone f g) (ht : CategoryTheory.Limits.IsLimit t) : CategoryTheory.Epi t.fst - CategoryTheory.Abelian.PullbackToBiproductIsKernel.pullbackToBiproductFork π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.Limits.KernelFork (CategoryTheory.Limits.biprod.desc f (-g)) - CategoryTheory.Abelian.PullbackToBiproductIsKernel.isLimitPullbackToBiproduct π Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X βΆ Z) (g : Y βΆ Z) : CategoryTheory.Limits.IsLimit (CategoryTheory.Abelian.PullbackToBiproductIsKernel.pullbackToBiproductFork f g) - CategoryTheory.MonoOver.pullback π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) : CategoryTheory.Functor (CategoryTheory.MonoOver Y) (CategoryTheory.MonoOver X) - CategoryTheory.MonoOver.existsPullbackAdj π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X βΆ Y) [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.MonoOver.exists f β£ CategoryTheory.MonoOver.pullback f - CategoryTheory.MonoOver.mapPullbackAdj π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) [CategoryTheory.Mono f] : CategoryTheory.MonoOver.map f β£ CategoryTheory.MonoOver.pullback f - CategoryTheory.MonoOver.pullbackId π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X : C} [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.MonoOver.pullback (CategoryTheory.CategoryStruct.id X) β CategoryTheory.Functor.id (CategoryTheory.MonoOver X) - CategoryTheory.MonoOver.pullback_obj_left π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : CategoryTheory.MonoOver Y) : ((CategoryTheory.MonoOver.pullback f).obj g).obj.left = CategoryTheory.Limits.pullback g.arrow f - CategoryTheory.MonoOver.pullbackMapSelf π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) [CategoryTheory.Mono f] : (CategoryTheory.MonoOver.map f).comp (CategoryTheory.MonoOver.pullback f) β CategoryTheory.Functor.id (CategoryTheory.MonoOver X) - CategoryTheory.MonoOver.pullbackComp π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y Z : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : Y βΆ Z) : CategoryTheory.MonoOver.pullback (CategoryTheory.CategoryStruct.comp f g) β (CategoryTheory.MonoOver.pullback g).comp (CategoryTheory.MonoOver.pullback f) - CategoryTheory.MonoOver.pullbackObjIsoOfIsPullback π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : Y βΆ X) (S : CategoryTheory.MonoOver X) (T : CategoryTheory.MonoOver Y) (f' : T.obj.left βΆ S.obj.left) (h : CategoryTheory.IsPullback f' T.arrow S.arrow f) : (CategoryTheory.MonoOver.pullback f).obj S β T - CategoryTheory.MonoOver.pullback_obj_arrow π Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : CategoryTheory.MonoOver Y) : ((CategoryTheory.MonoOver.pullback f).obj g).arrow = CategoryTheory.Limits.pullback.snd ((CategoryTheory.MonoOver.forget Y).obj g).hom f - CategoryTheory.Subobject.pullback π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) : CategoryTheory.Functor (CategoryTheory.Subobject Y) (CategoryTheory.Subobject X) - CategoryTheory.Subobject.instFaithfulPullback π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) : (CategoryTheory.Subobject.pullback f).Faithful - CategoryTheory.Subobject.pullback_id π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X : C} [CategoryTheory.Limits.HasPullbacks C] (x : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.pullback (CategoryTheory.CategoryStruct.id X)).obj x = x - CategoryTheory.Subobject.existsPullbackAdj π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasImages C] (f : X βΆ Y) [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Subobject.exists f β£ CategoryTheory.Subobject.pullback f - CategoryTheory.Subobject.mapPullbackAdj π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) [CategoryTheory.Mono f] : CategoryTheory.Subobject.map f β£ CategoryTheory.Subobject.pullback f - CategoryTheory.Subobject.pullback_map_self π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) [CategoryTheory.Mono f] (g : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.pullback f).obj ((CategoryTheory.Subobject.map f).obj g) = g - CategoryTheory.Subobject.pullbackΟ π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (y : CategoryTheory.Subobject Y) : CategoryTheory.Subobject.underlying.obj ((CategoryTheory.Subobject.pullback f).obj y) βΆ CategoryTheory.Subobject.underlying.obj y - CategoryTheory.Subobject.pullback_obj_mk π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B X Y : C} {f : Y βΆ X} {i : A βΆ X} [CategoryTheory.Mono i] {j : B βΆ Y} [CategoryTheory.Mono j] {f' : B βΆ A} (h : CategoryTheory.IsPullback f' j i f) : (CategoryTheory.Subobject.pullback f).obj (CategoryTheory.Subobject.mk i) = CategoryTheory.Subobject.mk j - CategoryTheory.Subobject.pullback_comp π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y Z : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (g : Y βΆ Z) (x : CategoryTheory.Subobject Z) : (CategoryTheory.Subobject.pullback (CategoryTheory.CategoryStruct.comp f g)).obj x = (CategoryTheory.Subobject.pullback f).obj ((CategoryTheory.Subobject.pullback g).obj x) - CategoryTheory.Subobject.isPullback π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (y : CategoryTheory.Subobject Y) : CategoryTheory.IsPullback (CategoryTheory.Subobject.pullbackΟ f y) ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.map_pullback π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z W : C} {f : X βΆ Y} {g : X βΆ Z} {h : Y βΆ W} {k : Z βΆ W} [CategoryTheory.Mono h] [CategoryTheory.Mono g] (comm : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) (t : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk f g comm)) (p : CategoryTheory.Subobject Y) : (CategoryTheory.Subobject.map g).obj ((CategoryTheory.Subobject.pullback f).obj p) = (CategoryTheory.Subobject.pullback k).obj ((CategoryTheory.Subobject.map h).obj p) - CategoryTheory.Subobject.pullback_obj π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : Y βΆ X) (x : CategoryTheory.Subobject X) : (CategoryTheory.Subobject.pullback f).obj x = CategoryTheory.Subobject.mk (CategoryTheory.Limits.pullback.snd x.arrow f) - CategoryTheory.Subobject.isPullback_aux π Mathlib.CategoryTheory.Subobject.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) (y : CategoryTheory.Subobject Y) : β Ο, CategoryTheory.IsPullback Ο ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.semilatticeInf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} : SemilatticeInf (CategoryTheory.Subobject B) - CategoryTheory.Subobject.functor π Mathlib.CategoryTheory.Subobject.Lattice
(C : Type uβ) [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Functor Cα΅α΅ (Type (max uβ vβ)) - CategoryTheory.Subobject.instLattice π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.HasImages C] [CategoryTheory.Limits.HasBinaryCoproducts C] {B : C} : Lattice (CategoryTheory.Subobject B) - CategoryTheory.Subobject.functor_obj π Mathlib.CategoryTheory.Subobject.Lattice
(C : Type uβ) [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] (X : Cα΅α΅) : (CategoryTheory.Subobject.functor C).obj X = CategoryTheory.Subobject (Opposite.unop X) - CategoryTheory.Subobject.factors_left_of_inf_factors π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} {X Y : CategoryTheory.Subobject B} {f : A βΆ B} (h : (X β Y).Factors f) : X.Factors f - CategoryTheory.Subobject.factors_right_of_inf_factors π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} {X Y : CategoryTheory.Subobject B} {f : A βΆ B} (h : (X β Y).Factors f) : Y.Factors f - CategoryTheory.Subobject.inf_factors π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} {X Y : CategoryTheory.Subobject B} (f : A βΆ B) : (X β Y).Factors f β X.Factors f β§ Y.Factors f - CategoryTheory.Subobject.finset_inf_factors π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {I : Type u_1} {A B : C} {s : Finset I} {P : I β CategoryTheory.Subobject B} (f : A βΆ B) : (s.inf P).Factors f β β i β s, (P i).Factors f - CategoryTheory.Subobject.prod_eq_inf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} {fβ fβ : CategoryTheory.Subobject A} [CategoryTheory.Limits.HasBinaryProduct fβ fβ] : (fβ β¨― fβ) = fβ β fβ - CategoryTheory.Subobject.inf_arrow_factors_left π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (X Y : CategoryTheory.Subobject B) : X.Factors (X β Y).arrow - CategoryTheory.Subobject.inf_arrow_factors_right π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (X Y : CategoryTheory.Subobject B) : Y.Factors (X β Y).arrow - CategoryTheory.MonoOver.inf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} : CategoryTheory.Functor (CategoryTheory.MonoOver A) (CategoryTheory.Functor (CategoryTheory.MonoOver A) (CategoryTheory.MonoOver A)) - CategoryTheory.MonoOver.pullbackTop π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) : (CategoryTheory.MonoOver.pullback f).obj β€ β β€ - CategoryTheory.Subobject.finset_inf_arrow_factors π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {I : Type u_1} {B : C} (s : Finset I) (P : I β CategoryTheory.Subobject B) (i : I) (m : i β s) : (P i).Factors (s.inf P).arrow - CategoryTheory.MonoOver.pullbackSelf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} (f : A βΆ B) [CategoryTheory.Mono f] : (CategoryTheory.MonoOver.pullback f).obj (CategoryTheory.MonoOver.mk f) β β€ - CategoryTheory.Subobject.inf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} : CategoryTheory.Functor (CategoryTheory.Subobject A) (CategoryTheory.Functor (CategoryTheory.Subobject A) (CategoryTheory.Subobject A)) - CategoryTheory.Subobject.pullback_self π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} (f : A βΆ B) [CategoryTheory.Mono f] : (CategoryTheory.Subobject.pullback f).obj (CategoryTheory.Subobject.mk f) = β€ - CategoryTheory.MonoOver.topLEPullbackSelf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A B : C} (f : A βΆ B) [CategoryTheory.Mono f] : β€ βΆ (CategoryTheory.MonoOver.pullback f).obj (CategoryTheory.MonoOver.mk f) - CategoryTheory.Subobject.pullback_top π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X βΆ Y) : (CategoryTheory.Subobject.pullback f).obj β€ = β€ - CategoryTheory.Subobject.functor_map π Mathlib.CategoryTheory.Subobject.Lattice
(C : Type uβ) [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {Xβ Yβ : Cα΅α΅} (f : Xβ βΆ Yβ) : (CategoryTheory.Subobject.functor C).map f = TypeCat.ofHom (CategoryTheory.Subobject.pullback f.unop).obj - CategoryTheory.Subobject.inf_le_left π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : (CategoryTheory.Subobject.inf.obj f).obj g β€ f - CategoryTheory.Subobject.inf_le_right π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : (CategoryTheory.Subobject.inf.obj f).obj g β€ g - CategoryTheory.MonoOver.infLELeft π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.MonoOver A) : (CategoryTheory.MonoOver.inf.obj f).obj g βΆ f - CategoryTheory.MonoOver.infLERight π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.MonoOver A) : (CategoryTheory.MonoOver.inf.obj f).obj g βΆ g - CategoryTheory.Subobject.inf_def π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (m m' : CategoryTheory.Subobject B) : m β m' = (CategoryTheory.Subobject.inf.obj m).obj m' - CategoryTheory.Subobject.inf_isPullback π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.IsPullback ((f β g).ofLE f β―) ((f β g).ofLE g β―) f.arrow g.arrow - CategoryTheory.Subobject.inf_comp_left π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.CategoryStruct.comp ((f β g).ofLE f β―) f.arrow = (f β g).arrow - CategoryTheory.Subobject.inf_comp_right π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.CategoryStruct.comp ((f β g).ofLE g β―) g.arrow = (f β g).arrow - CategoryTheory.Subobject.inf_pullback π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (g : X βΆ Y) (fβ fβ : CategoryTheory.Subobject Y) : (CategoryTheory.Subobject.pullback g).obj (fβ β fβ) = (CategoryTheory.Subobject.pullback g).obj fβ β (CategoryTheory.Subobject.pullback g).obj fβ - CategoryTheory.Subobject.inf_map π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (g : Y βΆ X) [CategoryTheory.Mono g] (fβ fβ : CategoryTheory.Subobject Y) : (CategoryTheory.Subobject.map g).obj (fβ β fβ) = (CategoryTheory.Subobject.map g).obj fβ β (CategoryTheory.Subobject.map g).obj fβ - CategoryTheory.Subobject.le_inf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (h f g : CategoryTheory.Subobject A) : h β€ f β h β€ g β h β€ (CategoryTheory.Subobject.inf.obj f).obj g - CategoryTheory.MonoOver.leInf π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g h : CategoryTheory.MonoOver A) : (h βΆ f) β (h βΆ g) β (h βΆ (CategoryTheory.MonoOver.inf.obj f).obj g) - CategoryTheory.Subobject.inf_comp_left_assoc π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) {Z : C} (h : A βΆ Z) : CategoryTheory.CategoryStruct.comp ((f β g).ofLE f β―) (CategoryTheory.CategoryStruct.comp f.arrow h) = CategoryTheory.CategoryStruct.comp (f β g).arrow h - CategoryTheory.Subobject.inf_comp_right_assoc π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) {Z : C} (h : A βΆ Z) : CategoryTheory.CategoryStruct.comp ((f β g).ofLE g β―) (CategoryTheory.CategoryStruct.comp g.arrow h) = CategoryTheory.CategoryStruct.comp (f β g).arrow h - CategoryTheory.MonoOver.inf_obj π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.MonoOver A) : CategoryTheory.MonoOver.inf.obj f = (CategoryTheory.MonoOver.pullback f.arrow).comp (CategoryTheory.MonoOver.map f.arrow) - CategoryTheory.Subobject.inf_eq_map_pullback π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (fβ fβ : CategoryTheory.Subobject A) : fβ β fβ = (CategoryTheory.Subobject.map fβ.arrow).obj ((CategoryTheory.Subobject.pullback fβ.arrow).obj fβ) - CategoryTheory.Subobject.inf_eq_map_pullback' π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (fβ : CategoryTheory.MonoOver A) (fβ : CategoryTheory.Subobject A) : (CategoryTheory.Subobject.inf.obj (Quotient.mk'' fβ)).obj fβ = (CategoryTheory.Subobject.map fβ.arrow).obj ((CategoryTheory.Subobject.pullback fβ.arrow).obj fβ) - CategoryTheory.MonoOver.inf_map_app π Mathlib.CategoryTheory.Subobject.Lattice
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} {Xβ Yβ : CategoryTheory.MonoOver A} (k : Xβ βΆ Yβ) (g : CategoryTheory.MonoOver A) : (CategoryTheory.MonoOver.inf.map k).app g = CategoryTheory.MonoOver.homMk (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.fst ((CategoryTheory.MonoOver.forget A).obj g).hom Xβ.arrow) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd ((CategoryTheory.MonoOver.forget A).obj g).hom Xβ.arrow) (CategoryTheory.Over.Hom.left k.hom)) β―) β― - CategoryTheory.Limits.pullback_factors π Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y W : C} (f : X βΆ Y) [CategoryTheory.Limits.HasPullbacks C] (y : CategoryTheory.Subobject Y) (h : W βΆ X) (hF : y.Factors (CategoryTheory.CategoryStruct.comp h f)) : ((CategoryTheory.Subobject.pullback f).obj y).Factors h - CategoryTheory.Limits.pullback_factors_iff π Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y W : C} (f : X βΆ Y) [CategoryTheory.Limits.HasPullbacks C] (y : CategoryTheory.Subobject Y) (h : W βΆ X) : ((CategoryTheory.Subobject.pullback f).obj y).Factors h β y.Factors (CategoryTheory.CategoryStruct.comp h f) - CategoryTheory.Limits.pullback_equalizer π Mathlib.CategoryTheory.Subobject.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X βΆ Y) [CategoryTheory.Limits.HasEqualizer f g] {W : C} (h : W βΆ X) [CategoryTheory.Limits.HasPullbacks C] : (CategoryTheory.Subobject.pullback h).obj (CategoryTheory.Limits.equalizerSubobject f g) = CategoryTheory.Limits.equalizerSubobject (CategoryTheory.CategoryStruct.comp h f) (CategoryTheory.CategoryStruct.comp h g) - CategoryTheory.HasDetector.wellPowered π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.HasDetector C] : CategoryTheory.WellPowered.{vβ, vβ, uβ} C - CategoryTheory.wellPowered_of_isDetector π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] (G : C) (hG : CategoryTheory.IsDetector G) : CategoryTheory.WellPowered.{vβ, vβ, uβ} C - CategoryTheory.HasSeparator.wellPowered π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Balanced C] [CategoryTheory.HasSeparator C] : CategoryTheory.WellPowered.{vβ, vβ, uβ} C - CategoryTheory.wellPowered_of_isSeparator π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Balanced C] (G : C) (hG : CategoryTheory.IsSeparator G) : CategoryTheory.WellPowered.{vβ, vβ, uβ} C - CategoryTheory.wellPowered_of_isDetecting π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {π’ : CategoryTheory.ObjectProperty C} [CategoryTheory.ObjectProperty.Small.{w, vβ, uβ} π’] [CategoryTheory.LocallySmall.{w, vβ, uβ} C] (hπ’ : π’.IsDetecting) : CategoryTheory.WellPowered.{w, vβ, uβ} C - CategoryTheory.Subobject.eq_of_isDetecting π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {π’ : CategoryTheory.ObjectProperty C} (hπ’ : π’.IsDetecting) {X : C} (P Q : CategoryTheory.Subobject X) (h : β (G : C), π’ G β β {f : G βΆ X}, P.Factors f β Q.Factors f) : P = Q - CategoryTheory.Subobject.inf_eq_of_isDetecting π Mathlib.CategoryTheory.Generator.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] [CategoryTheory.Limits.HasPullbacks C] {π’ : CategoryTheory.ObjectProperty C} (hπ’ : π’.IsDetecting) {X : C} (P Q : CategoryTheory.Subobject X) (h : β (G : C), π’ G β β {f : G βΆ X}, P.Factors f β Q.Factors f) : P β Q = P - CategoryTheory.instMonoAppOfFunctor π Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {F G : CategoryTheory.Functor K C} (f : F βΆ G) [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Mono f] (k : K) : CategoryTheory.Mono (f.app k) - CategoryTheory.NatTrans.mono_iff_mono_app π Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {F G : CategoryTheory.Functor K C} (f : F βΆ G) [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Mono f β β (k : K), CategoryTheory.Mono (f.app k) - CategoryTheory.instPreservesMonomorphismsFunctorObjWhiskeringRight π Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] [CategoryTheory.Limits.HasPullbacks C] (F : CategoryTheory.Functor C D) [F.PreservesMonomorphisms] : ((CategoryTheory.Functor.whiskeringRight K C D).obj F).PreservesMonomorphisms - CategoryTheory.instMonoFunctorWhiskerRightOfPreservesMonomorphisms π Mathlib.CategoryTheory.Limits.FunctorCategory.EpiMono
{K : Type u} [CategoryTheory.Category.{v, u} K] {C : Type u'} [CategoryTheory.Category.{v', u'} C] {D : Type u''} [CategoryTheory.Category.{v'', u''} D] {F G : CategoryTheory.Functor K C} (f : F βΆ G) [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Mono f] (H : CategoryTheory.Functor C D) [H.PreservesMonomorphisms] : CategoryTheory.Mono (CategoryTheory.Functor.whiskerRight f H) - CategoryTheory.Presieve.instHasPairwisePullbacksOfHasPullbacks π Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X : C} (R : CategoryTheory.Presieve X) [CategoryTheory.Limits.HasPullbacks C] : R.HasPairwisePullbacks - CategoryTheory.Presieve.instHasPullbacksOfHasPullbacks π Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X : C} [CategoryTheory.Limits.HasPullbacks C] (R : CategoryTheory.Presieve X) {Y : C} (f : Y βΆ X) : R.HasPullbacks f - CategoryTheory.Presieve.uncurry_pullbackArrows π Mathlib.CategoryTheory.Sites.Sieves.Presieve
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X : C} (s : CategoryTheory.Presieve X) [CategoryTheory.Limits.HasPullbacks C] {B : C} (b : B βΆ X) : (CategoryTheory.Presieve.pullbackArrows b s).uncurry = (fun f => β¨CategoryTheory.Limits.pullback f.snd b, CategoryTheory.Limits.pullback.snd f.snd bβ©) '' s.uncurry - CategoryTheory.GrothendieckTopology.right_ore_of_pullbacks π Mathlib.CategoryTheory.Sites.Grothendieck
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.GrothendieckTopology.RightOreCondition C - CategoryTheory.Precoverage.instHasPullbacksOfHasPullbacks π Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.Precoverage C) [CategoryTheory.Limits.HasPullbacks C] : J.HasPullbacks - CategoryTheory.Pretopology π Mathlib.CategoryTheory.Sites.Pretopology
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] : Type (max u v) - CategoryTheory.Pretopology.trivial π Mathlib.CategoryTheory.Sites.Pretopology
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] : CategoryTheory.Pretopology C - CategoryTheory.Pretopology.LE π Mathlib.CategoryTheory.Sites.Pretopology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] : LE (CategoryTheory.Pretopology C)
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c