Loogle!
Result
Found 359 declarations mentioning CategoryTheory.Limits.span. Of these, only the first 200 are shown.
- CategoryTheory.Limits.span 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C - CategoryTheory.Limits.span_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).obj CategoryTheory.Limits.WalkingSpan.left = Y - CategoryTheory.Limits.span_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).obj CategoryTheory.Limits.WalkingSpan.right = Z - CategoryTheory.Limits.span_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).obj CategoryTheory.Limits.WalkingSpan.zero = X - CategoryTheory.Limits.diagramIsoSpan 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C) : F ≅ CategoryTheory.Limits.span (F.map CategoryTheory.Limits.WalkingSpan.Hom.fst) (F.map CategoryTheory.Limits.WalkingSpan.Hom.snd) - CategoryTheory.Limits.span_map_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).map CategoryTheory.Limits.WalkingSpan.Hom.fst = f - CategoryTheory.Limits.span_map_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).map CategoryTheory.Limits.WalkingSpan.Hom.snd = g - CategoryTheory.Limits.span_map_id 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (w : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.span f g).map (CategoryTheory.Limits.WalkingSpan.Hom.id w) = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span f g).obj w) - CategoryTheory.Limits.spanCompIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).comp F ≅ CategoryTheory.Limits.span (F.map f) (F.map g) - CategoryTheory.Limits.spanExt 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : CategoryTheory.Limits.span f g ≅ CategoryTheory.Limits.span f' g' - CategoryTheory.Limits.spanCompIso_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).app CategoryTheory.Limits.WalkingSpan.left = CategoryTheory.Iso.refl (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.left) - CategoryTheory.Limits.spanCompIso_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).app CategoryTheory.Limits.WalkingSpan.right = CategoryTheory.Iso.refl (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.right) - CategoryTheory.Limits.spanCompIso_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).app CategoryTheory.Limits.WalkingSpan.zero = CategoryTheory.Iso.refl (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.zero) - CategoryTheory.Limits.spanExt_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).app CategoryTheory.Limits.WalkingSpan.left = iY - CategoryTheory.Limits.spanExt_app_one 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).app CategoryTheory.Limits.WalkingSpan.zero = iX - CategoryTheory.Limits.spanExt_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).app CategoryTheory.Limits.WalkingSpan.right = iZ - CategoryTheory.Limits.spanExt_hom_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).hom.app CategoryTheory.Limits.WalkingSpan.left = iY.hom - CategoryTheory.Limits.spanExt_hom_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).hom.app CategoryTheory.Limits.WalkingSpan.right = iZ.hom - CategoryTheory.Limits.spanExt_hom_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).hom.app CategoryTheory.Limits.WalkingSpan.zero = iX.hom - CategoryTheory.Limits.spanExt_inv_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).inv.app CategoryTheory.Limits.WalkingSpan.left = iY.inv - CategoryTheory.Limits.spanExt_inv_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).inv.app CategoryTheory.Limits.WalkingSpan.right = iZ.inv - CategoryTheory.Limits.spanExt_inv_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X ≅ X') (iY : Y ≅ Y') (iZ : Z ≅ Z') {f : X ⟶ Y} {g : X ⟶ Z} {f' : X' ⟶ Y'} {g' : X' ⟶ Z'} (wf : CategoryTheory.CategoryStruct.comp iX.hom f' = CategoryTheory.CategoryStruct.comp f iY.hom) (wg : CategoryTheory.CategoryStruct.comp iX.hom g' = CategoryTheory.CategoryStruct.comp g iZ.hom) : (CategoryTheory.Limits.spanExt iX iY iZ wf wg).inv.app CategoryTheory.Limits.WalkingSpan.zero = iX.inv - CategoryTheory.Limits.spanCompIso_hom_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).hom.app CategoryTheory.Limits.WalkingSpan.left = CategoryTheory.CategoryStruct.id (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.left) - CategoryTheory.Limits.spanCompIso_hom_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).hom.app CategoryTheory.Limits.WalkingSpan.right = CategoryTheory.CategoryStruct.id (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.right) - CategoryTheory.Limits.spanCompIso_hom_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).hom.app CategoryTheory.Limits.WalkingSpan.zero = CategoryTheory.CategoryStruct.id (((CategoryTheory.Limits.span f g).comp F).obj CategoryTheory.Limits.WalkingSpan.zero) - CategoryTheory.Limits.spanCompIso_inv_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).inv.app CategoryTheory.Limits.WalkingSpan.left = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span (F.map f) (F.map g)).obj CategoryTheory.Limits.WalkingSpan.left) - CategoryTheory.Limits.spanCompIso_inv_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).inv.app CategoryTheory.Limits.WalkingSpan.right = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span (F.map f) (F.map g)).obj CategoryTheory.Limits.WalkingSpan.right) - CategoryTheory.Limits.spanCompIso_inv_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.spanCompIso F f g).inv.app CategoryTheory.Limits.WalkingSpan.zero = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span (F.map f) (F.map g)).obj CategoryTheory.Limits.WalkingSpan.zero) - CategoryTheory.Limits.diagramIsoSpan_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C) (X : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.diagramIsoSpan F).hom.app X = ((fun j => CategoryTheory.eqToIso ⋯) X).hom - CategoryTheory.Limits.diagramIsoSpan_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C) (X : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.diagramIsoSpan F).inv.app X = ((fun j => CategoryTheory.eqToIso ⋯) X).inv - CategoryTheory.Limits.PushoutCocone.inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : Y ⟶ t.pt - CategoryTheory.Limits.PushoutCocone.inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : Z ⟶ t.pt - CategoryTheory.Limits.PushoutCocone.flipIsColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) : CategoryTheory.Limits.IsColimit t.flip - CategoryTheory.Limits.PushoutCocone.isColimitOfFlip 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t.flip) : CategoryTheory.Limits.IsColimit t - CategoryTheory.Limits.PushoutCocone.flip_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.flip.pt = t.pt - CategoryTheory.Limits.PushoutCocone.flipFlipIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.flip.flip ≅ t - CategoryTheory.Limits.PushoutCocone.ofCocone_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.PushoutCocone.ofCocone t).pt = t.pt - CategoryTheory.Limits.PushoutCocone.flip_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.flip.inl = t.inr - CategoryTheory.Limits.PushoutCocone.flip_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.flip.inr = t.inl - CategoryTheory.Limits.PushoutCocone.mk_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).pt = W - CategoryTheory.Limits.PushoutCocone.eta 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t ≅ CategoryTheory.Limits.PushoutCocone.mk t.inl t.inr ⋯ - CategoryTheory.CommSq.cocone_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cocone.inl = h - CategoryTheory.CommSq.cocone_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cocone.inr = i - CategoryTheory.Limits.PushoutCocone.mkSelfIsColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk t.inl t.inr ⋯) - CategoryTheory.Limits.PushoutCocone.IsColimit.desc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : t.pt ⟶ W - CategoryTheory.Limits.PushoutCocone.condition 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : CategoryTheory.CategoryStruct.comp f t.inl = CategoryTheory.CategoryStruct.comp g t.inr - CategoryTheory.Limits.Cocone.ofPushoutCocone_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.PushoutCocone (F.map CategoryTheory.Limits.WalkingSpan.Hom.fst) (F.map CategoryTheory.Limits.WalkingSpan.Hom.snd)) : (CategoryTheory.Limits.Cocone.ofPushoutCocone t).pt = t.pt - CategoryTheory.Limits.PushoutCocone.mk_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).inl = inl - CategoryTheory.Limits.PushoutCocone.mk_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).inr = inr - CategoryTheory.Limits.PushoutCocone.condition_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) {Z✝ : C} (h : t.pt ⟶ Z✝) : CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp t.inl h) = CategoryTheory.CategoryStruct.comp g (CategoryTheory.CategoryStruct.comp t.inr h) - CategoryTheory.Limits.PushoutCocone.IsColimit.inl_desc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : CategoryTheory.CategoryStruct.comp t.inl (CategoryTheory.Limits.PushoutCocone.IsColimit.desc ht h k w) = h - CategoryTheory.Limits.PushoutCocone.IsColimit.inr_desc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : CategoryTheory.CategoryStruct.comp t.inr (CategoryTheory.Limits.PushoutCocone.IsColimit.desc ht h k w) = k - CategoryTheory.Limits.PushoutCocone.ι_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.ι.app CategoryTheory.Limits.WalkingSpan.left = c.inl - CategoryTheory.Limits.PushoutCocone.ι_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.ι.app CategoryTheory.Limits.WalkingSpan.right = c.inr - CategoryTheory.Limits.PushoutCocone.IsColimit.inl_desc_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Z✝ : C} (h✝ : W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp t.inl (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PushoutCocone.IsColimit.desc ht h k w) h✝) = CategoryTheory.CategoryStruct.comp h h✝ - CategoryTheory.Limits.PushoutCocone.IsColimit.inr_desc_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Z✝ : C} (h✝ : W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp t.inr (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PushoutCocone.IsColimit.desc ht h k w) h✝) = CategoryTheory.CategoryStruct.comp k h✝ - CategoryTheory.Limits.PushoutCocone.condition_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.ι.app CategoryTheory.Limits.WalkingSpan.zero = CategoryTheory.CategoryStruct.comp f t.inl - CategoryTheory.Limits.PushoutCocone.IsColimit.desc' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} (h : Y ⟶ W) (k : Z ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : { l // CategoryTheory.CategoryStruct.comp t.inl l = h ∧ CategoryTheory.CategoryStruct.comp t.inr l = k } - CategoryTheory.Limits.PushoutCocone.mk_ι_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).ι.app CategoryTheory.Limits.WalkingSpan.left = inl - CategoryTheory.Limits.PushoutCocone.mk_ι_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).ι.app CategoryTheory.Limits.WalkingSpan.right = inr - CategoryTheory.Limits.PushoutCocone.mk_ι_app_zero 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).ι.app CategoryTheory.Limits.WalkingSpan.zero = CategoryTheory.CategoryStruct.comp f inl - CategoryTheory.Limits.PushoutCocone.IsColimit.hom_ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) {W : C} {k l : t.pt ⟶ W} (h₀ : CategoryTheory.CategoryStruct.comp t.inl k = CategoryTheory.CategoryStruct.comp t.inl l) (h₁ : CategoryTheory.CategoryStruct.comp t.inr k = CategoryTheory.CategoryStruct.comp t.inr l) : k = l - CategoryTheory.Limits.PushoutCocone.eta_hom_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.eta.hom.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.PushoutCocone.eta_inv_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) : t.eta.inv.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.PushoutCocone.ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {s t : CategoryTheory.Limits.PushoutCocone f g} (i : s.pt ≅ t.pt) (w₁ : CategoryTheory.CategoryStruct.comp s.inl i.hom = t.inl := by cat_disch) (w₂ : CategoryTheory.CategoryStruct.comp s.inr i.hom = t.inr := by cat_disch) : s ≅ t - CategoryTheory.Limits.PushoutCocone.ofCocone_ι 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.PushoutCocone.ofCocone t).ι = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagramIsoSpan F).inv t.ι - CategoryTheory.Limits.PushoutCocone.mk_ι_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} (inl : Y ⟶ W) (inr : Z ⟶ W) (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) (j : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.PushoutCocone.mk inl inr eq).ι.app j = Option.casesOn j (CategoryTheory.CategoryStruct.comp f inl) fun j' => CategoryTheory.Limits.WalkingPair.casesOn j' inl inr - CategoryTheory.Limits.Cocone.ofPushoutCocone_ι 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.PushoutCocone (F.map CategoryTheory.Limits.WalkingSpan.Hom.fst) (F.map CategoryTheory.Limits.WalkingSpan.Hom.snd)) : (CategoryTheory.Limits.Cocone.ofPushoutCocone t).ι = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.diagramIsoSpan F).hom t.ι - CategoryTheory.Limits.PushoutCocone.IsColimit.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {W : C} {inl : Y ⟶ W} {inr : Z ⟶ W} (eq : CategoryTheory.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) (desc : (s : CategoryTheory.Limits.PushoutCocone f g) → W ⟶ s.pt) (fac_left : ∀ (s : CategoryTheory.Limits.PushoutCocone f g), CategoryTheory.CategoryStruct.comp inl (desc s) = s.inl) (fac_right : ∀ (s : CategoryTheory.Limits.PushoutCocone f g), CategoryTheory.CategoryStruct.comp inr (desc s) = s.inr) (uniq : ∀ (s : CategoryTheory.Limits.PushoutCocone f g) (m : W ⟶ s.pt), CategoryTheory.CategoryStruct.comp inl m = s.inl → CategoryTheory.CategoryStruct.comp inr m = s.inr → m = desc s) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk inl inr eq) - CategoryTheory.Limits.PushoutCocone.coequalizer_ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) {W : C} {k l : t.pt ⟶ W} (h₀ : CategoryTheory.CategoryStruct.comp t.inl k = CategoryTheory.CategoryStruct.comp t.inl l) (h₁ : CategoryTheory.CategoryStruct.comp t.inr k = CategoryTheory.CategoryStruct.comp t.inr l) (j : CategoryTheory.Limits.WalkingSpan) : CategoryTheory.CategoryStruct.comp (t.ι.app j) k = CategoryTheory.CategoryStruct.comp (t.ι.app j) l - CategoryTheory.Limits.PushoutCocone.isColimitAux' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) (create : (s : CategoryTheory.Limits.PushoutCocone f g) → { l // CategoryTheory.CategoryStruct.comp t.inl l = s.inl ∧ CategoryTheory.CategoryStruct.comp t.inr l = s.inr ∧ ∀ {m : t.pt ⟶ s.pt}, CategoryTheory.CategoryStruct.comp t.inl m = s.inl → CategoryTheory.CategoryStruct.comp t.inr m = s.inr → m = l }) : CategoryTheory.Limits.IsColimit t - CategoryTheory.Limits.PushoutCocone.isColimitAux 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (t : CategoryTheory.Limits.PushoutCocone f g) (desc : (s : CategoryTheory.Limits.PushoutCocone f g) → t.pt ⟶ s.pt) (fac_left : ∀ (s : CategoryTheory.Limits.PushoutCocone f g), CategoryTheory.CategoryStruct.comp t.inl (desc s) = s.inl) (fac_right : ∀ (s : CategoryTheory.Limits.PushoutCocone f g), CategoryTheory.CategoryStruct.comp t.inr (desc s) = s.inr) (uniq : ∀ (s : CategoryTheory.Limits.PushoutCocone f g) (m : t.pt ⟶ s.pt), (∀ (j : CategoryTheory.Limits.WalkingSpan), CategoryTheory.CategoryStruct.comp (t.ι.app j) m = s.ι.app j) → m = desc s) : CategoryTheory.Limits.IsColimit t - CategoryTheory.Limits.PushoutCocone.isoMk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.Cocone.precompose (CategoryTheory.Limits.diagramIsoSpan F).inv).obj t ≅ CategoryTheory.Limits.PushoutCocone.mk (t.ι.app CategoryTheory.Limits.WalkingSpan.left) (t.ι.app CategoryTheory.Limits.WalkingSpan.right) ⋯ - CategoryTheory.Limits.PushoutCocone.isoMk_hom_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.PushoutCocone.isoMk t).hom.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.PushoutCocone.isoMk_inv_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} (t : CategoryTheory.Limits.Cocone F) : (CategoryTheory.Limits.PushoutCocone.isoMk t).inv.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.hasPushouts_of_hasColimit_span 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
(C : Type u) [CategoryTheory.Category.{v, u} C] [∀ {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z}, CategoryTheory.Limits.HasColimit (CategoryTheory.Limits.span f g)] : CategoryTheory.Limits.HasPushouts C - CategoryTheory.Limits.pushout.isColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.Limits.HasPushout f g] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.pushout.cocone f g) - CategoryTheory.Limits.pushoutIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.Limits.HasPushout f g] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.Limits.pushout.inl f g) (CategoryTheory.Limits.pushout.inr f g) ⋯) - CategoryTheory.Limits.PushoutCocone.inl_colimit_cocone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : Z ⟶ X) (g : Z ⟶ Y) [CategoryTheory.Limits.HasColimit (CategoryTheory.Limits.span f g)] : CategoryTheory.Limits.PushoutCocone.inl (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Limits.span f g)) = CategoryTheory.Limits.pushout.inl f g - CategoryTheory.Limits.PushoutCocone.inr_colimit_cocone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : Z ⟶ X) (g : Z ⟶ Y) [CategoryTheory.Limits.HasColimit (CategoryTheory.Limits.span f g)] : CategoryTheory.Limits.PushoutCocone.inr (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Limits.span f g)) = CategoryTheory.Limits.pushout.inr f g - CategoryTheory.Limits.pushoutCoconeOfLeftIsoIsLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g) - CategoryTheory.Limits.pushoutCoconeOfRightIsoIsLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.pushoutCoconeOfRightIso f g) - CategoryTheory.Limits.pushoutCoconeOfLeftIso_x 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).pt = Z - CategoryTheory.Limits.pushoutCoconeOfRightIso_x 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).pt = Y - CategoryTheory.Limits.pushoutCoconeOfLeftIso_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).inr = CategoryTheory.CategoryStruct.id Z - CategoryTheory.Limits.pushoutCoconeOfRightIso_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).inl = CategoryTheory.CategoryStruct.id Y - CategoryTheory.Limits.pushoutCoconeOfLeftIso_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).inl = CategoryTheory.CategoryStruct.comp (CategoryTheory.inv f) g - CategoryTheory.Limits.pushoutCoconeOfRightIso_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).inr = CategoryTheory.CategoryStruct.comp (CategoryTheory.inv g) f - CategoryTheory.Limits.pushoutCoconeOfLeftIso_ι_app_none 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).ι.app none = g - CategoryTheory.Limits.pushoutCoconeOfRightIso_ι_app_none 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).ι.app none = f - CategoryTheory.Limits.pushoutCoconeOfLeftIso_ι_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).ι.app CategoryTheory.Limits.WalkingSpan.left = CategoryTheory.CategoryStruct.comp (CategoryTheory.inv f) g - CategoryTheory.Limits.pushoutCoconeOfRightIso_ι_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).ι.app CategoryTheory.Limits.WalkingSpan.right = CategoryTheory.CategoryStruct.comp (CategoryTheory.inv g) f - CategoryTheory.Limits.pushoutCoconeOfLeftIso_ι_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pushoutCoconeOfLeftIso f g).ι.app CategoryTheory.Limits.WalkingSpan.right = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span f g).obj CategoryTheory.Limits.WalkingSpan.right) - CategoryTheory.Limits.pushoutCoconeOfRightIso_ι_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pushoutCoconeOfRightIso f g).ι.app CategoryTheory.Limits.WalkingSpan.left = CategoryTheory.CategoryStruct.id ((CategoryTheory.Limits.span f g).obj CategoryTheory.Limits.WalkingSpan.left) - CategoryTheory.Limits.PushoutCocone.inl_eq_inr_of_epi_eq 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Epi f] (t : CategoryTheory.Limits.PushoutCocone f f) : t.inl = t.inr - CategoryTheory.Limits.PushoutCocone.isIso_inl_of_epi_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Epi f] {t : CategoryTheory.Limits.PushoutCocone f f} (ht : CategoryTheory.Limits.IsColimit t) : CategoryTheory.IsIso t.inl - CategoryTheory.Limits.PushoutCocone.isIso_inr_of_epi_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Epi f] {t : CategoryTheory.Limits.PushoutCocone f f} (ht : CategoryTheory.Limits.IsColimit t) : CategoryTheory.IsIso t.inr - CategoryTheory.Limits.PushoutCocone.epi_of_isColimitMkIdId 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X ⟶ Y) (t : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.CategoryStruct.id Y) (CategoryTheory.CategoryStruct.id Y) ⋯)) : CategoryTheory.Epi f - CategoryTheory.Limits.PushoutCocone.isColimitMkIdId 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f : X ⟶ Y) [CategoryTheory.Epi f] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.CategoryStruct.id Y) (CategoryTheory.CategoryStruct.id Y) ⋯) - CategoryTheory.Limits.PushoutCocone.epi_inl_of_is_pushout_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) [CategoryTheory.Epi g] : CategoryTheory.Epi t.inl - CategoryTheory.Limits.PushoutCocone.epi_inr_of_is_pushout_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} {t : CategoryTheory.Limits.PushoutCocone f g} (ht : CategoryTheory.Limits.IsColimit t) [CategoryTheory.Epi f] : CategoryTheory.Epi t.inr - CategoryTheory.Limits.pushoutIsPushoutOfEpiComp 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (h : W ⟶ X) [CategoryTheory.Epi h] [CategoryTheory.Limits.HasPushout f g] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (CategoryTheory.Limits.pushout.inl f g) (CategoryTheory.Limits.pushout.inr f g) ⋯) - CategoryTheory.Limits.PushoutCocone.isColimitOfEpiComp 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (h : W ⟶ X) [CategoryTheory.Epi h] (s : CategoryTheory.Limits.PushoutCocone f g) (H : CategoryTheory.Limits.IsColimit s) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk s.inl s.inr ⋯) - CategoryTheory.Limits.PushoutCocone.isColimitOfFactors 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (h : X ⟶ W) [CategoryTheory.Epi h] (x : W ⟶ Y) (y : W ⟶ Z) (hhx : CategoryTheory.CategoryStruct.comp h x = f) (hhy : CategoryTheory.CategoryStruct.comp h y = g) (s : CategoryTheory.Limits.PushoutCocone f g) (hs : CategoryTheory.Limits.IsColimit s) : have reassoc₁ := ⋯; have reassoc₂ := ⋯; CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk s.inl s.inr ⋯) - CategoryTheory.Limits.PullbackCone.isLimitEquivIsColimitOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.Limits.IsLimit c ≃ CategoryTheory.Limits.IsColimit c.op - CategoryTheory.Limits.PushoutCocone.isColimitEquivIsLimitOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : CategoryTheory.Limits.IsColimit c ≃ CategoryTheory.Limits.IsLimit c.op - CategoryTheory.Limits.PullbackCone.op_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.op.pt = Opposite.op c.pt - CategoryTheory.Limits.PushoutCocone.op_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.op.pt = Opposite.op c.pt - CategoryTheory.Limits.PullbackCone.isLimitEquivIsColimitUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.Limits.IsLimit c ≃ CategoryTheory.Limits.IsColimit c.unop - CategoryTheory.Limits.PushoutCocone.isColimitEquivIsLimitUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : CategoryTheory.Limits.IsColimit c ≃ CategoryTheory.Limits.IsLimit c.unop - CategoryTheory.Limits.PullbackCone.unop_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.unop.pt = Opposite.unop c.pt - CategoryTheory.Limits.PushoutCocone.unop_pt 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.unop.pt = Opposite.unop c.pt - CategoryTheory.Limits.cospanOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : CategoryTheory.Limits.cospan f.op g.op ≅ CategoryTheory.Limits.walkingSpanOpEquiv.inverse.comp (CategoryTheory.Limits.span f g).op - CategoryTheory.Limits.cospanUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : X ⟶ Z) : CategoryTheory.Limits.cospan f.unop g.unop ≅ CategoryTheory.Limits.walkingSpanOpEquiv.inverse.comp (CategoryTheory.Limits.span f g).leftOp - CategoryTheory.Limits.spanOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) : CategoryTheory.Limits.span f.op g.op ≅ CategoryTheory.Limits.walkingCospanOpEquiv.inverse.comp (CategoryTheory.Limits.cospan f g).op - CategoryTheory.Limits.spanUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Z) (g : Y ⟶ Z) : CategoryTheory.Limits.span f.unop g.unop ≅ CategoryTheory.Limits.walkingCospanOpEquiv.inverse.comp (CategoryTheory.Limits.cospan f g).leftOp - CategoryTheory.Limits.opCospan 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) : (CategoryTheory.Limits.cospan f g).op ≅ CategoryTheory.Limits.walkingCospanOpEquiv.functor.comp (CategoryTheory.Limits.span f.op g.op) - CategoryTheory.Limits.opSpan 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) : (CategoryTheory.Limits.span f g).op ≅ CategoryTheory.Limits.walkingSpanOpEquiv.functor.comp (CategoryTheory.Limits.cospan f.op g.op) - CategoryTheory.Limits.PullbackCone.op_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.op.inl = c.fst.op - CategoryTheory.Limits.PullbackCone.op_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.op.inr = c.snd.op - CategoryTheory.Limits.PushoutCocone.op_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.op.fst = c.inl.op - CategoryTheory.Limits.PushoutCocone.op_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.op.snd = c.inr.op - CategoryTheory.Limits.PullbackCone.unop_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.unop.inl = c.fst.unop - CategoryTheory.Limits.PullbackCone.unop_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.unop.inr = c.snd.unop - CategoryTheory.Limits.PushoutCocone.unop_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.unop.fst = c.inl.unop - CategoryTheory.Limits.PushoutCocone.unop_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.unop.snd = c.inr.unop - CategoryTheory.Limits.PushoutCocone.opUnopIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.op.unop ≅ c - CategoryTheory.Limits.PushoutCocone.unopOpIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.unop.op ≅ c - CategoryTheory.CommSq.coneOp 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cone.op ≅ ⋯.cocone - CategoryTheory.CommSq.coneUnop 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p : CategoryTheory.CommSq f g h i) : p.cone.unop ≅ ⋯.cocone - CategoryTheory.Limits.cospanUnop_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospan) : (CategoryTheory.Limits.cospanUnop f g).hom.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.unop X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.unop Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.unop Z)).hom - CategoryTheory.Limits.cospanUnop_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospan) : (CategoryTheory.Limits.cospanUnop f g).inv.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.unop X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.unop Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.unop Z)).inv - CategoryTheory.Limits.spanUnop_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.spanUnop f g).hom.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.unop Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.unop X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.unop Y)).hom - CategoryTheory.Limits.spanUnop_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.spanUnop f g).inv.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.unop Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.unop X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.unop Y)).inv - CategoryTheory.Limits.cospanOp_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospan) : (CategoryTheory.Limits.cospanOp f g).hom.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Z)).hom - CategoryTheory.Limits.cospanOp_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospan) : (CategoryTheory.Limits.cospanOp f g).inv.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Z)).inv - CategoryTheory.Limits.spanOp_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.spanOp f g).hom.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Y)).hom - CategoryTheory.Limits.spanOp_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpan) : (CategoryTheory.Limits.spanOp f g).inv.app X✝ = (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Y)).inv - CategoryTheory.Limits.opCospan_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospanᵒᵖ) : (CategoryTheory.Limits.opCospan f g).hom.app X✝ = (match Opposite.unop X✝ with | none => CategoryTheory.Iso.refl (Opposite.op Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Y)).inv - CategoryTheory.Limits.opCospan_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingCospanᵒᵖ) : (CategoryTheory.Limits.opCospan f g).inv.app X✝ = (match Opposite.unop X✝ with | none => CategoryTheory.Iso.refl (Opposite.op Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Y)).hom - CategoryTheory.Limits.opSpan_hom_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpanᵒᵖ) : (CategoryTheory.Limits.opSpan f g).hom.app X✝ = (match Opposite.unop X✝ with | none => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Z)).inv - CategoryTheory.Limits.opSpan_inv_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Y) (g : X ⟶ Z) (X✝ : CategoryTheory.Limits.WalkingSpanᵒᵖ) : (CategoryTheory.Limits.opSpan f g).inv.app X✝ = (match Opposite.unop X✝ with | none => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Z)).hom - CategoryTheory.Limits.PullbackCone.op_ι_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) (X✝ : CategoryTheory.Limits.WalkingSpan) : c.op.ι.app X✝ = CategoryTheory.CategoryStruct.comp (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op Z) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Y)).hom (c.π.app X✝).op - CategoryTheory.Limits.PushoutCocone.op_π_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) (X✝ : CategoryTheory.Limits.WalkingCospan) : c.op.π.app X✝ = CategoryTheory.CategoryStruct.comp (c.ι.app X✝).op (match X✝ with | none => CategoryTheory.Iso.refl (Opposite.op X) | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl (Opposite.op Y) | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl (Opposite.op Z)).inv - CategoryTheory.Limits.PushoutCocone.unop_π_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) (X✝ : CategoryTheory.Limits.WalkingCospan) : c.unop.π.app X✝ = CategoryTheory.CategoryStruct.comp (c.ι.app X✝).unop (match X✝ with | none => CategoryTheory.Iso.refl X | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl Y | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl Z).inv.unop - CategoryTheory.Limits.PullbackCone.unop_ι_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) (X✝ : CategoryTheory.Limits.WalkingSpan) : c.unop.ι.app X✝ = CategoryTheory.CategoryStruct.comp (match X✝ with | none => CategoryTheory.Iso.refl Z | some CategoryTheory.Limits.WalkingPair.left => CategoryTheory.Iso.refl X | some CategoryTheory.Limits.WalkingPair.right => CategoryTheory.Iso.refl Y).hom.unop (c.π.app X✝).unop - CategoryTheory.Limits.preservesPushout_symmetry 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] : CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span g f) G - CategoryTheory.Limits.hasPushout_of_preservesPushout 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] : CategoryTheory.Limits.HasPushout (G.map f) (G.map g) - CategoryTheory.Limits.PushoutCocone.isColimitMapCoconeEquiv 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {W X Y : C} {f : W ⟶ X} {g : W ⟶ Y} (c : CategoryTheory.Limits.PushoutCocone f g) (G : CategoryTheory.Functor C D) : CategoryTheory.Limits.IsColimit (G.mapCocone c) ≃ CategoryTheory.Limits.IsColimit (c.map G) - CategoryTheory.Limits.PreservesPushout.iso 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : CategoryTheory.Limits.pushout (G.map f) (G.map g) ≅ G.obj (CategoryTheory.Limits.pushout f g) - CategoryTheory.Limits.instIsIsoPushoutComparison 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] : CategoryTheory.IsIso (CategoryTheory.Limits.pushoutComparison G f g) - CategoryTheory.Limits.PreservesPushout.of_iso_comparison 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] [i : CategoryTheory.IsIso (CategoryTheory.Limits.pushoutComparison G f g)] : CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G - CategoryTheory.Limits.PreservesPushout.iso_hom 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : (CategoryTheory.Limits.PreservesPushout.iso G f g).hom = CategoryTheory.Limits.pushoutComparison G f g - CategoryTheory.Limits.isColimitMapCoconePushoutCoconeEquiv 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y Z : C} {h : X ⟶ Z} {k : Y ⟶ Z} {f : W ⟶ X} {g : W ⟶ Y} (comm : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : CategoryTheory.Limits.IsColimit (G.mapCocone (CategoryTheory.Limits.PushoutCocone.mk h k comm)) ≃ CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (G.map h) (G.map k) ⋯) - CategoryTheory.Limits.PushoutCocone.isColimitYonedaEquiv 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : CategoryTheory.Limits.IsColimit c ≃ ((X_1 : C) → CategoryTheory.Limits.IsLimit (c.op.map (CategoryTheory.yoneda.obj X_1))) - CategoryTheory.Limits.PreservesPushout.inl_iso_hom 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (G.map f) (G.map g)) (CategoryTheory.Limits.PreservesPushout.iso G f g).hom = G.map (CategoryTheory.Limits.pushout.inl f g) - CategoryTheory.Limits.PreservesPushout.inr_iso_hom 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (G.map f) (G.map g)) (CategoryTheory.Limits.PreservesPushout.iso G f g).hom = G.map (CategoryTheory.Limits.pushout.inr f g) - CategoryTheory.Limits.isColimitOfIsColimitPushoutCoconeMap 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y Z : C} {h : X ⟶ Z} {k : Y ⟶ Z} {f : W ⟶ X} {g : W ⟶ Y} (comm : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) [CategoryTheory.Limits.ReflectsColimit (CategoryTheory.Limits.span f g) G] (l : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (G.map h) (G.map k) ⋯)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk h k comm) - CategoryTheory.Limits.isColimitPushoutCoconeMapOfIsColimit 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y Z : C} {h : X ⟶ Z} {k : Y ⟶ Z} {f : W ⟶ X} {g : W ⟶ Y} (comm : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] (l : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk h k comm)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (G.map h) (G.map k) ⋯) - CategoryTheory.Limits.PreservesPushout.inl_iso_inv 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inl f g)) (CategoryTheory.Limits.PreservesPushout.iso G f g).inv = CategoryTheory.Limits.pushout.inl (G.map f) (G.map g) - CategoryTheory.Limits.PreservesPushout.inr_iso_inv 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inr f g)) (CategoryTheory.Limits.PreservesPushout.iso G f g).inv = CategoryTheory.Limits.pushout.inr (G.map f) (G.map g) - CategoryTheory.Limits.isColimitOfHasPushoutOfPreservesColimit 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [i : CategoryTheory.Limits.HasPushout f g] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (G.map (CategoryTheory.Limits.pushout.inl f g)) (G.map (CategoryTheory.Limits.pushout.inr f g)) ⋯) - CategoryTheory.Limits.PreservesPushout.inl_iso_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] {Z : D} (h : G.obj (CategoryTheory.Limits.pushout f g) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (G.map f) (G.map g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesPushout.iso G f g).hom h) = CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inl f g)) h - CategoryTheory.Limits.PreservesPushout.inr_iso_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] {Z : D} (h : G.obj (CategoryTheory.Limits.pushout f g) ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (G.map f) (G.map g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesPushout.iso G f g).hom h) = CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inr f g)) h - CategoryTheory.Limits.PreservesPushout.inl_iso_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] {Z : D} (h : CategoryTheory.Limits.pushout (G.map f) (G.map g) ⟶ Z) : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inl f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesPushout.iso G f g).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (G.map f) (G.map g)) h - CategoryTheory.Limits.PreservesPushout.inr_iso_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Preserves.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (G : CategoryTheory.Functor C D) {W X Y : C} (f : W ⟶ X) (g : W ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) G] [CategoryTheory.Limits.HasPushout f g] [CategoryTheory.Limits.HasPushout (G.map f) (G.map g)] {Z : D} (h : CategoryTheory.Limits.pushout (G.map f) (G.map g) ⟶ Z) : CategoryTheory.CategoryStruct.comp (G.map (CategoryTheory.Limits.pushout.inr f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PreservesPushout.iso G f g).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (G.map f) (G.map g)) h - CategoryTheory.preserves_epi_of_preservesColimit 📋 Mathlib.CategoryTheory.Limits.Constructions.EpiMono
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y : C} (f : X ⟶ Y) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f f) F] [CategoryTheory.Epi f] : CategoryTheory.Epi (F.map f) - CategoryTheory.reflects_epi_of_reflectsColimit 📋 Mathlib.CategoryTheory.Limits.Constructions.EpiMono
{C : Type u₁} {D : Type u₂} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {X Y : C} (f : X ⟶ Y) [CategoryTheory.Limits.ReflectsColimit (CategoryTheory.Limits.span f f) F] [CategoryTheory.Epi (F.map f)] : CategoryTheory.Epi f - coprodIsoPushout 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] : X ⨿ Y ≅ CategoryTheory.Limits.pushout (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) - isCoproductOfIsInitialIsPushout 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (h : W ⟶ X) (k : W ⟶ Y) (H₁ : CategoryTheory.Limits.IsInitial W) (H₂ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk f g ⋯)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk f g) - isPushoutOfIsInitialIsCoproduct 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (h : W ⟶ X) (k : W ⟶ Y) (H₁ : CategoryTheory.Limits.IsInitial W) (H₂ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk f g)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk f g ⋯) - inl_coprodIsoPushout_inv 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) (coprodIsoPushout X Y).inv = CategoryTheory.Limits.coprod.inl - inr_coprodIsoPushout_inv 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) (coprodIsoPushout X Y).inv = CategoryTheory.Limits.coprod.inr - inl_coprodIsoPushout_hom 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] : CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inl (coprodIsoPushout X Y).hom = CategoryTheory.Limits.pushout.inl (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) - inr_coprodIsoPushout_hom 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] : CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inr (coprodIsoPushout X Y).hom = CategoryTheory.Limits.pushout.inr (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) - inl_coprodIsoPushout_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] {Z : C} (h : X ⨿ Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) (CategoryTheory.CategoryStruct.comp (coprodIsoPushout X Y).inv h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inl h - inr_coprodIsoPushout_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] {Z : C} (h : X ⨿ Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) (CategoryTheory.CategoryStruct.comp (coprodIsoPushout X Y).inv h) = CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inr h - inl_coprodIsoPushout_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] {Z : C} (h : CategoryTheory.Limits.pushout (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) ⟶ Z) : CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inl (CategoryTheory.CategoryStruct.comp (coprodIsoPushout X Y).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) h - inr_coprodIsoPushout_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] [CategoryTheory.Limits.HasPushouts C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] {Z : C} (h : CategoryTheory.Limits.pushout (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) ⟶ Z) : CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.coprod.inr (CategoryTheory.CategoryStruct.comp (coprodIsoPushout X Y).hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y)) h - isBinaryCoproductOfIsInitialIsPushout 📋 Mathlib.CategoryTheory.Limits.Constructions.BinaryProducts
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor (CategoryTheory.Discrete CategoryTheory.Limits.WalkingPair) C) (c : CategoryTheory.Limits.Cocone F) {X : C} (hX : CategoryTheory.Limits.IsInitial X) (f : X ⟶ F.obj { as := CategoryTheory.Limits.WalkingPair.left }) (g : X ⟶ F.obj { as := CategoryTheory.Limits.WalkingPair.right }) (hc : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk (c.ι.app { as := CategoryTheory.Limits.WalkingPair.left }) (c.ι.app { as := CategoryTheory.Limits.WalkingPair.right }) ⋯)) : CategoryTheory.Limits.IsColimit c - CategoryTheory.IsPushout.isColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (h : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.Limits.IsColimit h.cocone - CategoryTheory.IsPushout.of_isColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y : C} {f : Z ⟶ X} {g : Z ⟶ Y} {c : CategoryTheory.Limits.PushoutCocone f g} (h : CategoryTheory.Limits.IsColimit c) : CategoryTheory.IsPushout f g c.inl c.inr - CategoryTheory.IsPushout.of_isColimit' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (w : CategoryTheory.CommSq f g inl inr) (h : CategoryTheory.Limits.IsColimit w.cocone) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.isColimit' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (self : CategoryTheory.IsPushout f g inl inr) : Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk inl inr ⋯)) - CategoryTheory.IsPushout.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (toCommSq : CategoryTheory.CommSq f g inl inr) (isColimit' : Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.PushoutCocone.mk inl inr ⋯))) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.cocone_inl 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (h : CategoryTheory.IsPushout f g inl inr) : h.cocone.inl = inl - CategoryTheory.IsPushout.cocone_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (h : CategoryTheory.IsPushout f g inl inr) : h.cocone.inr = inr - CategoryTheory.Limits.PushoutCocone.pasteHoriz 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₁ ⟶ X₂} {f₂ : X₂ ⟶ X₃} {i₁ : X₁ ⟶ Y₁} (t₁ : CategoryTheory.Limits.PushoutCocone i₁ f₁) {i₂ : X₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone i₂ f₂) (hi₂ : i₂ = t₁.inr) : CategoryTheory.Limits.PushoutCocone i₁ (CategoryTheory.CategoryStruct.comp f₁ f₂) - CategoryTheory.Limits.PushoutCocone.pasteVert 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {Y₃ Y₂ Y₁ X₃ : C} {g₂ : Y₃ ⟶ Y₂} {g₁ : Y₂ ⟶ Y₁} {i₃ : Y₃ ⟶ X₃} (t₁ : CategoryTheory.Limits.PushoutCocone g₂ i₃) {i₂ : Y₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone g₁ i₂) (hi₂ : i₂ = t₁.inl) : CategoryTheory.Limits.PushoutCocone (CategoryTheory.CategoryStruct.comp g₂ g₁) i₃ - CategoryTheory.Limits.botSquareIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {Y₃ Y₂ Y₁ X₃ : C} {g₂ : Y₃ ⟶ Y₂} {g₁ : Y₂ ⟶ Y₁} {i₃ : Y₃ ⟶ X₃} {t₁ : CategoryTheory.Limits.PushoutCocone g₂ i₃} {i₂ : Y₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone g₁ i₂) (hi₂ : i₂ = t₁.inl) (H₁ : CategoryTheory.Limits.IsColimit t₁) (H₂ : CategoryTheory.Limits.IsColimit (t₁.pasteVert t₂ hi₂)) : CategoryTheory.Limits.IsColimit t₂ - CategoryTheory.Limits.pasteHorizIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₁ ⟶ X₂} {f₂ : X₂ ⟶ X₃} {i₁ : X₁ ⟶ Y₁} {t₁ : CategoryTheory.Limits.PushoutCocone i₁ f₁} {i₂ : X₂ ⟶ t₁.pt} {t₂ : CategoryTheory.Limits.PushoutCocone i₂ f₂} (hi₂ : i₂ = t₁.inr) (H : CategoryTheory.Limits.IsColimit t₁) (H' : CategoryTheory.Limits.IsColimit t₂) : CategoryTheory.Limits.IsColimit (t₁.pasteHoriz t₂ hi₂) - CategoryTheory.Limits.pasteVertIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {Y₃ Y₂ Y₁ X₃ : C} {g₂ : Y₃ ⟶ Y₂} {g₁ : Y₂ ⟶ Y₁} {i₃ : Y₃ ⟶ X₃} {t₁ : CategoryTheory.Limits.PushoutCocone g₂ i₃} {i₂ : Y₂ ⟶ t₁.pt} {t₂ : CategoryTheory.Limits.PushoutCocone g₁ i₂} (hi₂ : i₂ = t₁.inl) (H₁ : CategoryTheory.Limits.IsColimit t₁) (H₂ : CategoryTheory.Limits.IsColimit t₂) : CategoryTheory.Limits.IsColimit (t₁.pasteVert t₂ hi₂) - CategoryTheory.Limits.rightSquareIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₁ ⟶ X₂} {f₂ : X₂ ⟶ X₃} {i₁ : X₁ ⟶ Y₁} {t₁ : CategoryTheory.Limits.PushoutCocone i₁ f₁} {i₂ : X₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone i₂ f₂) (hi₂ : i₂ = t₁.inr) (H : CategoryTheory.Limits.IsColimit t₁) (H' : CategoryTheory.Limits.IsColimit (t₁.pasteHoriz t₂ hi₂)) : CategoryTheory.Limits.IsColimit t₂ - CategoryTheory.Limits.pasteHorizIsPushoutEquiv 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₁ ⟶ X₂} {f₂ : X₂ ⟶ X₃} {i₁ : X₁ ⟶ Y₁} {t₁ : CategoryTheory.Limits.PushoutCocone i₁ f₁} {i₂ : X₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone i₂ f₂) (hi₂ : i₂ = t₁.inr) (H : CategoryTheory.Limits.IsColimit t₁) : CategoryTheory.Limits.IsColimit (t₁.pasteHoriz t₂ hi₂) ≃ CategoryTheory.Limits.IsColimit t₂ - CategoryTheory.Limits.pasteVertIsPushoutEquiv 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {Y₃ Y₂ Y₁ X₃ : C} {g₂ : Y₃ ⟶ Y₂} {g₁ : Y₂ ⟶ Y₁} {i₃ : Y₃ ⟶ X₃} {t₁ : CategoryTheory.Limits.PushoutCocone g₂ i₃} {i₂ : Y₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone g₁ i₂) (hi₂ : i₂ = t₁.inl) (H : CategoryTheory.Limits.IsColimit t₁) : CategoryTheory.Limits.IsColimit (t₁.pasteVert t₂ hi₂) ≃ CategoryTheory.Limits.IsColimit t₂ - CategoryTheory.Limits.PushoutCocone.pasteVertFlip 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {Y₃ Y₂ Y₁ X₃ : C} {g₂ : Y₃ ⟶ Y₂} {g₁ : Y₂ ⟶ Y₁} {i₃ : Y₃ ⟶ X₃} (t₁ : CategoryTheory.Limits.PushoutCocone g₂ i₃) {i₂ : Y₂ ⟶ t₁.pt} (t₂ : CategoryTheory.Limits.PushoutCocone g₁ i₂) (hi₂ : i₂ = t₁.inl) : (t₁.pasteVert t₂ hi₂).flip ≅ t₁.flip.pasteHoriz t₂.flip hi₂ - CategoryTheory.Functor.map_isPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) F] (s : CategoryTheory.IsPushout f g h i) : CategoryTheory.IsPushout (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.IsPushout.map 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) F] (s : CategoryTheory.IsPushout f g h i) : CategoryTheory.IsPushout (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.IsPushout.preservesColimit_span_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : CategoryTheory.Functor C D} {P X Y Z : C} {inl : X ⟶ P} {inr : Y ⟶ P} {f : Z ⟶ X} {g : Z ⟶ Y} (h : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) F ↔ CategoryTheory.IsPushout (F.map f) (F.map g) (F.map inl) (F.map inr) - CategoryTheory.IsPushout.of_map_of_faithful 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Limits.ReflectsColimit (CategoryTheory.Limits.span f g) F] [F.Faithful] (H : CategoryTheory.IsPushout (F.map f) (F.map g) (F.map h) (F.map i)) : CategoryTheory.IsPushout f g h i
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