Loogle!
Result
Found 284 declarations mentioning CategoryTheory.IsPullback. Of these, only the first 200 are shown.
- CategoryTheory.IsPullback 📋 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) : Prop - CategoryTheory.IsPullback.cone 📋 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.Limits.PullbackCone f g - CategoryTheory.IsPullback.hasPullback 📋 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.Limits.HasPullback f g - CategoryTheory.IsPullback.flip 📋 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.IsPullback snd fst g f - CategoryTheory.IsPullback.toCommSq 📋 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} (self : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.CommSq fst snd f g - CategoryTheory.IsPullback.flip_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.IsPullback fst snd f g ↔ CategoryTheory.IsPullback snd fst g f - CategoryTheory.IsPullback.of_hasPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Limits.HasPullback f g] : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.snd f g) f g - CategoryTheory.IsPullback.isoPullback 📋 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.Limits.HasPullback f g] : P ≅ CategoryTheory.Limits.pullback f g - CategoryTheory.IsPullback.isLimit 📋 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.Limits.IsLimit h.cone - CategoryTheory.IsPullback.of_isLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {c : CategoryTheory.Limits.PullbackCone f g} (h : CategoryTheory.Limits.IsLimit c) : CategoryTheory.IsPullback c.fst c.snd f g - CategoryTheory.IsPullback.isoIsPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) : P ≅ P' - CategoryTheory.IsPullback.of_isLimit' 📋 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} (w : CategoryTheory.CommSq fst snd f g) (h : CategoryTheory.Limits.IsLimit w.cone) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.isLimit' 📋 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} (self : CategoryTheory.IsPullback fst snd f g) : Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk fst snd ⋯)) - CategoryTheory.IsPullback.mk 📋 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} (toCommSq : CategoryTheory.CommSq fst snd f g) (isLimit' : Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk fst snd ⋯))) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.cone_fst 📋 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) : h.cone.fst = fst - CategoryTheory.IsPullback.cone_snd 📋 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) : h.cone.snd = snd - CategoryTheory.IsPullback.lift 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : W ⟶ P - 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.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.IsPullback.isoPullback_hom_fst 📋 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.Limits.HasPullback f g] : CategoryTheory.CategoryStruct.comp h.isoPullback.hom (CategoryTheory.Limits.pullback.fst f g) = fst - CategoryTheory.IsPullback.isoPullback_hom_snd 📋 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.Limits.HasPullback f g] : CategoryTheory.CategoryStruct.comp h.isoPullback.hom (CategoryTheory.Limits.pullback.snd f g) = snd - CategoryTheory.IsPullback.isoIsPullback_hom_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').hom fst' = fst - CategoryTheory.IsPullback.isoIsPullback_hom_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').hom snd' = snd - CategoryTheory.IsPullback.isoIsPullback_inv_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').inv fst = fst' - CategoryTheory.IsPullback.isoIsPullback_inv_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').inv snd = snd' - 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.IsPullback.isoPullback_inv_fst 📋 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.Limits.HasPullback f g] : CategoryTheory.CategoryStruct.comp h.isoPullback.inv fst = CategoryTheory.Limits.pullback.fst f g - CategoryTheory.IsPullback.isoPullback_inv_snd 📋 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.Limits.HasPullback f g] : CategoryTheory.CategoryStruct.comp h.isoPullback.inv snd = CategoryTheory.Limits.pullback.snd f g - CategoryTheory.IsPullback.lift_fst 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : CategoryTheory.CategoryStruct.comp (hP.lift h k w) fst = h - CategoryTheory.IsPullback.lift_snd 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : CategoryTheory.CategoryStruct.comp (hP.lift h k w) snd = k - CategoryTheory.IsPullback.hom_ext 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} {k l : W ⟶ P} (h₀ : CategoryTheory.CategoryStruct.comp k fst = CategoryTheory.CategoryStruct.comp l fst) (h₁ : CategoryTheory.CategoryStruct.comp k snd = CategoryTheory.CategoryStruct.comp l snd) : k = l - CategoryTheory.IsPullback.isoIsPullback_hom_fst_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) {Z✝ : C} (h✝ : X ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').hom (CategoryTheory.CategoryStruct.comp fst' h✝) = CategoryTheory.CategoryStruct.comp fst h✝ - CategoryTheory.IsPullback.isoIsPullback_hom_snd_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').hom (CategoryTheory.CategoryStruct.comp snd' h✝) = CategoryTheory.CategoryStruct.comp snd h✝ - CategoryTheory.IsPullback.isoIsPullback_inv_fst_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) {Z✝ : C} (h✝ : X ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').inv (CategoryTheory.CategoryStruct.comp fst h✝) = CategoryTheory.CategoryStruct.comp fst' h✝ - CategoryTheory.IsPullback.isoIsPullback_inv_snd_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P : C} (X Y : C) {Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} {P' : C} {fst' : P' ⟶ X} {snd' : P' ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) (h' : CategoryTheory.IsPullback fst' snd' f g) {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.IsPullback.isoIsPullback X Y h h').inv (CategoryTheory.CategoryStruct.comp snd h✝) = CategoryTheory.CategoryStruct.comp snd' h✝ - CategoryTheory.IsPullback.isoPullback_hom_fst_assoc 📋 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.Limits.HasPullback f g] {Z✝ : C} (h✝ : X ⟶ Z✝) : CategoryTheory.CategoryStruct.comp h.isoPullback.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h✝) = CategoryTheory.CategoryStruct.comp fst h✝ - CategoryTheory.IsPullback.isoPullback_hom_snd_assoc 📋 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.Limits.HasPullback f g] {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp h.isoPullback.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h✝) = CategoryTheory.CategoryStruct.comp snd h✝ - CategoryTheory.IsPullback.exists_lift 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : ∃ l, CategoryTheory.CategoryStruct.comp l fst = h ∧ CategoryTheory.CategoryStruct.comp l snd = k - CategoryTheory.IsPullback.lift_fst_assoc 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) {Z✝ : C} (h✝ : X ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (hP.lift h k w) (CategoryTheory.CategoryStruct.comp fst h✝) = CategoryTheory.CategoryStruct.comp h h✝ - CategoryTheory.IsPullback.lift_snd_assoc 📋 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} (hP : CategoryTheory.IsPullback fst snd f g) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (hP.lift h k w) (CategoryTheory.CategoryStruct.comp snd h✝) = CategoryTheory.CategoryStruct.comp k h✝ - CategoryTheory.IsPullback.isoPullback_inv_fst_assoc 📋 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.Limits.HasPullback f g] {Z✝ : C} (h✝ : X ⟶ Z✝) : CategoryTheory.CategoryStruct.comp h.isoPullback.inv (CategoryTheory.CategoryStruct.comp fst h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) h✝ - CategoryTheory.IsPullback.isoPullback_inv_snd_assoc 📋 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.Limits.HasPullback f g] {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp h.isoPullback.inv (CategoryTheory.CategoryStruct.comp snd h✝) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h✝ - CategoryTheory.IsPullback.of_isLimit_cone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Defs
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : CategoryTheory.Functor CategoryTheory.Limits.WalkingCospan C} {c : CategoryTheory.Limits.Cone D} (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.IsPullback (c.π.app CategoryTheory.Limits.WalkingCospan.left) (c.π.app CategoryTheory.Limits.WalkingCospan.right) (D.map CategoryTheory.Limits.WalkingCospan.Hom.inl) (D.map CategoryTheory.Limits.WalkingCospan.Hom.inr) - CategoryTheory.IsPullback.id_horiz 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Z : C} (f : X ⟶ Z) : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.id X) f f (CategoryTheory.CategoryStruct.id Z) - CategoryTheory.IsPullback.id_vert 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Z : C} (f : X ⟶ Z) : CategoryTheory.IsPullback f (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Z) f - CategoryTheory.IsPullback.of_id_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Z : C} {f : X ⟶ Z} : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.id X) f f (CategoryTheory.CategoryStruct.id Z) - CategoryTheory.IsPullback.of_id_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Z : C} {f : X ⟶ Z} : CategoryTheory.IsPullback f (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Z) f - CategoryTheory.IsPullback.of_hasBinaryProduct' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (X Y : C) [CategoryTheory.Limits.HasBinaryProduct X Y] [CategoryTheory.Limits.HasTerminal C] : CategoryTheory.IsPullback CategoryTheory.Limits.prod.fst CategoryTheory.Limits.prod.snd (CategoryTheory.Limits.terminal.from X) (CategoryTheory.Limits.terminal.from Y) - CategoryTheory.IsPullback.isIso_fst_of_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y : C} {fst snd : P ⟶ X} {f : X ⟶ Y} (h : CategoryTheory.IsPullback fst snd f f) (inst : CategoryTheory.Mono f := by infer_instance) : CategoryTheory.IsIso fst - CategoryTheory.IsPullback.isIso_snd_iso_of_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y : C} {fst snd : P ⟶ X} {f : X ⟶ Y} (h : CategoryTheory.IsPullback fst snd f f) (inst : CategoryTheory.Mono f := by infer_instance) : CategoryTheory.IsIso snd - CategoryTheory.IsPullback.isIso_fst_of_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.IsIso g := by infer_instance) : CategoryTheory.IsIso fst - CategoryTheory.IsPullback.isIso_snd_of_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.IsIso f := by infer_instance) : CategoryTheory.IsIso snd - CategoryTheory.IsPullback.mono_fst_of_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.Mono g := by infer_instance) : CategoryTheory.Mono fst - CategoryTheory.IsPullback.mono_snd_of_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) (inst : CategoryTheory.Mono f := by infer_instance) : CategoryTheory.Mono snd - CategoryTheory.IsPullback.of_is_product' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {P X Y Z : C} {fst : P ⟶ X} {snd : P ⟶ Y} (h : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.BinaryFan.mk fst snd)) (t : CategoryTheory.Limits.IsTerminal Z) : CategoryTheory.IsPullback fst snd (t.from X) (t.from Y) - CategoryTheory.IsPullback.of_prod_fst_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.HasBinaryProduct A X] [CategoryTheory.Limits.HasBinaryProduct B X] : CategoryTheory.IsPullback CategoryTheory.Limits.prod.fst (CategoryTheory.Limits.prod.map f (CategoryTheory.CategoryStruct.id X)) f CategoryTheory.Limits.prod.fst - CategoryTheory.IsPullback.of_horiz_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.IsIso fst] [CategoryTheory.IsIso g] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_horiz_isIso_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.IsIso fst] [CategoryTheory.Mono g] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_vert_isIso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.IsIso snd] [CategoryTheory.IsIso f] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.of_vert_isIso_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.IsIso snd] [CategoryTheory.Mono f] (sq : CategoryTheory.CommSq fst snd f g) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.isPullback_iff_isLimit_binaryFan_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} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} : CategoryTheory.IsPullback fst snd f g ↔ Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.BinaryFan.mk fst snd)) - CategoryTheory.IsPullback.isLimitFork 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g g' : Y ⟶ Z} (H : CategoryTheory.IsPullback f f g g') : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofι f ⋯) - CategoryTheory.IsPullback.isoOverPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.Limits.HasPullbacksAlong g] {P : C} {fst : P ⟶ X} {snd : P ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.Over.mk fst ≅ CategoryTheory.Over.mk (CategoryTheory.Limits.pullback.fst f g) - CategoryTheory.IsPullback.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.IsPullback h₁₁ v₁₁ v₁₂ h₂₁) (t : CategoryTheory.IsPullback h₁₂ v₁₂ v₁₃ h₂₂) : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂) - CategoryTheory.IsPullback.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.IsPullback h₁₁ v₁₁ v₁₂ h₂₁) (t : CategoryTheory.IsPullback h₂₁ v₂₁ v₂₂ h₃₁) : CategoryTheory.IsPullback h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁ - CategoryTheory.Functor.map_isPullback 📋 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.PreservesLimit (CategoryTheory.Limits.cospan h i) F] (s : CategoryTheory.IsPullback f g h i) : CategoryTheory.IsPullback (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.IsPullback.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.PreservesLimit (CategoryTheory.Limits.cospan h i) F] (s : CategoryTheory.IsPullback f g h i) : CategoryTheory.IsPullback (F.map f) (F.map g) (F.map h) (F.map i) - CategoryTheory.IsPullback.preservesLimit_cospan_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} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Limits.cospan f g) F ↔ CategoryTheory.IsPullback (F.map fst) (F.map snd) (F.map f) (F.map g) - CategoryTheory.IsPullback.of_bot' 📋 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.IsPullback h₁₁ v₃₁ (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁) (t : CategoryTheory.IsPullback h₂₁ v₂₁ v₂₂ h₃₁) : CategoryTheory.IsPullback h₁₁ (t.lift (CategoryTheory.CategoryStruct.comp h₁₁ v₁₂) v₃₁ ⋯) v₁₂ h₂₁ - CategoryTheory.IsPullback.of_right' 📋 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.IsPullback h₁₃ v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂)) (t : CategoryTheory.IsPullback h₁₂ v₁₂ v₁₃ h₂₂) : CategoryTheory.IsPullback (t.lift h₁₃ (CategoryTheory.CategoryStruct.comp v₁₁ h₂₁) ⋯) v₁₁ v₁₂ h₂₁ - CategoryTheory.IsPullback.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.ReflectsLimit (CategoryTheory.Limits.cospan h i) F] [F.Faithful] (H : CategoryTheory.IsPullback (F.map f) (F.map g) (F.map h) (F.map i)) : CategoryTheory.IsPullback f g h i - CategoryTheory.IsPullback.of_bot 📋 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.IsPullback 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.IsPullback h₂₁ v₂₁ v₂₂ h₃₁) : CategoryTheory.IsPullback h₁₁ v₁₁ v₁₂ h₂₁ - CategoryTheory.IsPullback.of_right 📋 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.IsPullback (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.IsPullback h₁₂ v₁₂ v₁₃ h₂₂) : CategoryTheory.IsPullback h₁₁ v₁₁ v₁₂ h₂₁ - CategoryTheory.IsPullback.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.IsPullback h₁₂ v₁₂ v₁₃ h₂₂) (e : CategoryTheory.CategoryStruct.comp h₁₁ v₁₂ = CategoryTheory.CategoryStruct.comp v₁₁ h₂₁) : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp h₁₁ h₁₂) v₁₁ v₁₃ (CategoryTheory.CategoryStruct.comp h₂₁ h₂₂) ↔ CategoryTheory.IsPullback h₁₁ v₁₁ v₁₂ h₂₁ - CategoryTheory.IsPullback.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.IsPullback h₂₁ v₂₁ v₂₂ h₃₁) (e : CategoryTheory.CategoryStruct.comp h₁₁ v₁₂ = CategoryTheory.CategoryStruct.comp v₁₁ h₂₁) : CategoryTheory.IsPullback h₁₁ (CategoryTheory.CategoryStruct.comp v₁₁ v₂₁) (CategoryTheory.CategoryStruct.comp v₁₂ v₂₂) h₃₁ ↔ CategoryTheory.IsPullback h₁₁ v₁₁ v₁₂ h₂₁ - CategoryTheory.IsPullback.of_isLimit_binaryFan_of_isTerminal 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} {c : CategoryTheory.Limits.BinaryFan X Y} (hc : CategoryTheory.Limits.IsLimit c) {T : C} (hT : CategoryTheory.Limits.IsTerminal T) : CategoryTheory.IsPullback c.fst c.snd (hT.from ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) (hT.from ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) - CategoryTheory.IsPullback.of_is_product 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {c : CategoryTheory.Limits.BinaryFan X Y} (h : CategoryTheory.Limits.IsLimit c) (t : CategoryTheory.Limits.IsTerminal Z) : CategoryTheory.IsPullback c.fst c.snd (t.from ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) (t.from ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) - CategoryTheory.Limits.preservesLimitsOfShape_walkingCospan_of_forall_isPullback 📋 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 : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Limits.HasPullback f g], ∃ P fst snd, CategoryTheory.IsPullback fst snd f g ∧ CategoryTheory.IsPullback (F.map fst) (F.map snd) (F.map f) (F.map g)) : CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan F - CategoryTheory.IsPullback.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.ReflectsLimit (CategoryTheory.Limits.cospan h i) F] (e : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i) (H : CategoryTheory.IsPullback (F.map f) (F.map g) (F.map h) (F.map i)) : CategoryTheory.IsPullback f g h i - CategoryTheory.IsPullback.of_iso_pullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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.CommSq fst snd f g) [CategoryTheory.Limits.HasPullback f g] (i : P ≅ CategoryTheory.Limits.pullback f g) (w₁ : CategoryTheory.CategoryStruct.comp i.hom (CategoryTheory.Limits.pullback.fst f g) = fst) (w₂ : CategoryTheory.CategoryStruct.comp i.hom (CategoryTheory.Limits.pullback.snd f g) = snd) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.isoOverPullback_hom_left_comp_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.Limits.HasPullbacksAlong g] {P : C} {fst : P ⟶ X} {snd : P ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Over.Hom.left h.isoOverPullback.hom) (CategoryTheory.Limits.pullback.snd f g) = snd - CategoryTheory.IsPullback.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.PreservesLimit (CategoryTheory.Limits.cospan h i) F] [CategoryTheory.Limits.ReflectsLimit (CategoryTheory.Limits.cospan h i) F] (e : CategoryTheory.CategoryStruct.comp f h = CategoryTheory.CategoryStruct.comp g i) : CategoryTheory.IsPullback (F.map f) (F.map g) (F.map h) (F.map i) ↔ CategoryTheory.IsPullback f g h i - CategoryTheory.IsPullback.of_forall_isPullback_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} (h : ∀ (X : C), CategoryTheory.IsPullback (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X)) : CategoryTheory.IsPullback f₁ f₂ f₃ f₄ - CategoryTheory.IsPullback.app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Limits.HasPullbacks D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} (h : CategoryTheory.IsPullback f₁ f₂ f₃ f₄) (X : C) : CategoryTheory.IsPullback (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X) - CategoryTheory.IsPullback.iff_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] [CategoryTheory.Limits.HasPullbacks D] {F₁ F₂ F₃ F₄ : CategoryTheory.Functor C D} {f₁ : F₁ ⟶ F₂} {f₂ : F₁ ⟶ F₃} {f₃ : F₂ ⟶ F₄} {f₄ : F₃ ⟶ F₄} : CategoryTheory.IsPullback f₁ f₂ f₃ f₄ ↔ ∀ (X : C), CategoryTheory.IsPullback (f₁.app X) (f₂.app X) (f₃.app X) (f₄.app X) - CategoryTheory.IsPullback.of_over_iso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.Limits.HasPullbacksAlong g] {P : C} {p : P ⟶ X} (e : CategoryTheory.Over.mk p ≅ CategoryTheory.Over.mk (CategoryTheory.Limits.pullback.fst f g)) : CategoryTheory.IsPullback p (CategoryTheory.CategoryStruct.comp (CategoryTheory.Over.Hom.left e.hom) (CategoryTheory.Limits.pullback.snd f g)) f g - CategoryTheory.IsPullback.isoOverPullback_hom_left_comp_snd_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.Limits.HasPullbacksAlong g] {P : C} {fst : P ⟶ X} {snd : P ⟶ Y} (h : CategoryTheory.IsPullback fst snd f g) {Z✝ : C} (h✝ : Y ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Over.Hom.left h.isoOverPullback.hom) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd f g) h✝) = CategoryTheory.CategoryStruct.comp snd h✝ - CategoryTheory.IsPullback.paste_twist_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z S : C} {f : X ⟶ S} {g : Y ⟶ S} {i : Z ⟶ S} {Pfg : C} {fstfg : Pfg ⟶ X} {sndfg : Pfg ⟶ Y} (hfg : CategoryTheory.IsPullback fstfg sndfg f g) {Pfi : C} {fstfi : Pfi ⟶ X} {sndfi : Pfi ⟶ Z} (hfi : CategoryTheory.IsPullback fstfi sndfi f i) {R : C} (rY : R ⟶ Y) (rZ : R ⟶ Z) (hrw : CategoryTheory.CategoryStruct.comp rY g = CategoryTheory.CategoryStruct.comp rZ i) {Psndfgr : C} (fstsndfgr : Psndfgr ⟶ Pfg) (sndsndfgr : Psndfgr ⟶ R) (hsndfgr : CategoryTheory.IsPullback fstsndfgr sndsndfgr sndfg rY) {t : Psndfgr ⟶ Pfi} (ht₁ : CategoryTheory.CategoryStruct.comp t fstfi = CategoryTheory.CategoryStruct.comp fstsndfgr fstfg) (ht₂ : CategoryTheory.CategoryStruct.comp t sndfi = CategoryTheory.CategoryStruct.comp sndsndfgr rZ) : CategoryTheory.IsPullback t sndsndfgr sndfi rZ - CategoryTheory.IsPullback.of_iso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) {P' X' Y' Z' : C} {fst' : P' ⟶ X'} {snd' : P' ⟶ Y'} {f' : X' ⟶ Z'} {g' : Y' ⟶ Z'} (e₁ : P ≅ P') (e₂ : X ≅ X') (e₃ : Y ≅ Y') (e₄ : Z ≅ Z') (commfst : CategoryTheory.CategoryStruct.comp fst e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom fst') (commsnd : CategoryTheory.CategoryStruct.comp snd e₃.hom = CategoryTheory.CategoryStruct.comp e₁.hom snd') (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') : CategoryTheory.IsPullback fst' snd' f' g' - CategoryTheory.IsPullback.of_iso' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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) {P' X' Y' Z' : C} {fst' : P' ⟶ X'} {snd' : P' ⟶ Y'} {f' : X' ⟶ Z'} {g' : Y' ⟶ Z'} (e₁ : P' ≅ P) (e₂ : X' ≅ X) (e₃ : Y' ≅ Y) (e₄ : Z' ≅ Z) (commfst : CategoryTheory.CategoryStruct.comp e₁.hom fst = CategoryTheory.CategoryStruct.comp fst' e₂.hom) (commsnd : CategoryTheory.CategoryStruct.comp e₁.hom snd = CategoryTheory.CategoryStruct.comp snd' e₃.hom) (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) : CategoryTheory.IsPullback fst' snd' f' g' - CategoryTheory.IsPullback.mk' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{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} (w : CategoryTheory.CategoryStruct.comp fst f = CategoryTheory.CategoryStruct.comp snd g) (hom_ext : ∀ ⦃T : C⦄ ⦃φ φ' : T ⟶ P⦄, CategoryTheory.CategoryStruct.comp φ fst = CategoryTheory.CategoryStruct.comp φ' fst → CategoryTheory.CategoryStruct.comp φ snd = CategoryTheory.CategoryStruct.comp φ' snd → φ = φ') (exists_lift : ∀ ⦃T : C⦄ (a : T ⟶ X) (b : T ⟶ Y), CategoryTheory.CategoryStruct.comp a f = CategoryTheory.CategoryStruct.comp b g → ∃ l, CategoryTheory.CategoryStruct.comp l fst = a ∧ CategoryTheory.CategoryStruct.comp l snd = b) : CategoryTheory.IsPullback fst snd f g - CategoryTheory.IsPullback.iff_exists_over_iso 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} [CategoryTheory.Limits.HasPullbacksAlong g] {P : C} {p : P ⟶ X} {q : P ⟶ Y} : CategoryTheory.IsPullback p q f g ↔ ∃ e, q = CategoryTheory.CategoryStruct.comp (CategoryTheory.Over.Hom.left e.hom) (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.IsPullback.map_fst_comp_fst_snd_comp_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.IsPullback.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z U S : C} (f : X ⟶ S) (g : Y ⟶ S) (i : Z ⟶ S) [CategoryTheory.Limits.HasPullback i g] (h : U ⟶ CategoryTheory.Limits.pullback i g) [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.snd f g) (CategoryTheory.CategoryStruct.comp h (CategoryTheory.Limits.pullback.snd i g))] [CategoryTheory.Limits.HasPullback f i] : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.map (CategoryTheory.Limits.pullback.snd f g) (CategoryTheory.CategoryStruct.comp h (CategoryTheory.Limits.pullback.snd i g)) f i (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.CategoryStruct.comp h (CategoryTheory.Limits.pullback.fst i g)) g ⋯ ⋯) (CategoryTheory.Limits.pullback.snd (CategoryTheory.Limits.pullback.snd f g) (CategoryTheory.CategoryStruct.comp h (CategoryTheory.Limits.pullback.snd i g))) (CategoryTheory.Limits.pullback.snd f i) (CategoryTheory.CategoryStruct.comp h (CategoryTheory.Limits.pullback.fst i g)) - CategoryTheory.EffectiveEpiStruct.isColimitCoforkOfIsPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.RegularMono
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {p : Y ⟶ X} (hp : CategoryTheory.EffectiveEpiStruct p) {p₁ p₂ : Z ⟶ Y} (sq : CategoryTheory.IsPullback p₁ p₂ p p) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofork.ofπ p ⋯) - CategoryTheory.Limits.pullback_lift_diagonal_isPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S : C} (g : Y ⟶ X) (f : X ⟶ S) : CategoryTheory.IsPullback g (CategoryTheory.Limits.pullback.lift (CategoryTheory.CategoryStruct.id Y) g ⋯) (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp g f) f f f g (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id S) ⋯ ⋯) - CategoryTheory.Limits.pullback_map_diagonal_isPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {S T : C} (f : X ⟶ T) (g : Y ⟶ T) (i : T ⟶ S) [CategoryTheory.Limits.HasPullback i i] [CategoryTheory.Limits.HasPullback f g] [CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i)] [CategoryTheory.Limits.HasPullback (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) ⋯ ⋯)] : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst f g) f) (CategoryTheory.Limits.pullback.map f g (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) (CategoryTheory.CategoryStruct.id X) (CategoryTheory.CategoryStruct.id Y) i ⋯ ⋯) (CategoryTheory.Limits.pullback.diagonal i) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp f i) (CategoryTheory.CategoryStruct.comp g i) i i f g (CategoryTheory.CategoryStruct.id S) ⋯ ⋯) - CategoryTheory.Limits.isPullback_map_snd_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z S : C} (f : X ⟶ S) (g : Y ⟶ S) (h : Z ⟶ S) : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.map (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f h) g h (CategoryTheory.Limits.pullback.snd f g) (CategoryTheory.Limits.pullback.snd f h) f ⋯ ⋯) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f g) (CategoryTheory.Limits.pullback.fst f h)) (CategoryTheory.Limits.pullback.fst g h) (CategoryTheory.Limits.pullback.snd f g) - CategoryTheory.Limits.pullback_lift_map_isPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasPullbacks C] {X Y S X' Y' S' : C} (f : X ⟶ S) (g : Y ⟶ S) (f' : X' ⟶ S') (g' : Y' ⟶ S') (i₁ : X ⟶ X') (i₂ : Y ⟶ Y') (i₃ : S ⟶ S') (e₁ : CategoryTheory.CategoryStruct.comp f i₃ = CategoryTheory.CategoryStruct.comp i₁ f') (e₂ : CategoryTheory.CategoryStruct.comp g i₃ = CategoryTheory.CategoryStruct.comp i₂ g') [CategoryTheory.Mono i₃] : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' i₁ i₂ i₃ e₁ e₂) (CategoryTheory.Limits.pullback.fst f g) ⋯) (CategoryTheory.Limits.pullback.lift (CategoryTheory.Limits.pullback.map f g f' g' i₁ i₂ i₃ e₁ e₂) (CategoryTheory.Limits.pullback.snd f g) ⋯) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.fst f' g') i₁) (CategoryTheory.Limits.pullback.fst (CategoryTheory.Limits.pullback.snd f' g') i₂) - CategoryTheory.Limits.pullback_fst_map_snd_isPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Diagonal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] {U V₁ V₂ : C} (f : X ⟶ Y) (i : U ⟶ Y) (i₁ : V₁ ⟶ CategoryTheory.Limits.pullback f i) (i₂ : V₂ ⟶ CategoryTheory.Limits.pullback f i) [CategoryTheory.Limits.HasPullback i₁ i₂] : CategoryTheory.IsPullback (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst i₁ i₂) (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.fst f i))) (CategoryTheory.Limits.pullback.map i₁ i₂ (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp i₂ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.id V₁) (CategoryTheory.CategoryStruct.id V₂) (CategoryTheory.Limits.pullback.snd f i) ⋯ ⋯) (CategoryTheory.Limits.pullback.diagonal f) (CategoryTheory.Limits.pullback.map (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.snd f i)) (CategoryTheory.CategoryStruct.comp i₂ (CategoryTheory.Limits.pullback.snd f i)) f f (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.fst f i)) (CategoryTheory.CategoryStruct.comp i₂ (CategoryTheory.Limits.pullback.fst f i)) i ⋯ ⋯) - CategoryTheory.MorphismProperty.pullbacks_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.IsPullback f q p g) (hp : P p) : P.pullbacks q - CategoryTheory.MorphismProperty.of_isPullback 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {P : CategoryTheory.MorphismProperty C} [self : P.IsStableUnderBaseChange] {X Y Y' S : C} {f : X ⟶ S} {g : Y ⟶ S} {f' : Y' ⟶ Y} {g' : Y' ⟶ X} (sq : CategoryTheory.IsPullback f' g' g f) (hg : P g) : P g' - CategoryTheory.MorphismProperty.IsStableUnderBaseChange.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} (of_isPullback : ∀ {X Y Y' S : C} {f : X ⟶ S} {g : Y ⟶ S} {f' : Y' ⟶ Y} {g' : Y' ⟶ X}, CategoryTheory.IsPullback f' g' g f → P g → P g') : P.IsStableUnderBaseChange - CategoryTheory.MorphismProperty.IsStableUnderBaseChange.of_isPullback 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {P : CategoryTheory.MorphismProperty C} [self : P.IsStableUnderBaseChange] {X Y Y' S : C} {f : X ⟶ S} {g : Y ⟶ S} {f' : Y' ⟶ Y} {g' : Y' ⟶ X} (sq : CategoryTheory.IsPullback f' g' g f) (hg : P g) : P g' - CategoryTheory.MorphismProperty.IsStableUnderBaseChangeAlong.mk 📋 Mathlib.CategoryTheory.MorphismProperty.Limits
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} {X Y : C} {f : X ⟶ Y} (of_isPullback : ∀ {Z W : C} {f' : W ⟶ Z} {g' : W ⟶ X} {g : Z ⟶ Y}, CategoryTheory.IsPullback f' g' g f → P g → P g') : P.IsStableUnderBaseChangeAlong f - CategoryTheory.MorphismProperty.IsStableUnderBaseChangeAlong.of_isPullback 📋 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.IsStableUnderBaseChangeAlong f] {Z W : C} {f' : W ⟶ Z} {g' : W ⟶ X} {g : Z ⟶ Y} (pb : CategoryTheory.IsPullback f' g' g f) : P g → P g' - CategoryTheory.MorphismProperty.IsStableUnderBaseChange.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 : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Limits.HasPullback f g], P g → ∃ T fst snd, CategoryTheory.IsPullback fst snd f g ∧ P fst) : P.IsStableUnderBaseChange - CategoryTheory.AddGrpObj.isPullback 📋 Mathlib.CategoryTheory.Monoidal.Grp
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.CartesianMonoidalCategory C] (A : C) [CategoryTheory.AddGrpObj A] : CategoryTheory.IsPullback (CategoryTheory.MonoidalCategoryStruct.whiskerRight CategoryTheory.AddMonObj.add A) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.associator A A A).hom (CategoryTheory.MonoidalCategoryStruct.whiskerLeft A CategoryTheory.AddMonObj.add)) CategoryTheory.AddMonObj.add CategoryTheory.AddMonObj.add - CategoryTheory.GrpObj.isPullback 📋 Mathlib.CategoryTheory.Monoidal.Grp
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.CartesianMonoidalCategory C] (A : C) [CategoryTheory.GrpObj A] : CategoryTheory.IsPullback (CategoryTheory.MonoidalCategoryStruct.whiskerRight CategoryTheory.MonObj.mul A) (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.associator A A A).hom (CategoryTheory.MonoidalCategoryStruct.whiskerLeft A CategoryTheory.MonObj.mul)) CategoryTheory.MonObj.mul CategoryTheory.MonObj.mul - CategoryTheory.MonoOver.pullbackObjIsoOfIsPullback 📋 Mathlib.CategoryTheory.Subobject.MonoOver
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {X Y : C} (f : Y ⟶ X) (S : CategoryTheory.MonoOver X) (T : CategoryTheory.MonoOver Y) (f' : T.obj.left ⟶ S.obj.left) (h : CategoryTheory.IsPullback f' T.arrow S.arrow f) : (CategoryTheory.MonoOver.pullback f).obj S ≅ T - CategoryTheory.Subobject.pullback_obj_mk 📋 Mathlib.CategoryTheory.Subobject.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A B X Y : C} {f : Y ⟶ X} {i : A ⟶ X} [CategoryTheory.Mono i] {j : B ⟶ Y} [CategoryTheory.Mono j] {f' : B ⟶ A} (h : CategoryTheory.IsPullback f' j i f) : (CategoryTheory.Subobject.pullback f).obj (CategoryTheory.Subobject.mk i) = CategoryTheory.Subobject.mk j - CategoryTheory.Subobject.isPullback 📋 Mathlib.CategoryTheory.Subobject.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X ⟶ Y) (y : CategoryTheory.Subobject Y) : CategoryTheory.IsPullback (CategoryTheory.Subobject.pullbackπ f y) ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.isPullback_aux 📋 Mathlib.CategoryTheory.Subobject.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y : C} [CategoryTheory.Limits.HasPullbacks C] (f : X ⟶ Y) (y : CategoryTheory.Subobject Y) : ∃ φ, CategoryTheory.IsPullback φ ((CategoryTheory.Subobject.pullback f).obj y).arrow y.arrow f - CategoryTheory.Subobject.inf_isPullback 📋 Mathlib.CategoryTheory.Subobject.Lattice
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f g : CategoryTheory.Subobject A) : CategoryTheory.IsPullback ((f ⊓ g).ofLE f ⋯) ((f ⊓ g).ofLE g ⋯) f.arrow g.arrow - CategoryTheory.Limits.Types.range_fst_of_isPullback 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{P X Y Z : Type u} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) : Set.range ⇑(CategoryTheory.ConcreteCategory.hom fst) = ⇑(CategoryTheory.ConcreteCategory.hom f) ⁻¹' Set.range ⇑(CategoryTheory.ConcreteCategory.hom g) - CategoryTheory.Limits.Types.range_snd_of_isPullback 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{P X Y Z : Type u} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) : Set.range ⇑(CategoryTheory.ConcreteCategory.hom snd) = ⇑(CategoryTheory.ConcreteCategory.hom g) ⁻¹' Set.range ⇑(CategoryTheory.ConcreteCategory.hom f) - CategoryTheory.Limits.Types.ext_of_isPullback 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{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) {x₁ y₁ : X₁} (h₁ : (CategoryTheory.ConcreteCategory.hom t) x₁ = (CategoryTheory.ConcreteCategory.hom t) y₁) (h₂ : (CategoryTheory.ConcreteCategory.hom l) x₁ = (CategoryTheory.ConcreteCategory.hom l) y₁) : x₁ = y₁ - CategoryTheory.Limits.Types.exists_of_isPullback 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{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) (x₂ : X₂) (x₃ : X₃) (hx : (CategoryTheory.ConcreteCategory.hom r) x₂ = (CategoryTheory.ConcreteCategory.hom b) x₃) : ∃ x₁, (CategoryTheory.ConcreteCategory.hom t) x₁ = x₂ ∧ (CategoryTheory.ConcreteCategory.hom l) x₁ = x₃ - CategoryTheory.Limits.Types.isPullback_iff 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X₁ X₂ X₃ X₄ : Type u} (t : X₁ ⟶ X₂) (r : X₂ ⟶ X₄) (l : X₁ ⟶ X₃) (b : X₃ ⟶ X₄) : CategoryTheory.IsPullback t l r b ↔ CategoryTheory.CategoryStruct.comp t r = CategoryTheory.CategoryStruct.comp l b ∧ (∀ (x₁ y₁ : (fun X => X) X₁), (CategoryTheory.ConcreteCategory.hom t) x₁ = (CategoryTheory.ConcreteCategory.hom t) y₁ ∧ (CategoryTheory.ConcreteCategory.hom l) x₁ = (CategoryTheory.ConcreteCategory.hom l) y₁ → x₁ = y₁) ∧ ∀ (x₂ : (fun X => X) X₂) (x₃ : (fun X => X) X₃), (CategoryTheory.ConcreteCategory.hom r) x₂ = (CategoryTheory.ConcreteCategory.hom b) x₃ → ∃ x₁, (CategoryTheory.ConcreteCategory.hom t) x₁ = x₂ ∧ (CategoryTheory.ConcreteCategory.hom l) x₁ = x₃ - CategoryTheory.Sieve.ofArrows_eq_pullback_of_isPullback 📋 Mathlib.CategoryTheory.Sites.Sieves.Basic
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {ι : Type u_1} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) {Y : C} {g : Y ⟶ S} {P : ι → C} {p₁ : (i : ι) → P i ⟶ Y} {p₂ : (i : ι) → P i ⟶ X i} (h : ∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) : CategoryTheory.Sieve.ofArrows P p₁ = CategoryTheory.Sieve.pullback g (CategoryTheory.Sieve.ofArrows X f) - CategoryTheory.Precoverage.mem_coverings_of_isPullback 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} [J.IsStableUnderBaseChange] {ι : Type w} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hR : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i) (h : ∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) : CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y - CategoryTheory.Precoverage.IsStableUnderBaseChange.mem_coverings_of_isPullback 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {J : CategoryTheory.Precoverage C} [self : J.IsStableUnderBaseChange] {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S) (hR : CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S) {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i) (h : ∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) : CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y - CategoryTheory.Precoverage.IsStableUnderBaseChange.mk 📋 Mathlib.CategoryTheory.Sites.Precoverage
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Precoverage C} (mem_coverings_of_isPullback : ∀ {ι : Type (max u v)} {S : C} {X : ι → C} (f : (i : ι) → X i ⟶ S), CategoryTheory.Presieve.ofArrows X f ∈ J.coverings S → ∀ {Y : C} (g : Y ⟶ S) {P : ι → C} (p₁ : (i : ι) → P i ⟶ Y) (p₂ : (i : ι) → P i ⟶ X i), (∀ (i : ι), CategoryTheory.IsPullback (p₁ i) (p₂ i) g (f i)) → CategoryTheory.Presieve.ofArrows P p₁ ∈ J.coverings Y) : J.IsStableUnderBaseChange - CategoryTheory.BinaryCofan.isPullback_initial_to_of_isVanKampen 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.Limits.HasInitial C] {c : CategoryTheory.Limits.BinaryCofan X Y} (h : CategoryTheory.IsVanKampenColimit c) : CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) (CategoryTheory.Limits.initial.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) c.inl c.inr - CategoryTheory.isPullback_initial_to_of_cofan_isVanKampen 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] {ι : Type u_3} {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.IsVanKampenColimit c) (i j : CategoryTheory.Discrete ι) (hi : i ≠ j) : CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (F.obj i)) (CategoryTheory.Limits.initial.to (F.obj j)) (c.ι.app i) (c.ι.app j) - CategoryTheory.IsUniversalColimit.isPullback_of_isColimit_left 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {S B : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) (f : (i : ι) → X i ⟶ S) (u : a.pt ⟶ S) (v : B ⟶ S) {P : ι → C} (q₁ : (i : ι) → P i ⟶ B) (q₂ : (i : ι) → P i ⟶ X i) (hP : ∀ (i : ι), CategoryTheory.IsPullback (q₁ i) (q₂ i) v (f i)) {d : CategoryTheory.Limits.Cofan P} (hd : CategoryTheory.Limits.IsColimit d) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) [CategoryTheory.Limits.HasPullback v u] : CategoryTheory.IsPullback (CategoryTheory.Limits.Cofan.IsColimit.desc hd q₁) (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun x => CategoryTheory.CategoryStruct.comp (q₂ x) (a.inj x)) v u - CategoryTheory.IsUniversalColimit.isPullback_of_isColimit_right 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {S B : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) (f : (i : ι) → X i ⟶ S) (u : a.pt ⟶ S) (v : B ⟶ S) {P : ι → C} (q₁ : (i : ι) → P i ⟶ X i) (q₂ : (i : ι) → P i ⟶ B) (hP : ∀ (i : ι), CategoryTheory.IsPullback (q₁ i) (q₂ i) (f i) v) {d : CategoryTheory.Limits.Cofan P} (hd : CategoryTheory.Limits.IsColimit d) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) [CategoryTheory.Limits.HasPullback u v] : CategoryTheory.IsPullback (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun x => CategoryTheory.CategoryStruct.comp (q₁ x) (a.inj x)) (CategoryTheory.Limits.Cofan.IsColimit.desc hd q₂) u v - CategoryTheory.isPullback_of_cofan_isVanKampen 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasInitial C] {ι : Type u_3} {X : ι → C} {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.IsVanKampenColimit c) (i j : ι) [DecidableEq ι] : CategoryTheory.IsPullback (if h : j = i then CategoryTheory.eqToHom ⋯ else CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (CategoryTheory.Limits.initial.to (X i))) (if h : j = i then CategoryTheory.eqToHom ⋯ else CategoryTheory.CategoryStruct.comp (CategoryTheory.eqToHom ⋯) (CategoryTheory.Limits.initial.to (X j))) (c.inj i) (c.inj j) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_of_isPullback_left 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {S B : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) (f : (i : ι) → X i ⟶ S) (u : a.pt ⟶ S) (v : B ⟶ S) {P : ι → C} (q₁ : (i : ι) → P i ⟶ B) (q₂ : (i : ι) → P i ⟶ X i) (hP : ∀ (i : ι), CategoryTheory.IsPullback (q₁ i) (q₂ i) v (f i)) {Z : C} {p₁ : Z ⟶ B} {p₂ : Z ⟶ a.pt} (h : CategoryTheory.IsPullback p₁ p₂ v u) (d : CategoryTheory.Limits.Cofan P) (e : d.pt ≅ Z) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) (he₁ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom p₁) = q₁ i := by cat_disch) (he₂ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom p₂) = CategoryTheory.CategoryStruct.comp (q₂ i) (a.inj i) := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_of_isPullback_right 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {S B : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) (f : (i : ι) → X i ⟶ S) (u : a.pt ⟶ S) (v : B ⟶ S) {P : ι → C} (q₁ : (i : ι) → P i ⟶ X i) (q₂ : (i : ι) → P i ⟶ B) (hP : ∀ (i : ι), CategoryTheory.IsPullback (q₁ i) (q₂ i) (f i) v) {Z : C} {p₁ : Z ⟶ a.pt} {p₂ : Z ⟶ B} (h : CategoryTheory.IsPullback p₁ p₂ u v) (d : CategoryTheory.Limits.Cofan P) (e : d.pt ≅ Z) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) (he₁ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom p₁) = CategoryTheory.CategoryStruct.comp (q₁ i) (a.inj i) := by cat_disch) (he₂ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom p₂) = q₂ i := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - CategoryTheory.IsUniversalColimit.isPullback_prod_of_isColimit 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {ι' : Type u_4} {S : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) {Y : ι' → C} {b : CategoryTheory.Limits.Cofan Y} (hbu : CategoryTheory.IsUniversalColimit b) (f : (i : ι) → X i ⟶ S) (g : (i : ι') → Y i ⟶ S) (u : a.pt ⟶ S) (v : b.pt ⟶ S) [∀ (i : ι), CategoryTheory.Limits.HasPullback (f i) v] [CategoryTheory.Limits.HasPullback u v] {P : ι × ι' → C} {q₁ : (i : ι) → (j : ι') → P (i, j) ⟶ X i} {q₂ : (i : ι) → (j : ι') → P (i, j) ⟶ Y j} (hP : ∀ (i : ι) (j : ι'), CategoryTheory.IsPullback (q₁ i j) (q₂ i j) (f i) (g j)) (d : CategoryTheory.Limits.Cofan P) (hd : CategoryTheory.Limits.IsColimit d) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) (hv : ∀ (i : ι'), CategoryTheory.CategoryStruct.comp (b.inj i) v = g i := by cat_disch) : CategoryTheory.IsPullback (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun p => CategoryTheory.CategoryStruct.comp (q₁ p.1 p.2) (a.inj p.1)) (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun p => CategoryTheory.CategoryStruct.comp (q₂ p.1 p.2) (b.inj p.2)) u v - CategoryTheory.BinaryCofan.isVanKampen_iff 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (c : CategoryTheory.Limits.BinaryCofan X Y) : CategoryTheory.IsVanKampenColimit c ↔ ∀ {X' Y' : C} (c' : CategoryTheory.Limits.BinaryCofan X' Y') (αX : X' ⟶ X) (αY : Y' ⟶ Y) (f : c'.pt ⟶ c.pt), CategoryTheory.CategoryStruct.comp αX c.inl = CategoryTheory.CategoryStruct.comp c'.inl f → CategoryTheory.CategoryStruct.comp αY c.inr = CategoryTheory.CategoryStruct.comp c'.inr f → (Nonempty (CategoryTheory.Limits.IsColimit c') ↔ CategoryTheory.IsPullback c'.inl αX f c.inl ∧ CategoryTheory.IsPullback c'.inr αY f c.inr) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_prod_of_isPullback 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_3} {ι' : Type u_4} {S : C} {X : ι → C} {a : CategoryTheory.Limits.Cofan X} (hau : CategoryTheory.IsUniversalColimit a) {Y : ι' → C} {b : CategoryTheory.Limits.Cofan Y} (hbu : CategoryTheory.IsUniversalColimit b) (f : (i : ι) → X i ⟶ S) (g : (i : ι') → Y i ⟶ S) (u : a.pt ⟶ S) (v : b.pt ⟶ S) [∀ (i : ι), CategoryTheory.Limits.HasPullback (f i) v] {P : ι × ι' → C} {q₁ : (i : ι) → (j : ι') → P (i, j) ⟶ X i} {q₂ : (i : ι) → (j : ι') → P (i, j) ⟶ Y j} (hP : ∀ (i : ι) (j : ι'), CategoryTheory.IsPullback (q₁ i j) (q₂ i j) (f i) (g j)) {Z : C} {p₁ : Z ⟶ a.pt} {p₂ : Z ⟶ b.pt} (h : CategoryTheory.IsPullback p₁ p₂ u v) {d : CategoryTheory.Limits.Cofan P} (e : d.pt ≅ Z) (hu : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (a.inj i) u = f i := by cat_disch) (hv : ∀ (i : ι'), CategoryTheory.CategoryStruct.comp (b.inj i) v = g i := by cat_disch) (he₁ : ∀ (i : ι) (j : ι'), CategoryTheory.CategoryStruct.comp (d.inj (i, j)) (CategoryTheory.CategoryStruct.comp e.hom p₁) = CategoryTheory.CategoryStruct.comp (q₁ i j) (a.inj i) := by cat_disch) (he₂ : ∀ (i : ι) (j : ι'), CategoryTheory.CategoryStruct.comp (d.inj (i, j)) (CategoryTheory.CategoryStruct.comp e.hom p₂) = CategoryTheory.CategoryStruct.comp (q₂ i j) (b.inj j) := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - CategoryTheory.BinaryCofan.isVanKampen_mk 📋 Mathlib.CategoryTheory.Limits.VanKampen
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (c : CategoryTheory.Limits.BinaryCofan X Y) (cofans : (X Y : C) → CategoryTheory.Limits.BinaryCofan X Y) (colimits : (X Y : C) → CategoryTheory.Limits.IsColimit (cofans X Y)) (cones : {X Y Z : C} → (f : X ⟶ Z) → (g : Y ⟶ Z) → CategoryTheory.Limits.PullbackCone f g) (limits : {X Y Z : C} → (f : X ⟶ Z) → (g : Y ⟶ Z) → CategoryTheory.Limits.IsLimit (cones f g)) (h₁ : ∀ {X' Y' : C} (αX : X' ⟶ X) (αY : Y' ⟶ Y) (f : (cofans X' Y').pt ⟶ c.pt), CategoryTheory.CategoryStruct.comp αX c.inl = CategoryTheory.CategoryStruct.comp (cofans X' Y').inl f → CategoryTheory.CategoryStruct.comp αY c.inr = CategoryTheory.CategoryStruct.comp (cofans X' Y').inr f → CategoryTheory.IsPullback (cofans X' Y').inl αX f c.inl ∧ CategoryTheory.IsPullback (cofans X' Y').inr αY f c.inr) (h₂ : {Z : C} → (f : Z ⟶ c.pt) → CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.BinaryCofan.mk (cones f c.inl).fst (cones f c.inr).fst)) : CategoryTheory.IsVanKampenColimit c - CategoryTheory.Limits.CoproductDisjoint.isPullback_of_isInitial 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {X : ι → C} [CategoryTheory.Limits.CoproductDisjoint X] {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) {Y : C} (hY : CategoryTheory.Limits.IsInitial Y) {i j : ι} [CategoryTheory.Limits.HasPullback (c.inj i) (c.inj j)] (hij : i ≠ j) : CategoryTheory.IsPullback (hY.to (X i)) (hY.to (X j)) (c.inj i) (c.inj j) - CategoryTheory.FinitaryExtensive.isPullback_initial_to_sigma_ι 📋 Mathlib.CategoryTheory.Extensive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] (X : ι → C) (i j : ι) (e : i ≠ j) : CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (CategoryTheory.Limits.Sigma.ι X i) (CategoryTheory.Limits.Sigma.ι X j) - CategoryTheory.FinitaryExtensive.isPullback_initial_to_binaryCofan 📋 Mathlib.CategoryTheory.Extensive
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} [CategoryTheory.FinitaryExtensive C] {c : CategoryTheory.Limits.BinaryCofan X Y} (hc : CategoryTheory.Limits.IsColimit c) : CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.left })) (CategoryTheory.Limits.initial.to ((CategoryTheory.Limits.pair X Y).obj { as := CategoryTheory.Limits.WalkingPair.right })) c.inl c.inr - CategoryTheory.FinitaryExtensive.isPullback_initial_to 📋 Mathlib.CategoryTheory.Extensive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.FinitaryExtensive C] {ι : Type u_1} [Finite ι] {F : CategoryTheory.Functor (CategoryTheory.Discrete ι) C} {c : CategoryTheory.Limits.Cocone F} (hc : CategoryTheory.Limits.IsColimit c) (i j : CategoryTheory.Discrete ι) (e : i ≠ j) : CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (F.obj i)) (CategoryTheory.Limits.initial.to (F.obj j)) (c.ι.app i) (c.ι.app j) - CategoryTheory.FinitaryPreExtensive.isPullback_sigmaDesc 📋 Mathlib.CategoryTheory.Extensive
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.FinitaryPreExtensive C] {ι : Type u_1} {ι' : Type u_2} [Finite ι] [Finite ι'] {S : C} {X : ι → C} {Y : ι' → C} (f : (i : ι) → X i ⟶ S) (g : (i : ι') → Y i ⟶ S) : CategoryTheory.IsPullback (CategoryTheory.Limits.Sigma.desc fun p => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (f p.1) (g p.2)) (CategoryTheory.Limits.Sigma.ι X p.1)) (CategoryTheory.Limits.Sigma.desc fun p => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.snd (f p.1) (g p.2)) (CategoryTheory.Limits.Sigma.ι Y p.2)) (CategoryTheory.Limits.Sigma.desc f) (CategoryTheory.Limits.Sigma.desc g) - 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.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.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.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.Over.isPullback_of_binaryFan_isLimit 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X : C} {Y Z : CategoryTheory.Over X} (c : CategoryTheory.Limits.BinaryFan Y Z) (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.IsPullback (CategoryTheory.Over.Hom.left c.fst) (CategoryTheory.Over.Hom.left c.snd) Y.hom Z.hom - CategoryTheory.IsPullback.mono_shortComplex'_f 📋 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₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.Mono ⋯.shortComplex'.f - CategoryTheory.IsPullback.isLimitKernelFork 📋 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₃] {fst : X₁ ⟶ X₂} {snd : X₁ ⟶ X₃} {f : X₂ ⟶ X₄} {g : X₃ ⟶ X₄} (h : CategoryTheory.IsPullback fst snd f g) : CategoryTheory.Limits.IsLimit ⋯.kernelFork - CategoryTheory.IsPullback.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.IsPullback s f g t) {X' Y' : C} (f' : X' ⟶ Y') [CategoryTheory.HasLiftingProperty f' g] : CategoryTheory.HasLiftingProperty f' f - AlgebraicGeometry.IsOpenImmersion.isPullback 📋 Mathlib.AlgebraicGeometry.OpenImmersion
{U V X Y : AlgebraicGeometry.Scheme} (g : U ⟶ V) (iU : U ⟶ X) (iV : V ⟶ Y) (f : X ⟶ Y) [AlgebraicGeometry.IsOpenImmersion iU] [AlgebraicGeometry.IsOpenImmersion iV] (H : CategoryTheory.CategoryStruct.comp iU f = CategoryTheory.CategoryStruct.comp g iV) (H' : (TopologicalSpace.Opens.map f.base).obj (AlgebraicGeometry.Scheme.Hom.opensRange iV) = AlgebraicGeometry.Scheme.Hom.opensRange iU) : CategoryTheory.IsPullback g iU iV f - AlgebraicGeometry.IsOpenImmersion.isPullback_lift_id 📋 Mathlib.AlgebraicGeometry.OpenImmersion
{X U Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (g : U ⟶ Y) [AlgebraicGeometry.IsOpenImmersion g] (H : Set.range ⇑f ⊆ Set.range ⇑g) : CategoryTheory.IsPullback (AlgebraicGeometry.IsOpenImmersion.lift g f H) (CategoryTheory.CategoryStruct.id X) g f - AlgebraicGeometry.IsOpenImmersion.image_preimage_eq_preimage_image_of_isPullback 📋 Mathlib.AlgebraicGeometry.OpenImmersion
{X Y U V : AlgebraicGeometry.Scheme} {f : X ⟶ Y} {f' : U ⟶ V} {iU : U ⟶ X} {iV : V ⟶ Y} [AlgebraicGeometry.IsOpenImmersion iV] [AlgebraicGeometry.IsOpenImmersion iU] (H : CategoryTheory.IsPullback f' iU iV f) (W : V.Opens) : (AlgebraicGeometry.Scheme.Hom.opensFunctor iU).obj ((TopologicalSpace.Opens.map f'.base).obj W) = (TopologicalSpace.Opens.map f.base).obj ((AlgebraicGeometry.Scheme.Hom.opensFunctor iV).obj W) - AlgebraicGeometry.Scheme.stalkMapIsoOfIsPullback 📋 Mathlib.AlgebraicGeometry.OpenImmersion
{P X Y Z : AlgebraicGeometry.Scheme} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) [AlgebraicGeometry.IsOpenImmersion g] (p : ↥P) (x : ↥X := fst p) (hx : fst p = x := by cat_disch) : CategoryTheory.Arrow.mk (AlgebraicGeometry.Scheme.Hom.stalkMap f x) ≅ CategoryTheory.Arrow.mk (AlgebraicGeometry.Scheme.Hom.stalkMap snd p) - AlgebraicGeometry.isPullback_opens_inf 📋 Mathlib.AlgebraicGeometry.Restrict
{X : AlgebraicGeometry.Scheme} (U V : X.Opens) : CategoryTheory.IsPullback (X.homOfLE ⋯) (X.homOfLE ⋯) U.ι V.ι - AlgebraicGeometry.isPullback_opens_inf_le 📋 Mathlib.AlgebraicGeometry.Restrict
{X : AlgebraicGeometry.Scheme} {U V W : X.Opens} (hU : U ≤ W) (hV : V ≤ W) : CategoryTheory.IsPullback (X.homOfLE ⋯) (X.homOfLE ⋯) (X.homOfLE hU) (X.homOfLE hV) - AlgebraicGeometry.isPullback_morphismRestrict 📋 Mathlib.AlgebraicGeometry.Restrict
{X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (U : Y.Opens) : CategoryTheory.IsPullback (f ∣_ U) ((TopologicalSpace.Opens.map f.base).obj U).ι U.ι f - AlgebraicGeometry.Scheme.Hom.isPullback_resLE 📋 Mathlib.AlgebraicGeometry.Restrict
{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.IsPullback (AlgebraicGeometry.Scheme.Hom.resLE g UX UY ⋯) (AlgebraicGeometry.Scheme.Hom.resLE iY UT UY ⋯) (AlgebraicGeometry.Scheme.Hom.resLE iX US UX hUSX) (AlgebraicGeometry.Scheme.Hom.resLE f US UT hUST) - CategoryTheory.Limits.isPullback_equalizer_prod 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} (f g : X ⟶ Y) [CategoryTheory.Limits.HasEqualizer f g] [CategoryTheory.Limits.HasBinaryProduct Y Y] : CategoryTheory.IsPullback (CategoryTheory.Limits.equalizer.ι f g) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.equalizer.ι f g) f) (CategoryTheory.Limits.prod.lift f g) (CategoryTheory.Limits.prod.lift (CategoryTheory.CategoryStruct.id Y) (CategoryTheory.CategoryStruct.id Y)) - CategoryTheory.MorphismProperty.IsLocalAtTarget.of_isPullback 📋 Mathlib.CategoryTheory.MorphismProperty.Local
{C : Type u} [CategoryTheory.Category.{v, u} C] {P : CategoryTheory.MorphismProperty C} {K : CategoryTheory.Precoverage C} [P.IsLocalAtTarget K] {X Y : C} {f : X ⟶ Y} (𝒰 : K.ZeroHypercover Y) {X' : C} (i : 𝒰.I₀) {fst : X' ⟶ X} {snd : X' ⟶ 𝒰.X i} (h : CategoryTheory.IsPullback fst snd f (𝒰.f i)) (hf : P f) : P snd - 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.isPullback_SpecMap_pushout 📋 Mathlib.AlgebraicGeometry.Pullbacks
{A B C : CommRingCat} (f : A ⟶ B) (g : A ⟶ C) : CategoryTheory.IsPullback (AlgebraicGeometry.Spec.map (CategoryTheory.Limits.pushout.inl f g)) (AlgebraicGeometry.Spec.map (CategoryTheory.Limits.pushout.inr f g)) (AlgebraicGeometry.Spec.map f) (AlgebraicGeometry.Spec.map g) - AlgebraicGeometry.Scheme.isPullback_of_openCover 📋 Mathlib.AlgebraicGeometry.Pullbacks
{X Y Z W : AlgebraicGeometry.Scheme} (fWX : W ⟶ X) (fWY : W ⟶ Y) (fXZ : X ⟶ Z) (fYZ : Y ⟶ Z) (𝒰 : X.OpenCover) (H : ∀ (i : 𝒰.toPreZeroHypercover.1), CategoryTheory.IsPullback (AlgebraicGeometry.Scheme.Cover.pullbackHom 𝒰 fWX i) (CategoryTheory.CategoryStruct.comp ((CategoryTheory.Precoverage.ZeroHypercover.pullback₁ fWX 𝒰).f i) fWY) (CategoryTheory.CategoryStruct.comp (𝒰.f i) fXZ) fYZ) : CategoryTheory.IsPullback fWX fWY fXZ fYZ - AlgebraicGeometry.isPullback_inl_inl_coprodMap 📋 Mathlib.AlgebraicGeometry.Limits
{X Y X' Y' : AlgebraicGeometry.Scheme} (f : X ⟶ X') (g : Y ⟶ Y') : CategoryTheory.IsPullback f CategoryTheory.Limits.coprod.inl CategoryTheory.Limits.coprod.inl (CategoryTheory.Limits.coprod.map f g) - AlgebraicGeometry.isPullback_inr_inr_coprodMap 📋 Mathlib.AlgebraicGeometry.Limits
{X Y X' Y' : AlgebraicGeometry.Scheme} (f : X ⟶ X') (g : Y ⟶ Y') : CategoryTheory.IsPullback g CategoryTheory.Limits.coprod.inr CategoryTheory.Limits.coprod.inr (CategoryTheory.Limits.coprod.map f g) - AlgebraicGeometry.of_targetAffineLocally_of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.Basic
{P : AlgebraicGeometry.AffineTargetMorphismProperty} [P.IsLocal] {X Y UX UY : AlgebraicGeometry.Scheme} [AlgebraicGeometry.IsAffine UY] {f : X ⟶ Y} {iY : UY ⟶ Y} [AlgebraicGeometry.IsOpenImmersion iY] {iX : UX ⟶ X} {f' : UX ⟶ UY} (h : CategoryTheory.IsPullback iX f' f iY) (hf : AlgebraicGeometry.targetAffineLocally P f) : P f' - AlgebraicGeometry.IsZariskiLocalAtTarget.of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.Basic
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} [AlgebraicGeometry.IsZariskiLocalAtTarget P] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} {UX UY : AlgebraicGeometry.Scheme} {iY : UY ⟶ Y} [AlgebraicGeometry.IsOpenImmersion iY] {iX : UX ⟶ X} {f' : UX ⟶ UY} (h : CategoryTheory.IsPullback iX f' f iY) (H : P f) : P f' - AlgebraicGeometry.HasAffineProperty.of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.Basic
{P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme} {Q : AlgebraicGeometry.AffineTargetMorphismProperty} [AlgebraicGeometry.HasAffineProperty P Q] {X Y : AlgebraicGeometry.Scheme} {f : X ⟶ Y} {UX UY : AlgebraicGeometry.Scheme} [AlgebraicGeometry.IsAffine UY] {iY : UY ⟶ Y} [AlgebraicGeometry.IsOpenImmersion iY] {iX : UX ⟶ X} {f' : UX ⟶ UY} (h : CategoryTheory.IsPullback iX f' f iY) (hf : P f) : Q f' - AlgebraicGeometry.HasAffineProperty.diagonal_of_diagonal_of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.Constructors
(P : CategoryTheory.MorphismProperty AlgebraicGeometry.Scheme) {Q : AlgebraicGeometry.AffineTargetMorphismProperty} [AlgebraicGeometry.HasAffineProperty P Q] {X Y U V : AlgebraicGeometry.Scheme} {f : X ⟶ Y} {g : U ⟶ Y} [AlgebraicGeometry.IsAffine U] [AlgebraicGeometry.IsOpenImmersion g] {iV : V ⟶ X} {f' : V ⟶ U} (h : CategoryTheory.IsPullback iV f' f g) (H : P.diagonal f) : Q.diagonal f' - AlgebraicGeometry.Scheme.ker_ideal_of_isPullback_of_isOpenImmersion 📋 Mathlib.AlgebraicGeometry.IdealSheaf.Basic
{X Y U V : AlgebraicGeometry.Scheme} (f : X ⟶ Y) (f' : U ⟶ V) (iU : U ⟶ X) (iV : V ⟶ Y) [AlgebraicGeometry.IsOpenImmersion iV] [AlgebraicGeometry.QuasiCompact f] (H : CategoryTheory.IsPullback f' iU iV f) (W : ↑V.affineOpens) : (AlgebraicGeometry.Scheme.Hom.ker f').ideal W = Ideal.comap (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appIso iV ↑W).inv) ((AlgebraicGeometry.Scheme.Hom.ker f).ideal ⟨(AlgebraicGeometry.Scheme.Hom.opensFunctor iV).obj ↑W, ⋯⟩) - AlgebraicGeometry.Scheme.exists_preimage_of_isPullback 📋 Mathlib.AlgebraicGeometry.PullbackCarrier
{P X Y Z : AlgebraicGeometry.Scheme} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) (x : ↥X) (y : ↥Y) (hxy : f x = g y) : ∃ p, fst p = x ∧ snd p = y - AlgebraicGeometry.Scheme.image_preimage_eq_of_isPullback 📋 Mathlib.AlgebraicGeometry.PullbackCarrier
{P X Y Z : AlgebraicGeometry.Scheme} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) (s : Set ↥X) : ⇑snd '' ⇑fst ⁻¹' s = ⇑g ⁻¹' ⇑f '' s - AlgebraicGeometry.Scheme.Pullback.Triplet.isPullback_SpecMap_tensor 📋 Mathlib.AlgebraicGeometry.PullbackCarrier
{X Y S : AlgebraicGeometry.Scheme} {f : X ⟶ S} {g : Y ⟶ S} (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) : CategoryTheory.IsPullback (AlgebraicGeometry.Spec.map T.tensorInl) (AlgebraicGeometry.Spec.map T.tensorInr) (AlgebraicGeometry.Spec.map (CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.residueFieldCongr ⋯).inv (AlgebraicGeometry.Scheme.Hom.residueFieldMap f T.x))) (AlgebraicGeometry.Spec.map (CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.residueFieldCongr ⋯).inv (AlgebraicGeometry.Scheme.Hom.residueFieldMap g T.y))) - AlgebraicGeometry.IsAffine.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.IsAffineHom g] (h : CategoryTheory.IsPullback fst snd f g) : AlgebraicGeometry.IsAffine P - 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.isPullback_of_isClosedImmersion 📋 Mathlib.AlgebraicGeometry.IdealSheaf.Functorial
{ZX ZY X Y : AlgebraicGeometry.Scheme} (iX : ZX ⟶ X) (iY : ZY ⟶ Y) (Zf : ZX ⟶ ZY) (f : X ⟶ Y) [AlgebraicGeometry.IsClosedImmersion iX] [AlgebraicGeometry.IsClosedImmersion iY] (h : CategoryTheory.CategoryStruct.comp iX f = CategoryTheory.CategoryStruct.comp Zf iY) (h' : (AlgebraicGeometry.Scheme.Hom.ker iY).comap f = AlgebraicGeometry.Scheme.Hom.ker iX) : CategoryTheory.IsPullback iX Zf f iY - AlgebraicGeometry.IsImmersion.isPullback_toImage_liftCoborder 📋 Mathlib.AlgebraicGeometry.Morphisms.Immersion
{X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [AlgebraicGeometry.IsImmersion f] [AlgebraicGeometry.QuasiCompact f] : CategoryTheory.IsPullback (AlgebraicGeometry.Scheme.Hom.toImage f) (AlgebraicGeometry.Scheme.Hom.liftCoborder f) (AlgebraicGeometry.Scheme.Hom.imageι f) (AlgebraicGeometry.Scheme.Hom.coborderRange f).ι - AlgebraicGeometry.isPullback_fiberToSpecResidueField_of_isPullback 📋 Mathlib.AlgebraicGeometry.Fiber
{P X Y Z : AlgebraicGeometry.Scheme} {fst : P ⟶ X} {snd : P ⟶ Y} {f : X ⟶ Z} {g : Y ⟶ Z} (h : CategoryTheory.IsPullback fst snd f g) (y : ↥Y) : CategoryTheory.IsPullback (CategoryTheory.Limits.pullback.map snd (Y.fromSpecResidueField y) f (Z.fromSpecResidueField (g y)) fst (AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.Hom.residueFieldMap g y)) g ⋯ ⋯) (AlgebraicGeometry.Scheme.Hom.fiberToSpecResidueField snd y) (AlgebraicGeometry.Scheme.Hom.fiberToSpecResidueField f (g y)) (AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.Hom.residueFieldMap g y)) - AlgebraicGeometry.geometrically_iff_of_commRing 📋 Mathlib.AlgebraicGeometry.Geometrically.Basic
{X : AlgebraicGeometry.Scheme} {P : CategoryTheory.ObjectProperty AlgebraicGeometry.Scheme} {R : Type u} [CommRing R] {f : X ⟶ AlgebraicGeometry.Spec (CommRingCat.of R)} : AlgebraicGeometry.geometrically P f ↔ ∀ ⦃K : Type u⦄ [inst : Field K] [inst_1 : Algebra R K] ⦃Y : AlgebraicGeometry.Scheme⦄ (fst : Y ⟶ X) (snd : Y ⟶ AlgebraicGeometry.Spec (CommRingCat.of K)), CategoryTheory.IsPullback fst snd f (AlgebraicGeometry.Spec.map (CommRingCat.ofHom (algebraMap R K))) → P Y - AlgebraicGeometry.pushoutSection 📋 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.Limits.pushout (AlgebraicGeometry.Scheme.Hom.appLE iX US UX hUSX) (AlgebraicGeometry.Scheme.Hom.appLE f US UT hUST) ⟶ Y.presheaf.obj (Opposite.op UY) - AlgebraicGeometry.isIso_pushoutSection_of_isAffineOpen 📋 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) (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : AlgebraicGeometry.IsAffineOpen UT) (hUX : AlgebraicGeometry.IsAffineOpen UX) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.mono_pushoutSection_of_isCompact_of_flat_left 📋 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) [AlgebraicGeometry.Flat iX] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUX : AlgebraicGeometry.IsAffineOpen UX) (hUT : IsCompact ↑UT) : CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.mono_pushoutSection_of_isCompact_of_flat_right 📋 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) [AlgebraicGeometry.Flat f] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : AlgebraicGeometry.IsAffineOpen UT) (hUX : IsCompact ↑UX) : CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.isIso_pushoutSection_of_isQuasiSeparated_of_flat_left 📋 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) [AlgebraicGeometry.Flat iX] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUX : AlgebraicGeometry.IsAffineOpen UX) (hUT : IsCompact ↑UT) (hUT' : IsQuasiSeparated ↑UT) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.isIso_pushoutSection_of_isQuasiSeparated_of_flat_right 📋 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) [AlgebraicGeometry.Flat f] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : AlgebraicGeometry.IsAffineOpen UT) (hUX : IsCompact ↑UX) (hUX' : IsQuasiSeparated ↑UX) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - 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 ⋯) - AlgebraicGeometry.mono_pushoutSection_of_isCompact_of_flat_left_of_ringHomFlat 📋 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) [AlgebraicGeometry.Flat iX] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : IsCompact ↑UT) (hUX : IsCompact ↑UX) (hf : (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appLE f US UT hUST)).Flat) : CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.mono_pushoutSection_of_isCompact_of_flat_right_of_ringHomFlat 📋 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) [AlgebraicGeometry.Flat f] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : IsCompact ↑UT) (hUX : IsCompact ↑UX) (hiX : (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appLE iX US UX hUSX)).Flat) : CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.isIso_pushoutSection_of_isCompact_of_flat_right_of_ringHomFlat 📋 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) [AlgebraicGeometry.Flat f] (hUS : AlgebraicGeometry.IsAffineOpen US) (hUT : IsCompact ↑UT) (hUT' : IsQuasiSeparated ↑UT) (hUX : IsCompact ↑UX) (hUX' : IsQuasiSeparated ↑UX) (hiX : (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appLE iX US UX hUSX)).Flat) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.mono_pushoutSection_of_iSup_eq 📋 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) {ι : Type u_1} [Finite ι] (VX : ι → X.Opens) (hVU : iSup VX = UX) (hV : ∀ (i : ι), CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST ⋯ ⋯)) (hT : (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appLE f US UT hUST)).Flat) : CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.isIso_pushoutSection_of_iSup_eq 📋 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) {ι : Type u} [Finite ι] (VX : ι → X.Opens) (hVU : iSup VX = UX) (hV : ∀ (i : ι), CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST ⋯ ⋯)) (hV' : ∀ (i j : ι), CategoryTheory.Mono (AlgebraicGeometry.pushoutSection H hUST ⋯ ⋯)) (hT : (CommRingCat.Hom.hom (AlgebraicGeometry.Scheme.Hom.appLE f US UT hUST)).Flat) : CategoryTheory.IsIso (AlgebraicGeometry.pushoutSection H hUST hUSX hUY) - AlgebraicGeometry.IsSchemeTheoreticallyDominant.of_isPullback 📋 Mathlib.AlgebraicGeometry.Morphisms.SchemeTheoreticallyDominant
{X Y Z S : AlgebraicGeometry.Scheme} {f : X ⟶ S} {g : Y ⟶ S} {pX : Z ⟶ X} {pY : Z ⟶ Y} (H : CategoryTheory.IsPullback pX pY f g) [AlgebraicGeometry.IsSchemeTheoreticallyDominant f] [AlgebraicGeometry.QuasiCompact f] [AlgebraicGeometry.Flat g] : AlgebraicGeometry.IsSchemeTheoreticallyDominant pY - AlgebraicGeometry.AffineSpace.isPullback_map 📋 Mathlib.AlgebraicGeometry.AffineSpace
{n : Type u} {S T : AlgebraicGeometry.Scheme} (f : S ⟶ T) : CategoryTheory.IsPullback (AlgebraicGeometry.AffineSpace.map n f) (AlgebraicGeometry.AffineSpace n S ↘ S) (AlgebraicGeometry.AffineSpace n T ↘ T) f - AlgebraicGeometry.Scheme.isPullback_toSpecΓ_toSpecΓ 📋 Mathlib.AlgebraicGeometry.QuasiAffine
{X Y : AlgebraicGeometry.Scheme} (f : X ⟶ Y) [AlgebraicGeometry.IsAffineHom f] [Y.IsQuasiAffine] : CategoryTheory.IsPullback f X.toSpecΓ Y.toSpecΓ (AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.Hom.appTop f))
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