Loogle!
Result
Found 213 declarations mentioning CategoryTheory.IsPushout. Of these, only the first 200 are shown.
- CategoryTheory.IsPushout 📋 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) : Prop - CategoryTheory.IsPushout.cocone 📋 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.PushoutCocone f g - CategoryTheory.IsPushout.hasPushout 📋 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.HasPushout f g - CategoryTheory.IsPushout.flip 📋 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.IsPushout g f inr inl - CategoryTheory.IsPushout.toCommSq 📋 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) : CategoryTheory.CommSq f g inl inr - CategoryTheory.IsPushout.flip_iff 📋 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} : CategoryTheory.IsPushout f g inl inr ↔ CategoryTheory.IsPushout g f inr inl - CategoryTheory.IsPushout.of_hasPushout 📋 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) [CategoryTheory.Limits.HasPushout f g] : CategoryTheory.IsPushout f g (CategoryTheory.Limits.pushout.inl f g) (CategoryTheory.Limits.pushout.inr f g) - CategoryTheory.IsPushout.isoPushout 📋 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.HasPushout f g] : P ≅ CategoryTheory.Limits.pushout f g - 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.isoIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') : P ≅ P' - 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.IsPullback.op 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.IsPushout g.op f.op snd.op fst.op - CategoryTheory.IsPushout.desc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : P ⟶ W - CategoryTheory.IsPushout.op 📋 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.IsPullback inr.op inl.op g.op f.op - CategoryTheory.IsPullback.op_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} : CategoryTheory.IsPullback inr.op inl.op g.op f.op ↔ CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.op_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} : CategoryTheory.IsPushout g.op f.op snd.op fst.op ↔ CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.inl_isoPushout_inv 📋 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.HasPushout f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl f g) h.isoPushout.inv = inl - CategoryTheory.IsPushout.inr_isoPushout_inv 📋 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.HasPushout f g] : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr f g) h.isoPushout.inv = inr - CategoryTheory.IsPushout.inl_isoIsPushout_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') : CategoryTheory.CategoryStruct.comp inl (CategoryTheory.IsPushout.isoIsPushout X Y h h').hom = inl' - CategoryTheory.IsPushout.inl_isoIsPushout_inv 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') : CategoryTheory.CategoryStruct.comp inl' (CategoryTheory.IsPushout.isoIsPushout X Y h h').inv = inl - CategoryTheory.IsPushout.inr_isoIsPushout_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') : CategoryTheory.CategoryStruct.comp inr (CategoryTheory.IsPushout.isoIsPushout X Y h h').hom = inr' - CategoryTheory.IsPushout.inr_isoIsPushout_inv 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') : CategoryTheory.CategoryStruct.comp inr' (CategoryTheory.IsPushout.isoIsPushout X Y h h').inv = inr - CategoryTheory.IsPullback.unop 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : Cᵒᵖ} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.IsPushout g.unop f.unop snd.unop fst.unop - CategoryTheory.IsPushout.unop 📋 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.IsPullback inr.unop inl.unop g.unop f.unop - CategoryTheory.IsPullback.unop_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z P : Cᵒᵖ} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} : CategoryTheory.IsPullback inr.unop inl.unop g.unop f.unop ↔ CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.unop_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : Cᵒᵖ} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} : CategoryTheory.IsPushout g.unop f.unop snd.unop fst.unop ↔ CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPushout.inl_isoPushout_hom 📋 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.HasPushout f g] : CategoryTheory.CategoryStruct.comp inl h.isoPushout.hom = CategoryTheory.Limits.pushout.inl f g - CategoryTheory.IsPushout.inr_isoPushout_hom 📋 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.HasPushout f g] : CategoryTheory.CategoryStruct.comp inr h.isoPushout.hom = CategoryTheory.Limits.pushout.inr f g - CategoryTheory.IsPushout.inl_desc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : CategoryTheory.CategoryStruct.comp inl (hP.desc h k w) = h - CategoryTheory.IsPushout.inr_desc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : CategoryTheory.CategoryStruct.comp inr (hP.desc h k w) = k - CategoryTheory.IsPushout.hom_ext 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} {k l : P ⟶ W} (h₀ : CategoryTheory.CategoryStruct.comp inl k = CategoryTheory.CategoryStruct.comp inl l) (h₁ : CategoryTheory.CategoryStruct.comp inr k = CategoryTheory.CategoryStruct.comp inr l) : k = l - CategoryTheory.IsPushout.inl_isoIsPushout_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') {Z✝ : C} (h✝ : P' ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inl (CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPushout.isoIsPushout X Y h h').hom h✝) = CategoryTheory.CategoryStruct.comp inl' h✝ - CategoryTheory.IsPushout.inl_isoIsPushout_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') {Z✝ : C} (h✝ : P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inl' (CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPushout.isoIsPushout X Y h h').inv h✝) = CategoryTheory.CategoryStruct.comp inl h✝ - CategoryTheory.IsPushout.inr_isoIsPushout_hom_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') {Z✝ : C} (h✝ : P' ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inr (CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPushout.isoIsPushout X Y h h').hom h✝) = CategoryTheory.CategoryStruct.comp inr' h✝ - CategoryTheory.IsPushout.inr_isoIsPushout_inv_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z : C} (X Y : C) {P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} {P' : C} {inl' : X ⟶ P'} {inr' : Y ⟶ P'} (h : CategoryTheory.IsPushout f g inl inr) (h' : CategoryTheory.IsPushout f g inl' inr') {Z✝ : C} (h✝ : P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inr' (CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPushout.isoIsPushout X Y h h').inv h✝) = CategoryTheory.CategoryStruct.comp inr h✝ - CategoryTheory.IsPushout.inl_isoPushout_inv_assoc 📋 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.HasPushout f g] {Z✝ : C} (h✝ : P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl f g) (CategoryTheory.CategoryStruct.comp h.isoPushout.inv h✝) = CategoryTheory.CategoryStruct.comp inl h✝ - CategoryTheory.IsPushout.inr_isoPushout_inv_assoc 📋 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.HasPushout f g] {Z✝ : C} (h✝ : P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr f g) (CategoryTheory.CategoryStruct.comp h.isoPushout.inv h✝) = CategoryTheory.CategoryStruct.comp inr h✝ - CategoryTheory.IsPushout.exists_desc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) : ∃ d, CategoryTheory.CategoryStruct.comp inl d = h ∧ CategoryTheory.CategoryStruct.comp inr d = k - CategoryTheory.IsPushout.inl_desc_assoc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Z✝ : C} (h✝ : W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inl (CategoryTheory.CategoryStruct.comp (hP.desc h k w) h✝) = CategoryTheory.CategoryStruct.comp h h✝ - CategoryTheory.IsPushout.inr_desc_assoc 📋 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} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Z✝ : C} (h✝ : W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inr (CategoryTheory.CategoryStruct.comp (hP.desc h k w) h✝) = CategoryTheory.CategoryStruct.comp k h✝ - CategoryTheory.IsPushout.inl_isoPushout_hom_assoc 📋 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.HasPushout f g] {Z✝ : C} (h✝ : CategoryTheory.Limits.pushout f g ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inl (CategoryTheory.CategoryStruct.comp h.isoPushout.hom h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inl f g) h✝ - CategoryTheory.IsPushout.inr_isoPushout_hom_assoc 📋 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.HasPushout f g] {Z✝ : C} (h✝ : CategoryTheory.Limits.pushout f g ⟶ Z✝) : CategoryTheory.CategoryStruct.comp inr (CategoryTheory.CategoryStruct.comp h.isoPushout.hom h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pushout.inr f g) h✝ - CategoryTheory.IsPushout.of_isColimit_cocone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : CategoryTheory.Functor CategoryTheory.Limits.WalkingSpan C} {c : CategoryTheory.Limits.Cocone D} (hc : CategoryTheory.Limits.IsColimit c) : CategoryTheory.IsPushout (D.map CategoryTheory.Limits.WalkingSpan.Hom.fst) (D.map CategoryTheory.Limits.WalkingSpan.Hom.snd) (c.ι.app CategoryTheory.Limits.WalkingSpan.left) (c.ι.app CategoryTheory.Limits.WalkingSpan.right) - CategoryTheory.IsPushout.id_horiz 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X : C} (f : X ⟶ Z) : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.id X) f f (CategoryTheory.CategoryStruct.id Z) - CategoryTheory.IsPushout.id_vert 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X : C} (f : X ⟶ Z) : CategoryTheory.IsPushout f (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Z) f - CategoryTheory.IsPushout.of_id_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X : C} {f : Z ⟶ X} : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.id Z) f f (CategoryTheory.CategoryStruct.id X) - CategoryTheory.IsPushout.of_id_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X : C} {f : Z ⟶ X} : CategoryTheory.IsPushout f (CategoryTheory.CategoryStruct.id Z) (CategoryTheory.CategoryStruct.id X) f - CategoryTheory.IsPushout.of_hasBinaryCoproduct' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X Y : C) [CategoryTheory.Limits.HasBinaryCoproduct X Y] [CategoryTheory.Limits.HasInitial C] : CategoryTheory.IsPushout (CategoryTheory.Limits.initial.to X) (CategoryTheory.Limits.initial.to Y) CategoryTheory.Limits.coprod.inl CategoryTheory.Limits.coprod.inr - CategoryTheory.IsPushout.isIso_inl_iso_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y : C} {inl inr : X ⟶ P} {f : Y ⟶ X} (h : CategoryTheory.IsPushout f f inl inr) (inst : CategoryTheory.Epi f := by infer_instance) : CategoryTheory.IsIso inl - CategoryTheory.IsPushout.isIso_inr_iso_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y : C} {inl inr : X ⟶ P} {f : Y ⟶ X} (h : CategoryTheory.IsPushout f f inl inr) (inst : CategoryTheory.Epi f := by infer_instance) : CategoryTheory.IsIso inr - CategoryTheory.IsPushout.epi_inl_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.Epi g := by infer_instance) : CategoryTheory.Epi inl - CategoryTheory.IsPushout.epi_inr_of_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.Epi f := by infer_instance) : CategoryTheory.Epi inr - CategoryTheory.IsPushout.isIso_inl_of_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.IsIso g := by infer_instance) : CategoryTheory.IsIso inl - CategoryTheory.IsPushout.isIso_inr_of_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.IsIso f := by infer_instance) : CategoryTheory.IsIso inr - CategoryTheory.IsPushout.of_is_coproduct' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y P : C} {inl : X ⟶ P} {inr : Y ⟶ P} (h : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk inl inr)) (t : CategoryTheory.Limits.IsInitial Z) : CategoryTheory.IsPushout (t.to X) (t.to Y) inl inr - CategoryTheory.IsPushout.of_coprod_inl_with_id 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {A B : C} (f : A ⟶ B) (X : C) [CategoryTheory.Limits.HasBinaryCoproduct A X] [CategoryTheory.Limits.HasBinaryCoproduct B X] : CategoryTheory.IsPushout CategoryTheory.Limits.coprod.inl f (CategoryTheory.Limits.coprod.map f (CategoryTheory.CategoryStruct.id X)) CategoryTheory.Limits.coprod.inl - CategoryTheory.IsPushout.of_horiz_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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} [CategoryTheory.IsIso f] [CategoryTheory.IsIso inr] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_horiz_isIso_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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} [CategoryTheory.Epi f] [CategoryTheory.IsIso inr] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_vert_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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} [CategoryTheory.IsIso g] [CategoryTheory.IsIso inl] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_vert_isIso_epi 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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} [CategoryTheory.Epi g] [CategoryTheory.IsIso inl] (sq : CategoryTheory.CommSq f g inl inr) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.isPushout_iff_isColimit_binaryCofan_of_isThin 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [Quiver.IsThin C] {P X Y Z : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} : CategoryTheory.IsPushout f g inl inr ↔ Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk inl inr)) - CategoryTheory.IsPushout.isLimitFork 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f f' : X ⟶ Y} {g : Y ⟶ Z} (H : CategoryTheory.IsPushout f f' g g) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofork.ofπ g ⋯) - CategoryTheory.IsPushout.paste_horiz 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₁₃ X₂₁ X₂₂ X₂₃ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₁₂ : X₁₂ ⟶ X₁₃} {h₂₁ : X₂₁ ⟶ X₂₂} {h₂₂ : X₂₂ ⟶ X₂₃} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₁₃ : X₁₃ ⟶ X₂₃} (s : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) (t : CategoryTheory.IsPushout h₁₂ v₁₂ v₁₃ h₂₂) : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂) - CategoryTheory.IsPushout.paste_vert 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₂₁ X₂₂ X₃₁ X₃₂ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₂₁ : X₂₁ ⟶ X₂₂} {h₃₁ : X₃₁ ⟶ X₃₂} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₂₁ : X₂₁ ⟶ X₃₁} {v₂₂ : X₂₂ ⟶ X₃₂} (s : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) (t : CategoryTheory.IsPushout h₂₁ v₂₁ v₂₂ h₃₁) : CategoryTheory.IsPushout h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁ - 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_left' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₁₃ X₂₁ X₂₂ X₂₃ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₁₂ : X₁₂ ⟶ X₁₃} {h₂₁ : X₂₁ ⟶ X₂₂} {h₂₃ : X₂₁ ⟶ X₂₃} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₁₃ : X₁₃ ⟶ X₂₃} (s : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ h₂₃) (t : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) : CategoryTheory.IsPushout h₁₂ v₁₂ v₁₃ (t.desc (CategoryTheory.CategoryStruct.comp h₁₂ v₁₃) h₂₃ ⋯) - CategoryTheory.IsPushout.of_top' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₂₁ X₂₂ X₃₁ X₃₂ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₂₁ : X₂₁ ⟶ X₂₂} {h₃₁ : X₃₁ ⟶ X₃₂} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₁₃ : X₁₂ ⟶ X₃₂} {v₂₁ : X₂₁ ⟶ X₃₁} (s : CategoryTheory.IsPushout h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) v₁₃ h₃₁) (t : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) : CategoryTheory.IsPushout h₂₁ v₂₁ (t.desc v₁₃ (CategoryTheory.CategoryStruct.comp v₂₁ h₃₁) ⋯) h₃₁ - 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 - CategoryTheory.IsPushout.of_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₁₃ X₂₁ X₂₂ X₂₃ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₁₂ : X₁₂ ⟶ X₁₃} {h₂₁ : X₂₁ ⟶ X₂₂} {h₂₂ : X₂₂ ⟶ X₂₃} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₁₃ : X₁₃ ⟶ X₂₃} (s : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂)) (p : CategoryTheory.CategoryStruct.comp h₁₂ v₁₃ = CategoryTheory.CategoryStruct.comp v₁₂ h₂₂) (t : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) : CategoryTheory.IsPushout h₁₂ v₁₂ v₁₃ h₂₂ - CategoryTheory.IsPushout.of_top 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₂₁ X₂₂ X₃₁ X₃₂ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₂₁ : X₂₁ ⟶ X₂₂} {h₃₁ : X₃₁ ⟶ X₃₂} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₂₁ : X₂₁ ⟶ X₃₁} {v₂₂ : X₂₂ ⟶ X₃₂} (s : CategoryTheory.IsPushout h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁) (p : CategoryTheory.CategoryStruct.comp h₂₁ v₂₂ = CategoryTheory.CategoryStruct.comp v₂₁ h₃₁) (t : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) : CategoryTheory.IsPushout h₂₁ v₂₁ v₂₂ h₃₁ - CategoryTheory.IsPushout.paste_horiz_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₁₃ X₂₁ X₂₂ X₂₃ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₁₂ : X₁₂ ⟶ X₁₃} {h₂₁ : X₂₁ ⟶ X₂₂} {h₂₂ : X₂₂ ⟶ X₂₃} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₁₃ : X₁₃ ⟶ X₂₃} (s : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) (e : CategoryTheory.CategoryStruct.comp h₁₂ v₁₃ = CategoryTheory.CategoryStruct.comp v₁₂ h₂₂) : CategoryTheory.IsPushout (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂) ↔ CategoryTheory.IsPushout h₁₂ v₁₂ v₁₃ h₂₂ - CategoryTheory.IsPushout.paste_vert_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X₁₁ X₁₂ X₂₁ X₂₂ X₃₁ X₃₂ : C} {h₁₁ : X₁₁ ⟶ X₁₂} {h₂₁ : X₂₁ ⟶ X₂₂} {h₃₁ : X₃₁ ⟶ X₃₂} {v₁₁ : X₁₁ ⟶ X₂₁} {v₁₂ : X₁₂ ⟶ X₂₂} {v₂₁ : X₂₁ ⟶ X₃₁} {v₂₂ : X₂₂ ⟶ X₃₂} (s : CategoryTheory.IsPushout h₁₁ v₁₁ v₁₂ h₂₁) (e : CategoryTheory.CategoryStruct.comp h₂₁ v₂₂ = CategoryTheory.CategoryStruct.comp v₂₁ h₃₁) : CategoryTheory.IsPushout h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁ ↔ CategoryTheory.IsPushout h₂₁ v₂₁ v₂₂ h₃₁ - CategoryTheory.IsPushout.of_isColimit_binaryCofan_of_isInitial 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} {c : CategoryTheory.Limits.BinaryCofan X Y} (hc : CategoryTheory.Limits.IsColimit c) {I : C} (hI : CategoryTheory.Limits.IsInitial I) : CategoryTheory.IsPushout (hI.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) (hI.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) c.inr c.inl - CategoryTheory.IsPushout.of_is_coproduct 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Z X Y : C} {c : CategoryTheory.Limits.BinaryCofan X Y} (h : CategoryTheory.Limits.IsColimit c) (t : CategoryTheory.Limits.IsInitial Z) : CategoryTheory.IsPushout (t.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) (t.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) c.inl c.inr - CategoryTheory.Limits.preservesColimitsOfShape_walkingCospan_of_forall_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} (H : ∀ ⦃X Y Z : C⦄ (f : Z ⟶ X) (g : Z ⟶ Y) [CategoryTheory.Limits.HasPushout f g], ∃ P inl inr, CategoryTheory.IsPushout f g inl inr ∧ CategoryTheory.IsPushout (F.map f) (F.map g) (F.map inl) (F.map inr)) : CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingSpan F - CategoryTheory.IsPushout.of_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.ReflectsColimit (CategoryTheory.Limits.span f g) F] (e : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i) (H : CategoryTheory.IsPushout (F.map f) (F.map g) (F.map h) (F.map i)) : CategoryTheory.IsPushout f g h i - CategoryTheory.IsPushout.map_iff 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] (F : CategoryTheory.Functor C D) [CategoryTheory.Limits.PreservesColimit (CategoryTheory.Limits.span f g) F] [CategoryTheory.Limits.ReflectsColimit (CategoryTheory.Limits.span f g) F] (e : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i) : CategoryTheory.IsPushout (F.map f) (F.map g) (F.map h) (F.map i) ↔ CategoryTheory.IsPushout f g h i - CategoryTheory.IsPushout.of_iso_pushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.CommSq f g inl inr) [CategoryTheory.Limits.HasPushout f g] (i : P ≅ CategoryTheory.Limits.pushout f g) (w₁ : CategoryTheory.CategoryStruct.comp inl i.hom = CategoryTheory.Limits.pushout.inl f g) (w₂ : CategoryTheory.CategoryStruct.comp inr i.hom = CategoryTheory.Limits.pushout.inr f g) : CategoryTheory.IsPushout f g inl inr - CategoryTheory.IsPushout.of_forall_isPushout_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} (h : ∀ (X : C), CategoryTheory.IsPushout (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X)) : CategoryTheory.IsPushout f₁ f₂ f₃ f₄ - CategoryTheory.IsPushout.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.HasPushouts D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} (h : CategoryTheory.IsPushout f₁ f₂ f₃ f₄) (X : C) : CategoryTheory.IsPushout (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X) - CategoryTheory.IsPushout.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.HasPushouts D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} : CategoryTheory.IsPushout f₁ f₂ f₃ f₄ ↔ ∀ (X : C), CategoryTheory.IsPushout (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X) - CategoryTheory.IsPushout.of_iso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) {Z' X' Y' P' : C} {f' : Z' ⟶ X'} {g' : Z' ⟶ Y'} {inl' : X' ⟶ P'} {inr' : Y' ⟶ P'} (e₁ : Z ≅ Z') (e₂ : X ≅ X') (e₃ : Y ≅ Y') (e₄ : P ≅ P') (commf : CategoryTheory.CategoryStruct.comp f e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom f') (commg : CategoryTheory.CategoryStruct.comp g e₃.hom = CategoryTheory.CategoryStruct.comp e₁.hom g') (comminl : CategoryTheory.CategoryStruct.comp inl e₄.hom = CategoryTheory.CategoryStruct.comp e₂.hom inl') (comminr : CategoryTheory.CategoryStruct.comp inr e₄.hom = CategoryTheory.CategoryStruct.comp e₃.hom inr') : CategoryTheory.IsPushout f' g' inl' inr' - CategoryTheory.IsPushout.of_iso' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) {Z' X' Y' P' : C} {f' : Z' ⟶ X'} {g' : Z' ⟶ Y'} {inl' : X' ⟶ P'} {inr' : Y' ⟶ P'} (e₁ : Z' ≅ Z) (e₂ : X' ≅ X) (e₃ : Y' ≅ Y) (e₄ : P' ≅ P) (commf : CategoryTheory.CategoryStruct.comp e₁.hom f = CategoryTheory.CategoryStruct.comp f' e₂.hom) (commg : CategoryTheory.CategoryStruct.comp e₁.hom g = CategoryTheory.CategoryStruct.comp g' e₃.hom) (comminl : CategoryTheory.CategoryStruct.comp e₂.hom inl = CategoryTheory.CategoryStruct.comp inl' e₄.hom) (comminr : CategoryTheory.CategoryStruct.comp e₃.hom inr = CategoryTheory.CategoryStruct.comp inr' e₄.hom) : CategoryTheory.IsPushout f' g' inl' inr' - CategoryTheory.IsPushout.mk' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.CategoryStruct.comp f inl = CategoryTheory.CategoryStruct.comp g inr) (hom_ext : ∀ ⦃T : C⦄ ⦃φ φ' : P ⟶ T⦄, CategoryTheory.CategoryStruct.comp inl φ = CategoryTheory.CategoryStruct.comp inl φ' → CategoryTheory.CategoryStruct.comp inr φ = CategoryTheory.CategoryStruct.comp inr φ' → φ = φ') (exists_desc : ∀ ⦃T : C⦄ (a : X ⟶ T) (b : Y ⟶ T), CategoryTheory.CategoryStruct.comp f a = CategoryTheory.CategoryStruct.comp g b → ∃ l, CategoryTheory.CategoryStruct.comp inl l = a ∧ CategoryTheory.CategoryStruct.comp inr l = b) : CategoryTheory.IsPushout f g inl inr - CommRingCat.isPushout_of_isPushout 📋 Mathlib.Algebra.Category.Ring.Constructions
(R S A B : Type u) [CommRing R] [CommRing S] [CommRing A] [CommRing B] [Algebra R S] [Algebra S B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] : CategoryTheory.IsPushout (CommRingCat.ofHom (algebraMap R S)) (CommRingCat.ofHom (algebraMap R A)) (CommRingCat.ofHom (algebraMap S B)) (CommRingCat.ofHom (algebraMap A B)) - CommRingCat.isPushout_iff_isPushout 📋 Mathlib.Algebra.Category.Ring.Constructions
{R S : Type u} [CommRing R] [CommRing S] [Algebra R S] {R' S' : Type u} [CommRing R'] [CommRing S'] [Algebra R R'] [Algebra S S'] [Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S'] : CategoryTheory.IsPushout (CommRingCat.ofHom (algebraMap R R')) (CommRingCat.ofHom (algebraMap R S)) (CommRingCat.ofHom (algebraMap R' S')) (CommRingCat.ofHom (algebraMap S S')) ↔ Algebra.IsPushout R R' S S' - CommRingCat.isPushout_tensorProduct 📋 Mathlib.Algebra.Category.Ring.Constructions
(R A B : Type u) [CommRing R] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] : CategoryTheory.IsPushout (CommRingCat.ofHom (algebraMap R A)) (CommRingCat.ofHom (algebraMap R B)) (CommRingCat.ofHom Algebra.TensorProduct.includeLeftRingHom) (CommRingCat.ofHom Algebra.TensorProduct.includeRight.toRingHom) - CommRingCat.closure_range_union_range_eq_top_of_isPushout 📋 Mathlib.Algebra.Category.Ring.Constructions
{R A B X : CommRingCat} {f : R ⟶ A} {g : R ⟶ B} {a : A ⟶ X} {b : B ⟶ X} (H : CategoryTheory.IsPushout f g a b) : Subring.closure (Set.range ⇑(CategoryTheory.ConcreteCategory.hom a) ∪ Set.range ⇑(CategoryTheory.ConcreteCategory.hom b)) = ⊤ - CommRingCat.isPushout_of_isLocalization 📋 Mathlib.Algebra.Category.Ring.Constructions
{R S Rₘ Sₘ : Type u} [CommRing R] [CommRing Rₘ] [Algebra R Rₘ] [CommRing S] [CommRing Sₘ] [Algebra S Sₘ] (f : R →+* S) (fₘ : Rₘ →+* Sₘ) (H : fₘ.comp (algebraMap R Rₘ) = (algebraMap S Sₘ).comp f) (M : Submonoid R) [IsLocalization M Rₘ] [IsLocalization (Submonoid.map f M) Sₘ] : CategoryTheory.IsPushout (CommRingCat.ofHom f) (CommRingCat.ofHom (algebraMap R Rₘ)) (CommRingCat.ofHom (algebraMap S Sₘ)) (CommRingCat.ofHom fₘ) - CategoryTheory.Limits.isPushout_map_codiagonal 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPushouts C] {S T : C} (f : T ⟶ X) (g : T ⟶ Y) (i : S ⟶ T) : CategoryTheory.IsPushout (CategoryTheory.Limits.pushout.map i i (CategoryTheory.CategoryStruct.comp i f) (CategoryTheory.CategoryStruct.comp i g) f g (CategoryTheory.CategoryStruct.id S) ⋯ ⋯) (CategoryTheory.Limits.pushout.codiagonal i) (CategoryTheory.Limits.pushout.map (CategoryTheory.CategoryStruct.comp i f) (CategoryTheory.CategoryStruct.comp i g) f g (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) i ⋯ ⋯) (CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.pushout.inl f g)) - CategoryTheory.MorphismProperty.pushouts_mk 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] (P : CategoryTheory.MorphismProperty C) {A B X Y : C} {f : A ⟶ X} {q : A ⟶ B} {p : X ⟶ Y} {g : B ⟶ Y} (sq : CategoryTheory.IsPushout f q p g) (hq : P q) : P.pushouts p - CategoryTheory.MorphismProperty.of_isPushout 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {P : CategoryTheory.MorphismProperty C} [self : P.IsStableUnderCobaseChange] {A A' B B' : C} {f : A ⟶ A'} {g : A ⟶ B} {f' : B ⟶ B'} {g' : A' ⟶ B'} (sq : CategoryTheory.IsPushout g f f' g') (hf : P f) : P f' - CategoryTheory.MorphismProperty.IsStableUnderCobaseChange.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} (of_isPushout : ∀ {A A' B B' : C} {f : A ⟶ A'} {g : A ⟶ B} {f' : B ⟶ B'} {g' : A' ⟶ B'}, CategoryTheory.IsPushout g f f' g' → P f → P f') : P.IsStableUnderCobaseChange - CategoryTheory.MorphismProperty.IsStableUnderCobaseChange.of_isPushout 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {P : CategoryTheory.MorphismProperty C} [self : P.IsStableUnderCobaseChange] {A A' B B' : C} {f : A ⟶ A'} {g : A ⟶ B} {f' : B ⟶ B'} {g' : A' ⟶ B'} (sq : CategoryTheory.IsPushout g f f' g') (hf : P f) : P f' - CategoryTheory.MorphismProperty.IsStableUnderCobaseChangeAlong.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} {X Y : C} {f : X ⟶ Y} (of_isPushout : ∀ {Z W : C} {f' : Z ⟶ W} {g' : Y ⟶ W} {g : X ⟶ Z}, CategoryTheory.IsPushout f g g' f' → P g → P g') : P.IsStableUnderCobaseChangeAlong f - CategoryTheory.MorphismProperty.IsStableUnderCobaseChangeAlong.of_isPushout 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {P : CategoryTheory.MorphismProperty C} {X Y : C} {f : X ⟶ Y} [self : P.IsStableUnderCobaseChangeAlong f] {Z W : C} {f' : Z ⟶ W} {g' : Y ⟶ W} {g : X ⟶ Z} (pb : CategoryTheory.IsPushout f g g' f') : P g → P g' - CategoryTheory.MorphismProperty.IsStableUnderCobaseChange.of_forall_exists_isPullback 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} [P.RespectsIso] (H : ∀ {X Y Z : C} (f : Z ⟶ X) (g : Z ⟶ Y) [CategoryTheory.Limits.HasPushout f g], P f → ∃ T inl inr, CategoryTheory.IsPushout f g inl inr ∧ P inr) : P.IsStableUnderCobaseChange - CategoryTheory.IsPushout.IsVanKampen 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} : CategoryTheory.IsPushout f g h i → Prop - CategoryTheory.Adhesive.mono_of_isPushout_of_mono_left 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] (H : CategoryTheory.IsPushout f g h i) [CategoryTheory.Mono f] : CategoryTheory.Mono i - CategoryTheory.Adhesive.mono_of_isPushout_of_mono_right 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] (H : CategoryTheory.IsPushout f g h i) [CategoryTheory.Mono g] : CategoryTheory.Mono h - CategoryTheory.Adhesive.isPullback_of_isPushout_of_mono_left 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] (H : CategoryTheory.IsPushout f g h i) [CategoryTheory.Mono f] : CategoryTheory.IsPullback f g h i - CategoryTheory.Adhesive.isPullback_of_isPushout_of_mono_right 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] (H : CategoryTheory.IsPushout f g h i) [CategoryTheory.Mono g] : CategoryTheory.IsPullback f g h i - CategoryTheory.Adhesive.van_kampen 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} [self : CategoryTheory.Adhesive C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono f] (H : CategoryTheory.IsPushout f g h i) : H.IsVanKampen - CategoryTheory.Adhesive.van_kampen' 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] [CategoryTheory.Mono g] (H : CategoryTheory.IsPushout f g h i) : H.IsVanKampen - CategoryTheory.IsPushout.IsVanKampen.mono_of_mono_left 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono f] {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) : CategoryTheory.Mono i - CategoryTheory.IsPushout.IsVanKampen.mono_of_mono_right 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono g] {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) : CategoryTheory.Mono h - CategoryTheory.IsPushout.IsVanKampen.isPullback_of_mono_left 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono f] {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) : CategoryTheory.IsPullback f g h i - CategoryTheory.IsPushout.IsVanKampen.isPullback_of_mono_right 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono g] {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) : CategoryTheory.IsPullback f g h i - CategoryTheory.IsPushout.IsVanKampen.flip 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) : ⋯.IsVanKampen - CategoryTheory.IsPushout.isVanKampen_iff 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (H : CategoryTheory.IsPushout f g h i) : H.IsVanKampen ↔ CategoryTheory.IsVanKampenColimit (CategoryTheory.Limits.PushoutCocone.mk h i ⋯) - CategoryTheory.IsPushout.desc_mono_of_isPullback 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Adhesive C] {A B Z P₁ P₂ : C} {a : A ⟶ Z} {b : B ⟶ Z} {p₁ : P₁ ⟶ A} {p₂ : P₁ ⟶ B} {q₁ : A ⟶ P₂} {q₂ : B ⟶ P₂} (h₂ : CategoryTheory.IsPushout p₁ p₂ q₁ q₂) (h₁ : CategoryTheory.IsPullback p₁ p₂ a b) [CategoryTheory.Mono a] [CategoryTheory.Mono b] : CategoryTheory.Mono (h₂.desc a b ⋯) - CategoryTheory.Adhesive.mk 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [hasPullback_of_mono_left : ∀ {X Y S : C} (f : X ⟶ S) (g : Y ⟶ S) [CategoryTheory.Mono f], CategoryTheory.Limits.HasPullback f g] [hasPushout_of_mono_left : ∀ {X Y S : C} (f : S ⟶ X) (g : S ⟶ Y) [CategoryTheory.Mono f], CategoryTheory.Limits.HasPushout f g] (van_kampen : ∀ {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Mono f] (H : CategoryTheory.IsPushout f g h i), H.IsVanKampen) : CategoryTheory.Adhesive C - CategoryTheory.IsPushout.isVanKampen_inl 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W E X Z : C} (c : CategoryTheory.Limits.BinaryCofan W E) [CategoryTheory.FinitaryExtensive C] [CategoryTheory.Limits.HasPullbacks C] (hc : CategoryTheory.Limits.IsColimit c) (f : W ⟶ X) (h : X ⟶ Z) (i : c.pt ⟶ Z) (H : CategoryTheory.IsPushout f c.inl h i) : H.IsVanKampen - CategoryTheory.Adhesive.isPushout_isPullback_isPullback_hom_ext 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} [CategoryTheory.Adhesive C] [CategoryTheory.Mono f] (H : CategoryTheory.IsPushout f g h i) {X' Y' Z' : C} {h' : X' ⟶ Z'} {i' : Y' ⟶ Z'} {αX : X' ⟶ X} {αY : Y' ⟶ Y} {αZ : Z' ⟶ Z} {W✝ : C} {f₁ f₂ : Z' ⟶ W✝} (hh : CategoryTheory.IsPullback h' αX αZ h) (hi : CategoryTheory.IsPullback i' αY αZ i) (h'_w : CategoryTheory.CategoryStruct.comp h' f₁ = CategoryTheory.CategoryStruct.comp h' f₂) (i'_w : CategoryTheory.CategoryStruct.comp i' f₁ = CategoryTheory.CategoryStruct.comp i' f₂) : f₁ = f₂ - CategoryTheory.IsPushout.isVanKampen_isPullback_isPullback_hom_ext 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) {X' Y' Z' : C} {h' : X' ⟶ Z'} {i' : Y' ⟶ Z'} {αX : X' ⟶ X} [CategoryTheory.Limits.HasPullback αX f] {αY : Y' ⟶ Y} {αZ : Z' ⟶ Z} {W✝ : C} {f₁ f₂ : Z' ⟶ W✝} (hh : CategoryTheory.IsPullback h' αX αZ h) (hi : CategoryTheory.IsPullback i' αY αZ i) (h'_w : CategoryTheory.CategoryStruct.comp h' f₁ = CategoryTheory.CategoryStruct.comp h' f₂) (i'_w : CategoryTheory.CategoryStruct.comp i' f₁ = CategoryTheory.CategoryStruct.comp i' f₂) : f₁ = f₂ - CategoryTheory.IsPushout.IsVanKampen.exists_cube_filling 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {H : CategoryTheory.IsPushout f g h i} (H' : H.IsVanKampen) {X' Y' Z' : C} {h' : X' ⟶ Z'} {i' : Y' ⟶ Z'} {αX : X' ⟶ X} {αY : Y' ⟶ Y} {αZ : Z' ⟶ Z} [CategoryTheory.Limits.HasPullback αX f] (hh : CategoryTheory.IsPullback h' αX αZ h) (hi : CategoryTheory.IsPullback i' αY αZ i) : ∃ W' f' g' αW, CategoryTheory.IsPullback f' αW αX f ∧ CategoryTheory.IsPullback g' αW αY g ∧ CategoryTheory.IsPushout f' g' h' i' - CategoryTheory.IsPushout.isVanKampen_iff' 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} {H : CategoryTheory.IsPushout f g h i} : H.IsVanKampen ↔ ∀ ⦃X' Y' Z' : C⦄ (h' : X' ⟶ Z') (i' : Y' ⟶ Z') (αX : X' ⟶ X) (αY : Y' ⟶ Y) (αZ : Z' ⟶ Z), CategoryTheory.CommSq h' αX αZ h → CategoryTheory.CommSq i' αY αZ i → ∀ [CategoryTheory.Limits.HasPullback αX f], CategoryTheory.IsPullback h' αX αZ h ∧ CategoryTheory.IsPullback i' αY αZ i ↔ ∃ W' f' g' αW, CategoryTheory.IsPullback f' αW αX f ∧ CategoryTheory.IsPullback g' αW αY g ∧ CategoryTheory.IsPushout f' g' h' i' - CategoryTheory.is_coprod_iff_isPushout 📋 Mathlib.CategoryTheory.Adhesive.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X E Y YE : C} (c : CategoryTheory.Limits.BinaryCofan X E) (hc : CategoryTheory.Limits.IsColimit c) {f : X ⟶ Y} {iY : Y ⟶ YE} {fE : c.pt ⟶ YE} (H : CategoryTheory.CommSq f c.inl iY fE) : Nonempty (CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk (CategoryTheory.CategoryStruct.comp c.inr fE) iY)) ↔ CategoryTheory.IsPushout f c.inl iY fE - CommRingCat.nontrivial_of_isPushout_of_isField 📋 Mathlib.Algebra.Category.Ring.LinearAlgebra
{A B C D : CommRingCat} (hA : IsField ↑A) {f : A ⟶ B} {g : A ⟶ C} {inl : B ⟶ D} {inr : C ⟶ D} [Nontrivial ↑B] [Nontrivial ↑C] (h : CategoryTheory.IsPushout f g inl inr) : Nontrivial ↑D - CategoryTheory.IsPushout.epi_shortComplex_g 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.Epi ⋯.shortComplex.g - CategoryTheory.IsPushout.isColimitCokernelCofork 📋 Mathlib.Algebra.Homology.CommSq
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X₁ X₂ X₃ X₄ : C} [CategoryTheory.Limits.HasBinaryBiproduct X₂ X₃] {f : X₁ ⟶ X₂} {g : X₁ ⟶ X₃} {inl : X₂ ⟶ X₄} {inr : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.Limits.IsColimit ⋯.cokernelCofork - CategoryTheory.IsPushout.hasLiftingProperty 📋 Mathlib.CategoryTheory.LiftingProperties.Limits
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z W : C} {f : X ⟶ Y} {s : X ⟶ Z} {g : Z ⟶ W} {t : Y ⟶ W} (h : CategoryTheory.IsPushout s f g t) {Z' W' : C} (g' : Z' ⟶ W') [CategoryTheory.HasLiftingProperty f g'] : CategoryTheory.HasLiftingProperty g g' - CategoryTheory.Limits.isPushout_coequalizer_coprod 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X ⟶ Y) [CategoryTheory.Limits.HasCoequalizer f g] [CategoryTheory.Limits.HasBinaryCoproduct X X] : CategoryTheory.IsPushout (CategoryTheory.Limits.coprod.desc f g) (CategoryTheory.Limits.coprod.desc (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id X)) (CategoryTheory.Limits.coequalizer.π f g) (CategoryTheory.CategoryStruct.comp f (CategoryTheory.Limits.coequalizer.π f g)) - AlgebraicGeometry.isPullback_SpecMap_of_isPushout 📋 Mathlib.AlgebraicGeometry.Pullbacks
{A B C P : CommRingCat} (f : A ⟶ B) (g : A ⟶ C) (inl : B ⟶ P) (inr : C ⟶ P) (h : CategoryTheory.IsPushout f g inl inr) : CategoryTheory.IsPullback (AlgebraicGeometry.Spec.map inl) (AlgebraicGeometry.Spec.map inr) (AlgebraicGeometry.Spec.map f) (AlgebraicGeometry.Spec.map g) - AlgebraicGeometry.isPushout_appTop_of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.Affine
{X Y Z P : AlgebraicGeometry.Scheme} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} [AlgebraicGeometry.IsAffine X] [AlgebraicGeometry.IsAffine Y] [AlgebraicGeometry.IsAffine Z] (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.IsPushout (AlgebraicGeometry.Scheme.Hom.appTop f) (AlgebraicGeometry.Scheme.Hom.appTop g) (AlgebraicGeometry.Scheme.Hom.appTop fst) (AlgebraicGeometry.Scheme.Hom.appTop snd) - AlgebraicGeometry.isIso_pushoutSection_iff 📋 Mathlib.AlgebraicGeometry.Morphisms.Flat
{X Y S T : AlgebraicGeometry.Scheme} {f : T ⟶ S} {g : Y ⟶ X} {iX : X ⟶ S} {iY : Y ⟶ T} (H : CategoryTheory.IsPullback g iY iX f) {US : S.Opens} {UT : T.Opens} {UX : X.Opens} (hUST : UT ≤ (TopologicalSpace.Opens.map f.base).obj US) (hUSX : UX ≤ (TopologicalSpace.Opens.map iX.base).obj US) {UY : Y.Opens} (hUY : UY = (TopologicalSpace.Opens.map g.base).obj UX ⊓ (TopologicalSpace.Opens.map iY.base).obj UT) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) ↔ CategoryTheory.IsPushout (AlgebraicGeometry.Scheme.Hom.appLE iX US UX hUSX) (AlgebraicGeometry.Scheme.Hom.appLE f US UT hUST) (AlgebraicGeometry.Scheme.Hom.appLE g UX UY ⋯) (AlgebraicGeometry.Scheme.Hom.appLE iY UT UY ⋯) - CategoryTheory.Limits.isColimitOfIsPushoutOfIsConnected 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Connected
{I : Type u_1} {C : Type u_2} [CategoryTheory.Category.{v_1, u_1} I] [CategoryTheory.IsConnected I] [CategoryTheory.Category.{v_2, u_2} C] {F G : CategoryTheory.Functor I C} (α : F ⟶ G) (cF : CategoryTheory.Limits.Cocone F) (cG : CategoryTheory.Limits.Cocone G) (f : cF ⟶ (CategoryTheory.Limits.Cocone.precompose α).obj cG) (hf : ∀ (i : I), CategoryTheory.IsPushout (cF.ι.app i) (α.app i) f.hom (cG.ι.app i)) (hcF : CategoryTheory.Limits.IsColimit cF) : CategoryTheory.Limits.IsColimit cG - CategoryTheory.MorphismProperty.of_isPushout_of_codescendsAlong 📋 Mathlib.CategoryTheory.MorphismProperty.Descent
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P Q : CategoryTheory.MorphismProperty C} {Z X Y A : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ A} {inr : Y ⟶ A} [P.CodescendsAlong Q] (h : CategoryTheory.IsPushout f g inl inr) (hf : Q f) (hinl : P inl) : P g - CategoryTheory.MorphismProperty.CodescendsAlong.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Descent
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P Q : CategoryTheory.MorphismProperty C} (of_isPushout : ∀ {Z X Y A : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ A} {inr : Y ⟶ A}, CategoryTheory.IsPushout f g inl inr → Q f → P inl → P g) : P.CodescendsAlong Q - CategoryTheory.MorphismProperty.CodescendsAlong.of_isPushout 📋 Mathlib.CategoryTheory.MorphismProperty.Descent
{C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {P Q : CategoryTheory.MorphismProperty C} [self : P.CodescendsAlong Q] {Z X Y A : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ A} {inr : Y ⟶ A} : CategoryTheory.IsPushout f g inl inr → Q f → P inl → P g - CategoryTheory.MorphismProperty.iff_of_isPushout 📋 Mathlib.CategoryTheory.MorphismProperty.Descent
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P Q : CategoryTheory.MorphismProperty C} {Z X Y A : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ A} {inr : Y ⟶ A} [P.IsStableUnderCobaseChange] [P.CodescendsAlong Q] (h : CategoryTheory.IsPushout f g inl inr) (hg : Q f) : P inl ↔ P g - CommRingCat.finrank_eq_of_isPushout 📋 Mathlib.RingTheory.Flat.Rank
{R S T P : CommRingCat} {f : R ⟶ S} {g : R ⟶ T} {inl : S ⟶ P} {inr : T ⟶ P} (h : CategoryTheory.IsPushout f g inl inr) (hf : (CommRingCat.Hom.hom f).Flat) (hfin : (CommRingCat.Hom.hom f).Finite) (x : PrimeSpectrum ↑T) : (CommRingCat.Hom.hom inr).finrank x = (CommRingCat.Hom.hom f).finrank (PrimeSpectrum.comap (CommRingCat.Hom.hom g) x) - CategoryTheory.IsPushout.exact_shortComplex 📋 Mathlib.CategoryTheory.Abelian.CommSq
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout t l r b) : ⋯.shortComplex.Exact - CategoryTheory.IsPushout.mono_of_isPullback_of_mono 📋 Mathlib.CategoryTheory.Abelian.CommSq
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (h₁ : CategoryTheory.IsPushout t l r b) {X₅ : C} {r' : X₂ ⟶ X₅} {b' : X₃ ⟶ X₅} (h₂ : CategoryTheory.IsPullback t l r' b') (k : X₄ ⟶ X₅) (fac₁ : CategoryTheory.CategoryStruct.comp r k = r') (fac₂ : CategoryTheory.CategoryStruct.comp b k = b') [CategoryTheory.Mono r'] : CategoryTheory.Mono k - CategoryTheory.Abelian.epi_kernel_map_of_isPushout 📋 Mathlib.CategoryTheory.Abelian.CommSq
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) : CategoryTheory.Epi (CategoryTheory.Limits.kernel.map t b l r ⋯) - CategoryTheory.IsPushout.hom_eq_add_up_to_refinements 📋 Mathlib.CategoryTheory.Abelian.CommSq
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout t l r b) {T : C} (x₄ : T ⟶ X₄) : ∃ T' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₂ x₃, CategoryTheory.CategoryStruct.comp π x₄ = CategoryTheory.CategoryStruct.comp x₂ r + CategoryTheory.CategoryStruct.comp x₃ b - HomotopicalAlgebra.AttachCells.isPushout 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (self : HomotopicalAlgebra.AttachCells g f) : CategoryTheory.IsPushout self.g₁ self.m f self.g₂ - HomotopicalAlgebra.AttachCells.mk 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (ι : Type w) (π : ι → α) (cofan₁ : CategoryTheory.Limits.Cofan fun i => A (π i)) (cofan₂ : CategoryTheory.Limits.Cofan fun i => B (π i)) (isColimit₁ : CategoryTheory.Limits.IsColimit cofan₁) (isColimit₂ : CategoryTheory.Limits.IsColimit cofan₂) (m : cofan₁.pt ⟶ cofan₂.pt) (hm : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (cofan₁.inj i) m = CategoryTheory.CategoryStruct.comp (g (π i)) (cofan₂.inj i) := by cat_disch) (g₁ : cofan₁.pt ⟶ X₁) (g₂ : cofan₂.pt ⟶ X₂) (isPushout : CategoryTheory.IsPushout g₁ m f g₂) : HomotopicalAlgebra.AttachCells g f - CategoryTheory.SmallObject.functorObj_isPushout 📋 Mathlib.CategoryTheory.SmallObject.Construction
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type w} {A B : I → C} (f : (i : I) → A i ⟶ B i) {S X : C} (πX : X ⟶ S) [CategoryTheory.Limits.HasColimitsOfShape (CategoryTheory.Discrete (CategoryTheory.SmallObject.FunctorObjIndex f πX)) C] [CategoryTheory.Limits.HasPushout (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.SmallObject.functorObjLeft f πX)] : CategoryTheory.IsPushout (CategoryTheory.SmallObject.functorObjTop f πX) (CategoryTheory.SmallObject.functorObjLeft f πX) (CategoryTheory.SmallObject.ιFunctorObj f πX) (CategoryTheory.SmallObject.ρFunctorObj f πX) - CategoryTheory.epi_iff_isPushout 📋 Mathlib.CategoryTheory.Limits.EpiMono
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} (f : X ⟶ Y) : CategoryTheory.Epi f ↔ CategoryTheory.IsPushout f f (CategoryTheory.CategoryStruct.id Y) (CategoryTheory.CategoryStruct.id Y) - CategoryTheory.Limits.Multicofork.IsColimit.isPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.MultiequalizerPullback
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {J : CategoryTheory.Limits.MultispanShape} [Unique J.L] {I : CategoryTheory.Limits.MultispanIndex J C} (c : CategoryTheory.Limits.Multicofork I) (h : {J.fst default, J.snd default} = Set.univ) (h' : J.fst default ≠ J.snd default) (hc : CategoryTheory.Limits.IsColimit c) : CategoryTheory.IsPushout (I.fst default) (I.snd default) (c.π (J.fst default)) (c.π (J.snd default)) - CategoryTheory.Limits.Types.isPushout_of_bicartSq 📋 Mathlib.CategoryTheory.Limits.Types.Multicoequalizer
{X : Type u} {S₁ S₂ S₃ S₄ : Set X} (h : Lattice.BicartSq S₁ S₂ S₃ S₄) : CategoryTheory.IsPushout (Set.functorToTypes.map (CategoryTheory.homOfLE ⋯)) (Set.functorToTypes.map (CategoryTheory.homOfLE ⋯)) (Set.functorToTypes.map (CategoryTheory.homOfLE ⋯)) (Set.functorToTypes.map (CategoryTheory.homOfLE ⋯)) - SSet.Subcomplex.BicartSq.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.SubcomplexColimits
{X : SSet} {A₁ A₂ A₃ A₄ : X.Subcomplex} (sq : A₁.BicartSq A₂ A₃ A₄) : CategoryTheory.IsPushout (SSet.Subcomplex.homOfLE ⋯) (SSet.Subcomplex.homOfLE ⋯) (SSet.Subcomplex.homOfLE ⋯) (SSet.Subcomplex.homOfLE ⋯) - SSet.horn₂₀.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.HornColimits
: CategoryTheory.IsPushout (SSet.stdSimplex.δ 1) (SSet.stdSimplex.δ 1) SSet.horn₂₀.ι₀₁ SSet.horn₂₀.ι₀₂ - SSet.horn₂₁.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.HornColimits
: CategoryTheory.IsPushout (SSet.stdSimplex.δ 0) (SSet.stdSimplex.δ 1) SSet.horn₂₁.ι₀₁ SSet.horn₂₁.ι₁₂ - SSet.horn₂₂.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.HornColimits
: CategoryTheory.IsPushout (SSet.stdSimplex.δ 0) (SSet.stdSimplex.δ 0) SSet.horn₂₂.ι₀₂ SSet.horn₂₂.ι₁₂ - CategoryTheory.Limits.Types.isPullback_of_isPushout 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout t l r b) (ht : Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom t)) : CategoryTheory.IsPullback t l r b - CategoryTheory.Limits.Types.eq_or_eq_of_isPushout 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout t l r b) (x₄ : X₄) : (∃ x₂, (CategoryTheory.ConcreteCategory.hom r) x₂ = x₄) ∨ ∃ x₃, (CategoryTheory.ConcreteCategory.hom b) x₃ = x₄ - CategoryTheory.Limits.Types.eq_or_eq_of_isPushout' 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} (h : CategoryTheory.IsPushout t l r b) (x₄ : X₄) : (∃ x₂, (CategoryTheory.ConcreteCategory.hom r) x₂ = x₄) ∨ ∃ x₃, (CategoryTheory.ConcreteCategory.hom b) x₃ = x₄ ∧ x₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) - CategoryTheory.Limits.Types.mono_of_isPushout_of_isPullback 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ X₅ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} {k : X₄ ⟶ X₅} (h₁ : CategoryTheory.IsPushout t l r b) {r' : X₂ ⟶ X₅} {b' : X₃ ⟶ X₅} (h₂ : CategoryTheory.IsPullback t l r' b') (facr : CategoryTheory.CategoryStruct.comp r k = r') (facb : CategoryTheory.CategoryStruct.comp b k = b') [hr' : CategoryTheory.Mono r'] (H : ∀ (x₃ y₃ : X₃), x₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → y₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → (CategoryTheory.ConcreteCategory.hom b') x₃ = (CategoryTheory.ConcreteCategory.hom b') y₃ → x₃ = y₃) : CategoryTheory.Mono k - CategoryTheory.Limits.Types.isPushout_of_isPullback_of_mono' 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} (h₁ : CategoryTheory.IsPullback t l r b) [CategoryTheory.Mono r] (h₂ : Set.range ⇑(CategoryTheory.ConcreteCategory.hom r) ⊔ Set.range ⇑(CategoryTheory.ConcreteCategory.hom b) = Set.univ) (H : ∀ (x₃ y₃ : X₃), x₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → y₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → (CategoryTheory.ConcreteCategory.hom b) x₃ = (CategoryTheory.ConcreteCategory.hom b) y₃ → x₃ = y₃) : CategoryTheory.IsPushout t l r b - CategoryTheory.Limits.Types.isPushout_of_isPullback_of_mono 📋 Mathlib.CategoryTheory.Limits.Types.Pushouts
{X₁ X₂ X₃ X₄ X₅ : Type u} {t : X₁ ⟶ X₂} {r : X₂ ⟶ X₄} {l : X₁ ⟶ X₃} {b : X₃ ⟶ X₄} {k : X₄ ⟶ X₅} {r' : X₂ ⟶ X₅} {b' : X₃ ⟶ X₅} (h₁ : CategoryTheory.IsPullback t l r' b') (facr : CategoryTheory.CategoryStruct.comp r k = r') (facb : CategoryTheory.CategoryStruct.comp b k = b') [CategoryTheory.Mono r'] [CategoryTheory.Mono k] (h₂ : Set.range ⇑(CategoryTheory.ConcreteCategory.hom r) ⊔ Set.range ⇑(CategoryTheory.ConcreteCategory.hom b) = Set.univ) (H : ∀ (x₃ y₃ : X₃), x₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → y₃ ∉ Set.range ⇑(CategoryTheory.ConcreteCategory.hom l) → (CategoryTheory.ConcreteCategory.hom b') x₃ = (CategoryTheory.ConcreteCategory.hom b') y₃ → x₃ = y₃) : CategoryTheory.IsPushout t l r b - SSet.relativeCellComplexOfMono.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.Skeleton
{X Y : SSet} (i : X ⟶ Y) (d : ℕ) : CategoryTheory.IsPushout (SSet.relativeCellComplexOfMono.t i d) (SSet.relativeCellComplexOfMono.l i d) (SSet.relativeCellComplexOfMono.r i d) (SSet.relativeCellComplexOfMono.b i d) - SSet.Subcomplex.unionProd.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.Monoidal
{X Y : SSet} (S : X.Subcomplex) (T : Y.Subcomplex) : CategoryTheory.IsPushout (CategoryTheory.MonoidalCategoryStruct.whiskerRight S.ι T.toSSet) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft S.toSSet T.ι) (SSet.Subcomplex.unionProd.ι₁ S T) (SSet.Subcomplex.unionProd.ι₂ S T) - SSet.Subcomplex.Pairing.RankFunction.isPushout 📋 Mathlib.AlgebraicTopology.SimplicialSet.AnodyneExtensions.RelativeCellComplex
{X : SSet} {A : X.Subcomplex} {P : A.Pairing} {ι : Type v} [LinearOrder ι] (f : P.RankFunction ι) [P.IsProper] [SuccOrder ι] [NoMaxOrder ι] (j : ι) : CategoryTheory.IsPushout (f.t j) (f.m j) (SSet.Subcomplex.homOfLE ⋯) (f.b j) - CategoryTheory.Functor.PushoutObjObj.isPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} (self : F.PushoutObjObj f₁ f₂) : CategoryTheory.IsPushout ((F.map f₁).app X₂) ((F.obj X₁).map f₂) self.inl self.inr - CategoryTheory.Functor.PushoutObjObj.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackObjObj
{C₁ : Type u₁} {C₂ : Type u₂} {C₃ : Type u₃} [CategoryTheory.Category.{v₁, u₁} C₁] [CategoryTheory.Category.{v₂, u₂} C₂] [CategoryTheory.Category.{v₃, u₃} C₃] {F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ C₃)} {X₁ Y₁ : C₁} {f₁ : X₁ ⟶ Y₁} {X₂ Y₂ : C₂} {f₂ : X₂ ⟶ Y₂} (pt : C₃) (inl : (F.obj Y₁).obj X₂ ⟶ pt) (inr : (F.obj X₁).obj Y₂ ⟶ pt) (isPushout : CategoryTheory.IsPushout ((F.map f₁).app X₂) ((F.obj X₁).map f₂) inl inr) (ι : pt ⟶ (F.obj Y₁).obj Y₂) (inl_ι : CategoryTheory.CategoryStruct.comp inl ι = (F.obj Y₁).map f₂ := by cat_disch) (inr_ι : CategoryTheory.CategoryStruct.comp inr ι = (F.map f₁).app Y₂ := by cat_disch) : F.PushoutObjObj f₁ f₂ - CategoryTheory.MonoidalCategory.IsPushout.w_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight f Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight g Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_w 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q f) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q g) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) - CategoryTheory.MonoidalCategory.IsPushout.inl_desc_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight (hP.desc h k w) Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight h Q - CategoryTheory.MonoidalCategory.IsPushout.inr_desc_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight (hP.desc h k w) Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight k Q - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_desc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (hP.desc h k w)) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q h - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_desc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (hP.desc h k w)) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q k - CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_inv_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inl f g) Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.inv Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q - CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_inv_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inr f g) Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.inv Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_inv 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inl f g)) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.inv) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_inv 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inr f g)) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.inv) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr - CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_hom_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.hom Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inl f g) Q - CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_hom_whiskerRight 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.hom Q) = CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inr f g) Q - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_hom 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.hom) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inl f g) - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_hom 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q : C} : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.hom) = CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inr f g) - CategoryTheory.MonoidalCategory.IsPushout.w_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj P Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight f Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight g Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) h) - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_w_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj Q P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q f) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) h) - CategoryTheory.MonoidalCategory.IsPushout.inl_desc_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : CategoryTheory.MonoidalCategoryStruct.tensorObj W Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (hP.desc h k w) Q) h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight h Q) h✝ - CategoryTheory.MonoidalCategory.IsPushout.inr_desc_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : CategoryTheory.MonoidalCategoryStruct.tensorObj W Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (hP.desc h k w) Q) h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight k Q) h✝ - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_desc_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : CategoryTheory.MonoidalCategoryStruct.tensorObj Q W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (hP.desc h k w)) h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q h) h✝ - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_desc_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) {W : C} (h : X ⟶ W) (k : Y ⟶ W) (w : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g k) {Q Z✝ : C} (h✝ : CategoryTheory.MonoidalCategoryStruct.tensorObj Q W ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (hP.desc h k w)) h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q k) h✝ - CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_inv_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj P Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inl f g) Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.inv Q) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) h - CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_inv_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj P Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inr f g) Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.inv Q) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) h - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_inv_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj Q P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inl f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.inv) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) h - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_inv_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj Q P ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inr f g)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.inv) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) h - CategoryTheory.MonoidalCategory.IsPushout.inl_isoPushout_hom_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj (CategoryTheory.Limits.pushout f g) Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inl Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.hom Q) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inl f g) Q) h - CategoryTheory.MonoidalCategory.IsPushout.inr_isoPushout_hom_whiskerRight_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj (CategoryTheory.Limits.pushout f g) Q ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight inr Q) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight hP.isoPushout.hom Q) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (CategoryTheory.Limits.pushout.inr f g) Q) h - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inl_isoPushout_hom_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj Q (CategoryTheory.Limits.pushout f g) ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inl) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.hom) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inl f g)) h - CategoryTheory.MonoidalCategory.IsPushout.whiskerLeft_inr_isoPushout_hom_assoc 📋 Mathlib.CategoryTheory.Monoidal.Limits.Shapes.Pullback
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] {Z X Y P : C} {f : Z ⟶ X} {g : Z ⟶ Y} {inl : X ⟶ P} {inr : Y ⟶ P} (hP : CategoryTheory.IsPushout f g inl inr) [CategoryTheory.Limits.HasPushout f g] {Q Z✝ : C} (h : CategoryTheory.MonoidalCategoryStruct.tensorObj Q (CategoryTheory.Limits.pushout f g) ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q inr) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q hP.isoPushout.hom) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft Q (CategoryTheory.Limits.pushout.inr f g)) h - CategoryTheory.Limits.isIso_cokernel_map_of_isPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Kernels
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {X₁ X₂ X₃ X₄ : C} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} [CategoryTheory.Limits.HasCokernel t] [CategoryTheory.Limits.HasCokernel b] (sq : CategoryTheory.IsPushout t l r b) : CategoryTheory.IsIso (CategoryTheory.Limits.cokernel.map t b l r ⋯) - CategoryTheory.EffectiveEquivalenceRelation.isPushout 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R A : C} {p₁ p₂ : R ⟶ A} (self : CategoryTheory.EffectiveEquivalenceRelation p₁ p₂) : CategoryTheory.IsPushout p₁ p₂ self.π self.π - CategoryTheory.EffectiveEquivalenceRelation.mk 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R A : C} {p₁ p₂ : R ⟶ A} (toEquivalenceRelation : CategoryTheory.EquivalenceRelation p₁ p₂) (B : C) (π : A ⟶ B) (isKernelPair : CategoryTheory.IsKernelPair π p₁ p₂) (isPushout : CategoryTheory.IsPushout p₁ p₂ π π) : CategoryTheory.EffectiveEquivalenceRelation p₁ p₂ - CategoryTheory.BicartesianSq.toIsPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.BicartesianSq
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (self : CategoryTheory.BicartesianSq f g h i) : CategoryTheory.IsPushout f g h i - CategoryTheory.BicartesianSq.of_isPullback_isPushout 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.BicartesianSq
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (p₁ : CategoryTheory.IsPullback f g h i) (p₂ : CategoryTheory.IsPushout f g h i) : CategoryTheory.BicartesianSq f g h i - CategoryTheory.IsPushout.of_hasBinaryCoproduct 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.BicartesianSq
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] {X Y : C} [CategoryTheory.Limits.HasBinaryCoproduct X Y] : CategoryTheory.IsPushout 0 0 CategoryTheory.Limits.coprod.inl CategoryTheory.Limits.coprod.inr - CategoryTheory.IsPushout.inl_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.BicartesianSq
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) [CategoryTheory.Limits.HasBinaryBiproduct X Y] : CategoryTheory.IsPushout CategoryTheory.Limits.biprod.inl 0 CategoryTheory.Limits.biprod.snd 0 - CategoryTheory.IsPushout.inr_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.BicartesianSq
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.Limits.HasZeroMorphisms C] (X Y : C) [CategoryTheory.Limits.HasBinaryBiproduct X Y] : CategoryTheory.IsPushout CategoryTheory.Limits.biprod.inr 0 CategoryTheory.Limits.biprod.fst 0
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