Loogle!
Result
Found 95 declarations mentioning CategoryTheory.Limits.PullbackCone.snd.
- CategoryTheory.Limits.PullbackCone.snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t.pt ⟶ Y - CategoryTheory.Limits.PullbackCone.flip_fst 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t.flip.fst = t.snd - CategoryTheory.Limits.PullbackCone.flip_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t.flip.snd = t.fst - CategoryTheory.Limits.PullbackCone.eta 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t ≅ CategoryTheory.Limits.PullbackCone.mk t.fst t.snd ⋯ - CategoryTheory.CommSq.cone_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W X Y Z : C} {f : W ⟶ X} {g : W ⟶ Y} {h : X ⟶ Z} {i : Y ⟶ Z} (s : CategoryTheory.CommSq f g h i) : s.cone.snd = g - CategoryTheory.Limits.PullbackCone.mkSelfIsLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk t.fst t.snd ⋯) - CategoryTheory.Limits.PullbackCone.condition 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.CategoryStruct.comp t.fst f = CategoryTheory.CategoryStruct.comp t.snd g - CategoryTheory.Limits.PullbackCone.mk_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {W : C} (fst : W ⟶ X) (snd : W ⟶ Y) (eq : CategoryTheory.CategoryStruct.comp fst f = CategoryTheory.CategoryStruct.comp snd g) : (CategoryTheory.Limits.PullbackCone.mk fst snd eq).snd = snd - CategoryTheory.Limits.PullbackCone.condition_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) {Z✝ : C} (h : Z ⟶ Z✝) : CategoryTheory.CategoryStruct.comp t.fst (CategoryTheory.CategoryStruct.comp f h) = CategoryTheory.CategoryStruct.comp t.snd (CategoryTheory.CategoryStruct.comp g h) - CategoryTheory.Limits.PullbackCone.IsLimit.lift_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PullbackCone.IsLimit.lift ht h k w) t.snd = k - CategoryTheory.Limits.PullbackCone.π_app_right 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.π.app CategoryTheory.Limits.WalkingCospan.right = c.snd - CategoryTheory.Limits.PullbackCone.IsLimit.lift_snd_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) {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 (CategoryTheory.Limits.PullbackCone.IsLimit.lift ht h k w) (CategoryTheory.CategoryStruct.comp t.snd h✝) = CategoryTheory.CategoryStruct.comp k h✝ - CategoryTheory.Limits.PullbackCone.IsLimit.lift' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : { l // CategoryTheory.CategoryStruct.comp l t.fst = h ∧ CategoryTheory.CategoryStruct.comp l t.snd = k } - CategoryTheory.Limits.PullbackCone.IsLimit.hom_ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) {W : C} {k l : W ⟶ t.pt} (h₀ : CategoryTheory.CategoryStruct.comp k t.fst = CategoryTheory.CategoryStruct.comp l t.fst) (h₁ : CategoryTheory.CategoryStruct.comp k t.snd = CategoryTheory.CategoryStruct.comp l t.snd) : k = l - CategoryTheory.Limits.PullbackCone.eta_hom_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t.eta.hom.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.PullbackCone.eta_inv_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) : t.eta.inv.hom = CategoryTheory.CategoryStruct.id t.pt - CategoryTheory.Limits.PullbackCone.ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {s t : CategoryTheory.Limits.PullbackCone f g} (i : s.pt ≅ t.pt) (w₁ : s.fst = CategoryTheory.CategoryStruct.comp i.hom t.fst := by cat_disch) (w₂ : s.snd = CategoryTheory.CategoryStruct.comp i.hom t.snd := by cat_disch) : s ≅ t - CategoryTheory.Limits.PullbackCone.IsLimit.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {W : C} {fst : W ⟶ X} {snd : W ⟶ Y} (eq : CategoryTheory.CategoryStruct.comp fst f = CategoryTheory.CategoryStruct.comp snd g) (lift : (s : CategoryTheory.Limits.PullbackCone f g) → s.pt ⟶ W) (fac_left : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) fst = s.fst) (fac_right : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) snd = s.snd) (uniq : ∀ (s : CategoryTheory.Limits.PullbackCone f g) (m : s.pt ⟶ W), CategoryTheory.CategoryStruct.comp m fst = s.fst → CategoryTheory.CategoryStruct.comp m snd = s.snd → m = lift s) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk fst snd eq) - CategoryTheory.Limits.PullbackCone.equalizer_ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) {W : C} {k l : W ⟶ t.pt} (h₀ : CategoryTheory.CategoryStruct.comp k t.fst = CategoryTheory.CategoryStruct.comp l t.fst) (h₁ : CategoryTheory.CategoryStruct.comp k t.snd = CategoryTheory.CategoryStruct.comp l t.snd) (j : CategoryTheory.Limits.WalkingCospan) : CategoryTheory.CategoryStruct.comp k (t.π.app j) = CategoryTheory.CategoryStruct.comp l (t.π.app j) - CategoryTheory.Limits.PullbackCone.isLimitAux' 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) (create : (s : CategoryTheory.Limits.PullbackCone f g) → { l // CategoryTheory.CategoryStruct.comp l t.fst = s.fst ∧ CategoryTheory.CategoryStruct.comp l t.snd = s.snd ∧ ∀ {m : s.pt ⟶ t.pt}, CategoryTheory.CategoryStruct.comp m t.fst = s.fst → CategoryTheory.CategoryStruct.comp m t.snd = s.snd → m = l }) : CategoryTheory.Limits.IsLimit t - CategoryTheory.Limits.PullbackCone.isLimitAux 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.PullbackCone
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) (lift : (s : CategoryTheory.Limits.PullbackCone f g) → s.pt ⟶ t.pt) (fac_left : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) t.fst = s.fst) (fac_right : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) t.snd = s.snd) (uniq : ∀ (s : CategoryTheory.Limits.PullbackCone f g) (m : s.pt ⟶ t.pt), (∀ (j : CategoryTheory.Limits.WalkingCospan), CategoryTheory.CategoryStruct.comp m (t.π.app j) = s.π.app j) → m = lift s) : CategoryTheory.Limits.IsLimit t - CategoryTheory.Limits.PullbackCone.snd_limit_cone 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.HasPullback
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Limits.HasLimit (CategoryTheory.Limits.cospan f g)] : CategoryTheory.Limits.PullbackCone.snd (CategoryTheory.Limits.limit.cone (CategoryTheory.Limits.cospan f g)) = CategoryTheory.Limits.pullback.snd f g - CategoryTheory.Limits.pullbackConeOfRightIso_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.IsIso g] : (CategoryTheory.Limits.pullbackConeOfRightIso f g).snd = CategoryTheory.CategoryStruct.comp f (CategoryTheory.inv g) - CategoryTheory.Limits.pullbackConeOfLeftIso_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Iso
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.IsIso f] : (CategoryTheory.Limits.pullbackConeOfLeftIso f g).snd = CategoryTheory.CategoryStruct.id (CategoryTheory.Limits.pullbackConeOfLeftIso f g).pt - CategoryTheory.Limits.PullbackCone.fst_eq_snd_of_mono_eq 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Mono f] (t : CategoryTheory.Limits.PullbackCone f f) : t.fst = t.snd - CategoryTheory.Limits.PullbackCone.isIso_snd_of_mono_of_isLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y : C} {f : X ⟶ Y} [CategoryTheory.Mono f] {t : CategoryTheory.Limits.PullbackCone f f} (ht : CategoryTheory.Limits.IsLimit t) : CategoryTheory.IsIso t.snd - CategoryTheory.Limits.PullbackCone.mono_snd_of_is_pullback_of_mono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsLimit t) [CategoryTheory.Mono f] : CategoryTheory.Mono t.snd - CategoryTheory.Limits.PullbackCone.isLimitOfCompMono 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ W) (g : Y ⟶ W) (i : W ⟶ Z) [CategoryTheory.Mono i] (s : CategoryTheory.Limits.PullbackCone f g) (H : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk s.fst s.snd ⋯) - CategoryTheory.Limits.PullbackCone.isLimitOfFactors 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Mono
{C : Type u} [CategoryTheory.Category.{v, u} C] {W X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) (h : W ⟶ Z) [CategoryTheory.Mono h] (x : X ⟶ W) (y : Y ⟶ W) (hxh : CategoryTheory.CategoryStruct.comp x h = f) (hyh : CategoryTheory.CategoryStruct.comp y h = g) (s : CategoryTheory.Limits.PullbackCone f g) (hs : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.PullbackCone.mk s.fst s.snd ⋯) - CategoryTheory.Limits.PullbackCone.op_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.op.inr = c.snd.op - CategoryTheory.Limits.PushoutCocone.op_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : C} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.op.snd = c.inr.op - CategoryTheory.Limits.PullbackCone.unop_inr 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Z} {g : Y ⟶ Z} (c : CategoryTheory.Limits.PullbackCone f g) : c.unop.inr = c.snd.unop - CategoryTheory.Limits.PushoutCocone.unop_snd 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X ⟶ Y} {g : X ⟶ Z} (c : CategoryTheory.Limits.PushoutCocone f g) : c.unop.snd = c.inr.unop - CategoryTheory.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.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.Limits.PullbackCone.pasteVert 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₂ ⟶ X₁} {f₂ : X₃ ⟶ X₂} {i₁ : Y₁ ⟶ X₁} (t₁ : CategoryTheory.Limits.PullbackCone i₁ f₁) {i₂ : t₁.pt ⟶ X₂} (t₂ : CategoryTheory.Limits.PullbackCone i₂ f₂) (hi₂ : i₂ = t₁.snd) : CategoryTheory.Limits.PullbackCone i₁ (CategoryTheory.CategoryStruct.comp f₂ f₁) - CategoryTheory.Limits.pasteVertIsPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₂ ⟶ X₁} {f₂ : X₃ ⟶ X₂} {i₁ : Y₁ ⟶ X₁} {t₁ : CategoryTheory.Limits.PullbackCone i₁ f₁} {i₂ : t₁.pt ⟶ X₂} {t₂ : CategoryTheory.Limits.PullbackCone i₂ f₂} (hi₂ : i₂ = t₁.snd) (H₁ : CategoryTheory.Limits.IsLimit t₁) (H₂ : CategoryTheory.Limits.IsLimit t₂) : CategoryTheory.Limits.IsLimit (t₁.pasteVert t₂ hi₂) - CategoryTheory.Limits.topSquareIsPullback 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₂ ⟶ X₁} {f₂ : X₃ ⟶ X₂} {i₁ : Y₁ ⟶ X₁} {t₁ : CategoryTheory.Limits.PullbackCone i₁ f₁} {i₂ : t₁.pt ⟶ X₂} (t₂ : CategoryTheory.Limits.PullbackCone i₂ f₂) (hi₂ : i₂ = t₁.snd) (H₁ : CategoryTheory.Limits.IsLimit t₁) (H₂ : CategoryTheory.Limits.IsLimit (t₁.pasteVert t₂ hi₂)) : CategoryTheory.Limits.IsLimit t₂ - CategoryTheory.Limits.pasteVertIsPullbackEquiv 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₂ ⟶ X₁} {f₂ : X₃ ⟶ X₂} {i₁ : Y₁ ⟶ X₁} {t₁ : CategoryTheory.Limits.PullbackCone i₁ f₁} {i₂ : t₁.pt ⟶ X₂} (t₂ : CategoryTheory.Limits.PullbackCone i₂ f₂) (hi₂ : i₂ = t₁.snd) (H : CategoryTheory.Limits.IsLimit t₁) : CategoryTheory.Limits.IsLimit (t₁.pasteVert t₂ hi₂) ≃ CategoryTheory.Limits.IsLimit t₂ - CategoryTheory.Limits.PullbackCone.pasteVertFlip 📋 Mathlib.CategoryTheory.Limits.Shapes.Pullback.Pasting
{C : Type u} [CategoryTheory.Category.{v, u} C] {X₁ X₂ X₃ Y₁ : C} {f₁ : X₂ ⟶ X₁} {f₂ : X₃ ⟶ X₂} {i₁ : Y₁ ⟶ X₁} (t₁ : CategoryTheory.Limits.PullbackCone i₁ f₁) {i₂ : t₁.pt ⟶ X₂} (t₂ : CategoryTheory.Limits.PullbackCone i₂ f₂) (hi₂ : i₂ = t₁.snd) : (t₁.pasteVert t₂ hi₂).flip ≅ t₁.flip.pasteHoriz t₂.flip hi₂ - CategoryTheory.isColimitCoforkOfEffectiveEpi 📋 Mathlib.CategoryTheory.Limits.Shapes.RegularMono
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {B X : C} (f : X ⟶ B) [CategoryTheory.EffectiveEpi f] (c : CategoryTheory.Limits.PullbackCone f f) (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofork.ofπ f ⋯) - CategoryTheory.Abelian.epi_snd_of_isLimit 📋 Mathlib.CategoryTheory.Abelian.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Limits.HasPullbacks C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Epi f] {s : CategoryTheory.Limits.PullbackCone f g} (hs : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Epi s.snd - CategoryTheory.Limits.PullbackCone.toPullbackObj_coe_snd 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X Y S : Type v} {f : X ⟶ S} {g : Y ⟶ S} (c : CategoryTheory.Limits.PullbackCone f g) (x : c.pt) : (↑(c.toPullbackObj x)).2 = (CategoryTheory.ConcreteCategory.hom c.snd) x - CategoryTheory.Limits.PullbackCone.IsLimit.equivPullbackObj_apply_snd 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X Y S : Type v} {f : X ⟶ S} {g : Y ⟶ S} {c : CategoryTheory.Limits.PullbackCone f g} (hc : CategoryTheory.Limits.IsLimit c) (x : c.pt) : (↑((CategoryTheory.Limits.PullbackCone.IsLimit.equivPullbackObj hc) x)).2 = (CategoryTheory.ConcreteCategory.hom c.snd) x - CategoryTheory.Limits.PullbackCone.IsLimit.equivPullbackObj_symm_apply_snd 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X Y S : Type v} {f : X ⟶ S} {g : Y ⟶ S} {c : CategoryTheory.Limits.PullbackCone f g} (hc : CategoryTheory.Limits.IsLimit c) (x : CategoryTheory.Limits.Types.PullbackObj f g) : (CategoryTheory.ConcreteCategory.hom c.snd) ((CategoryTheory.Limits.PullbackCone.IsLimit.equivPullbackObj hc).symm x) = (↑x).2 - CategoryTheory.Limits.Types.pullbackLimitCone_isLimit 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X Y Z : Type u} (f : X ⟶ Z) (g : Y ⟶ Z) : (CategoryTheory.Limits.Types.pullbackLimitCone f g).isLimit = (CategoryTheory.Limits.Types.pullbackCone f g).isLimitAux (fun s => TypeCat.ofHom fun x => ⟨((CategoryTheory.ConcreteCategory.hom s.fst) x, (CategoryTheory.ConcreteCategory.hom s.snd) x), ⋯⟩) ⋯ ⋯ ⋯ - CategoryTheory.Limits.PullbackCone.IsLimit.type_ext 📋 Mathlib.CategoryTheory.Limits.Types.Pullbacks
{X Y S : Type v} {f : X ⟶ S} {g : Y ⟶ S} {c : CategoryTheory.Limits.PullbackCone f g} (hc : CategoryTheory.Limits.IsLimit c) {x y : c.pt} (h₁ : (CategoryTheory.ConcreteCategory.hom c.fst) x = (CategoryTheory.ConcreteCategory.hom c.fst) y) (h₂ : (CategoryTheory.ConcreteCategory.hom c.snd) x = (CategoryTheory.ConcreteCategory.hom c.snd) y) : x = y - CategoryTheory.Equalizer.Presieve.isSheafFor_singleton_iff 📋 Mathlib.CategoryTheory.Sites.EqualizerSheafCondition
{C : Type u} [CategoryTheory.Category.{v, u} C] {F : CategoryTheory.Functor Cᵒᵖ (Type u_1)} {X Y : C} {f : X ⟶ Y} (c : CategoryTheory.Limits.PullbackCone f f) (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.singleton f) ↔ Nonempty (CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofι (F.map f.op) ⋯)) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_of_pullbackCone_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) (s : (i : ι) → CategoryTheory.Limits.PullbackCone v (f i)) (hs : (i : ι) → CategoryTheory.Limits.IsLimit (s i)) (t : CategoryTheory.Limits.PullbackCone v u) (ht : CategoryTheory.Limits.IsLimit t) (d : CategoryTheory.Limits.Cofan fun i => (s i).pt) (e : d.pt ≅ t.pt) (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 t.fst) = (s i).fst := by cat_disch) (he₂ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom t.snd) = CategoryTheory.CategoryStruct.comp (s i).snd (a.inj i) := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_of_pullbackCone_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) (s : (i : ι) → CategoryTheory.Limits.PullbackCone (f i) v) (hs : (i : ι) → CategoryTheory.Limits.IsLimit (s i)) (t : CategoryTheory.Limits.PullbackCone u v) (ht : CategoryTheory.Limits.IsLimit t) (d : CategoryTheory.Limits.Cofan fun i => (s i).pt) (e : d.pt ≅ t.pt) (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 t.fst) = CategoryTheory.CategoryStruct.comp (s i).fst (a.inj i) := by cat_disch) (he₂ : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp e.hom t.snd) = (s i).snd := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - CategoryTheory.IsUniversalColimit.nonempty_isColimit_prod_of_pullbackCone 📋 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] (s : (i : ι) → (j : ι') → CategoryTheory.Limits.PullbackCone (f i) (g j)) (hs : (i : ι) → (j : ι') → CategoryTheory.Limits.IsLimit (s i j)) (t : CategoryTheory.Limits.PullbackCone u v) (ht : CategoryTheory.Limits.IsLimit t) {d : CategoryTheory.Limits.Cofan fun p => (s p.1 p.2).pt} (e : d.pt ≅ t.pt) (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 t.fst) = CategoryTheory.CategoryStruct.comp (s (i, j).1 (i, j).2).fst (a.inj (i, j).1) := by cat_disch) (he₂ : ∀ (i : ι) (j : ι'), CategoryTheory.CategoryStruct.comp (d.inj (i, j)) (CategoryTheory.CategoryStruct.comp e.hom t.snd) = CategoryTheory.CategoryStruct.comp (s (i, j).1 (i, j).2).snd (b.inj (i, j).2) := by cat_disch) : Nonempty (CategoryTheory.Limits.IsColimit d) - TopCat.Sheaf.interUnionPullbackCone_snd 📋 Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : TopCat} (F : TopCat.Sheaf C X) (U V : TopologicalSpace.Opens ↑X) : (F.interUnionPullbackCone U V).snd = F.obj.map (CategoryTheory.homOfLE ⋯).op - TopCat.Sheaf.interUnionPullbackConeLift_right 📋 Mathlib.Topology.Sheaves.SheafCondition.PairwiseIntersections
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : TopCat} (F : TopCat.Sheaf C X) (U V : TopologicalSpace.Opens ↑X) (s : CategoryTheory.Limits.PullbackCone (F.obj.map (CategoryTheory.homOfLE ⋯).op) (F.obj.map (CategoryTheory.homOfLE ⋯).op)) : CategoryTheory.CategoryStruct.comp (F.interUnionPullbackConeLift U V s) (F.obj.map (CategoryTheory.homOfLE ⋯).op) = s.snd - CategoryTheory.Limits.pullbackConeEquivBinaryFan_functor_obj 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : Y ⟶ X} {g : Z ⟶ X} (c : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.Limits.pullbackConeEquivBinaryFan.functor.obj c = CategoryTheory.Limits.BinaryFan.mk (CategoryTheory.Over.homMk c.fst ⋯) (CategoryTheory.Over.homMk c.snd ⋯) - CategoryTheory.Limits.pullbackConeEquivBinaryFan_functor_map_hom 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : Y ⟶ X} {g : Z ⟶ X} {c₁ c₂ : CategoryTheory.Limits.PullbackCone f g} (a : c₁ ⟶ c₂) : (CategoryTheory.Limits.pullbackConeEquivBinaryFan.functor.map a).hom = CategoryTheory.Over.homMk a.hom ⋯ - CategoryTheory.Limits.pullbackConeEquivBinaryFan_unitIso 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : Y ⟶ X} {g : Z ⟶ X} : CategoryTheory.Limits.pullbackConeEquivBinaryFan.unitIso = CategoryTheory.NatIso.ofComponents (fun c => c.eta) ⋯ - CategoryTheory.Limits.pullbackConeEquivBinaryFan_counitIso 📋 Mathlib.CategoryTheory.Limits.Constructions.Over.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : C} {f : Y ⟶ X} {g : Z ⟶ X} : CategoryTheory.Limits.pullbackConeEquivBinaryFan.counitIso = CategoryTheory.NatIso.ofComponents (fun X_1 => CategoryTheory.Limits.BinaryFan.ext (CategoryTheory.Over.isoMk (CategoryTheory.Iso.refl (({ obj := fun c => CategoryTheory.Limits.PullbackCone.mk (CategoryTheory.Over.Hom.left c.fst) (CategoryTheory.Over.Hom.left c.snd) ⋯, map := fun {c₁ c₂} a => { hom := CategoryTheory.Over.Hom.left a.hom, w := ⋯ }, map_id := ⋯, map_comp := ⋯ }.comp { obj := fun c => CategoryTheory.Limits.BinaryFan.mk (CategoryTheory.Over.homMk c.fst ⋯) (CategoryTheory.Over.homMk c.snd ⋯), map := fun {c₁ c₂} a => { hom := CategoryTheory.Over.homMk a.hom ⋯, w := ⋯ }, map_id := ⋯, map_comp := ⋯ }).obj X_1).pt.left) ⋯) ⋯ ⋯) ⋯ - AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion.instSndPullbackConeOfLeft 📋 Mathlib.Geometry.RingedSpace.OpenImmersion
{X Y Z : AlgebraicGeometry.LocallyRingedSpace} (f : X ⟶ Z) (g : Y ⟶ Z) [H : AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion f] : AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion (AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion.pullbackConeOfLeft f g).snd - AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeSndIsOpenImmersion 📋 Mathlib.Geometry.RingedSpace.OpenImmersion
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeft f g).snd - AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift_snd 📋 Mathlib.Geometry.RingedSpace.OpenImmersion
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : AlgebraicGeometry.PresheafedSpace C} (f : X ⟶ Z) [hf : AlgebraicGeometry.PresheafedSpace.IsOpenImmersion f] (g : Y ⟶ Z) (s : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeftLift f g s) (AlgebraicGeometry.PresheafedSpace.IsOpenImmersion.pullbackConeOfLeft f g).snd = s.snd - AlgebraicGeometry.Scheme.Pullback.gluedLift_p2 📋 Mathlib.AlgebraicGeometry.Pullbacks
{X Y Z : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Z) (g : Y ⟶ Z) [∀ (i : 𝒰.I₀), CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g] (s : CategoryTheory.Limits.PullbackCone f g) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Pullback.gluedLift 𝒰 f g s) (AlgebraicGeometry.Scheme.Pullback.p2 𝒰 f g) = s.snd - AlgebraicGeometry.Scheme.Pullback.gluedLiftPullbackMap_fst 📋 Mathlib.AlgebraicGeometry.Pullbacks
{X Y Z : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Z) (g : Y ⟶ Z) [∀ (i : 𝒰.I₀), CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g] (s : CategoryTheory.Limits.PullbackCone f g) (i j : 𝒰.I₀) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Pullback.gluedLiftPullbackMap 𝒰 f g s i j) (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g) (𝒰.f i)) (𝒰.f j)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst ((CategoryTheory.Precoverage.ZeroHypercover.pullback₁ s.fst 𝒰).f i) ((CategoryTheory.Precoverage.ZeroHypercover.pullback₁ s.fst 𝒰).f j)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackSymmetry s.fst (𝒰.f i)).hom (CategoryTheory.Limits.pullback.map (𝒰.f i) s.fst (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g (CategoryTheory.CategoryStruct.id (𝒰.X i)) s.snd f ⋯ ⋯)) - AlgebraicGeometry.Scheme.Pullback.gluedLiftPullbackMap_fst_assoc 📋 Mathlib.AlgebraicGeometry.Pullbacks
{X Y Z : AlgebraicGeometry.Scheme} (𝒰 : X.OpenCover) (f : X ⟶ Z) (g : Y ⟶ Z) [∀ (i : 𝒰.I₀), CategoryTheory.Limits.HasPullback (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g] (s : CategoryTheory.Limits.PullbackCone f g) (i j : 𝒰.I₀) {Z✝ : AlgebraicGeometry.Scheme} (h : CategoryTheory.Limits.pullback (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (AlgebraicGeometry.Scheme.Pullback.gluedLiftPullbackMap 𝒰 f g s i j) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g) (𝒰.f i)) (𝒰.f j)) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst ((CategoryTheory.Precoverage.ZeroHypercover.pullback₁ s.fst 𝒰).f i) ((CategoryTheory.Precoverage.ZeroHypercover.pullback₁ s.fst 𝒰).f j)) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullbackSymmetry s.fst (𝒰.f i)).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.map (𝒰.f i) s.fst (CategoryTheory.CategoryStruct.comp (𝒰.f i) f) g (CategoryTheory.CategoryStruct.id (𝒰.X i)) s.snd f ⋯ ⋯) h)) - CategoryTheory.Functor.regularEpiOfPreserves_right 📋 Mathlib.CategoryTheory.EffectiveEpi.Preserves
{C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {X Y : C} (f : X ⟶ Y) [CategoryTheory.EffectiveEpi f] (F : CategoryTheory.Functor C D) [F.PreservesEffectiveEpis] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan F] (c : CategoryTheory.Limits.PullbackCone f f) (hc : CategoryTheory.Limits.IsLimit c) : (CategoryTheory.Functor.regularEpiOfPreserves f F c hc).right = F.map c.snd - CategoryTheory.Functor.regularEpiOfPreserves_isColimit 📋 Mathlib.CategoryTheory.EffectiveEpi.Preserves
{C : Type u_3} {D : Type u_4} [CategoryTheory.Category.{v_3, u_3} C] [CategoryTheory.Category.{v_4, u_4} D] {X Y : C} (f : X ⟶ Y) [CategoryTheory.EffectiveEpi f] (F : CategoryTheory.Functor C D) [F.PreservesEffectiveEpis] [CategoryTheory.Limits.PreservesLimitsOfShape CategoryTheory.Limits.WalkingCospan F] (c : CategoryTheory.Limits.PullbackCone f f) (hc : CategoryTheory.Limits.IsLimit c) : (CategoryTheory.Functor.regularEpiOfPreserves f F c hc).isColimit = CategoryTheory.isColimitCoforkOfEffectiveEpi (F.map f) (CategoryTheory.Limits.PullbackCone.mk (F.map c.fst) (F.map c.snd) ⋯) ((CategoryTheory.Limits.IsLimit.equivOfNatIsoOfIso (CategoryTheory.Limits.cospanIsoMk (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.one)) (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.left)) (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.right)) ⋯ ⋯) (F.mapCone c) (CategoryTheory.Limits.PullbackCone.mk (F.map c.fst) (F.map c.snd) ⋯) (CategoryTheory.Limits.Cone.ext (CategoryTheory.Iso.refl ((CategoryTheory.Limits.Cone.postcompose (CategoryTheory.Limits.cospanIsoMk (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.one)) (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.left)) (CategoryTheory.Iso.refl (((CategoryTheory.Limits.cospan f f).comp F).obj CategoryTheory.Limits.WalkingCospan.right)) ⋯ ⋯).hom).obj (F.mapCone c)).pt) ⋯)) (CategoryTheory.Limits.isLimitOfPreserves F hc)) - CategoryTheory.mono_iff_isIso_snd 📋 Mathlib.CategoryTheory.Limits.EpiMono
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} {f : X ⟶ Y} {c : CategoryTheory.Limits.PullbackCone f f} (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Mono f ↔ CategoryTheory.IsIso c.snd - CategoryTheory.mono_iff_fst_eq_snd 📋 Mathlib.CategoryTheory.Limits.EpiMono
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : C} {f : X ⟶ Y} {c : CategoryTheory.Limits.PullbackCone f f} (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Mono f ↔ c.fst = c.snd - CategoryTheory.Limits.PullbackCone.combine_π_app 📋 Mathlib.CategoryTheory.Limits.FunctorCategory.Shapes.Pullbacks
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F G H : CategoryTheory.Functor D C} (f : F ⟶ H) (g : G ⟶ H) (c : (X : D) → CategoryTheory.Limits.PullbackCone (f.app X) (g.app X)) (hc : (X : D) → CategoryTheory.Limits.IsLimit (c X)) (j : CategoryTheory.Limits.WalkingCospan) : (CategoryTheory.Limits.PullbackCone.combine f g c hc).π.app j = Option.rec (CategoryTheory.CategoryStruct.comp { app := fun X => (c X).fst, naturality := ⋯ } f) (fun val => CategoryTheory.Limits.WalkingPair.rec { app := fun X => (c X).fst, naturality := ⋯ } { app := fun X => (c X).snd, naturality := ⋯ } val) j - CategoryTheory.Span.SpanBicat.compPullbackCone_snd 📋 Mathlib.CategoryTheory.Bicategory.Span.Basic
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {Wₗ Wᵣ : CategoryTheory.MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : CategoryTheory.Span.SpanBicat C Wₗ Wᵣ} (S₁ : X ⟶ Y) (S₂ : Y ⟶ Z) : (CategoryTheory.Span.SpanBicat.compPullbackCone S₁ S₂).snd = CategoryTheory.Span.SpanBicat.πᵣ S₁ S₂ - CategoryTheory.EquivalenceRelation.transitivity₂ 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (self : CategoryTheory.EquivalenceRelation p₁ p₂) : CategoryTheory.CategoryStruct.comp self.t p₂ = CategoryTheory.CategoryStruct.comp self.c.snd p₂ - CategoryTheory.TransitiveRelation.transitivity₂ 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (self : CategoryTheory.TransitiveRelation p₁ p₂) : CategoryTheory.CategoryStruct.comp self.t p₂ = CategoryTheory.CategoryStruct.comp self.c.snd p₂ - CategoryTheory.TransitiveRelation.transitivity₂_assoc 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (self : CategoryTheory.TransitiveRelation p₁ p₂) {Z : C} (h : X ⟶ Z) : CategoryTheory.CategoryStruct.comp self.t (CategoryTheory.CategoryStruct.comp p₂ h) = CategoryTheory.CategoryStruct.comp self.c.snd (CategoryTheory.CategoryStruct.comp p₂ h) - CategoryTheory.TransitiveRelation.mk 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (toJointlyMono₂ : CategoryTheory.JointlyMono₂ p₁ p₂) (c : CategoryTheory.Limits.PullbackCone p₂ p₁) (isLimit : CategoryTheory.Limits.IsLimit c) (t : c.pt ⟶ R) (transitivity₁ : CategoryTheory.CategoryStruct.comp t p₁ = CategoryTheory.CategoryStruct.comp c.fst p₁ := by cat_disch) (transitivity₂ : CategoryTheory.CategoryStruct.comp t p₂ = CategoryTheory.CategoryStruct.comp c.snd p₂ := by cat_disch) : CategoryTheory.TransitiveRelation p₁ p₂ - CategoryTheory.EquivalenceRelation.mk 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (toReflexiveRelation : CategoryTheory.ReflexiveRelation p₁ p₂) (s : R ⟶ R) (symmetry₁ : CategoryTheory.CategoryStruct.comp s p₁ = p₂ := by cat_disch) (symmetry₂ : CategoryTheory.CategoryStruct.comp s p₂ = p₁ := by cat_disch) (c : CategoryTheory.Limits.PullbackCone p₂ p₁) (isLimit : CategoryTheory.Limits.IsLimit c) (t : c.pt ⟶ R) (transitivity₁ : CategoryTheory.CategoryStruct.comp t p₁ = CategoryTheory.CategoryStruct.comp c.fst p₁ := by cat_disch) (transitivity₂ : CategoryTheory.CategoryStruct.comp t p₂ = CategoryTheory.CategoryStruct.comp c.snd p₂ := by cat_disch) : CategoryTheory.EquivalenceRelation p₁ p₂ - CategoryTheory.TransitiveRelation.transitivity₂_apply 📋 Mathlib.CategoryTheory.EquivalenceRelation
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {R X : C} {p₁ p₂ : R ⟶ X} (self : CategoryTheory.TransitiveRelation p₁ p₂) {F : C → C → Type uF} {carrier : C → Type w} {instFunLike : (X Y : C) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier self.c.pt) : (CategoryTheory.ConcreteCategory.hom p₂) ((CategoryTheory.ConcreteCategory.hom self.t) x) = (CategoryTheory.ConcreteCategory.hom p₂) ((CategoryTheory.ConcreteCategory.hom self.c.snd) x) - CategoryTheory.Limits.FormalCoproduct.pullbackCone_snd_f 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : CategoryTheory.Limits.FormalCoproduct C} (f : X ⟶ Z) (g : Y ⟶ Z) (pb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.PullbackCone (CategoryTheory.CategoryStruct.comp (f.φ (↑i).1) (CategoryTheory.eqToHom ⋯)) (g.φ (↑i).2)) (i : (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).pt.I) : (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).snd.f i = (↑i).2 - CategoryTheory.Limits.FormalCoproduct.pullbackCone_condition 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : CategoryTheory.Limits.FormalCoproduct C} (f : X ⟶ Z) (g : Y ⟶ Z) (pb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.PullbackCone (CategoryTheory.CategoryStruct.comp (f.φ (↑i).1) (CategoryTheory.eqToHom ⋯)) (g.φ (↑i).2)) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).fst f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).snd g - CategoryTheory.Limits.FormalCoproduct.isPullback 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : CategoryTheory.Limits.FormalCoproduct C} (f : X ⟶ Z) (g : Y ⟶ Z) (pb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.PullbackCone (CategoryTheory.CategoryStruct.comp (f.φ (↑i).1) (CategoryTheory.eqToHom ⋯)) (g.φ (↑i).2)) (hpb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.IsLimit (pb i)) : CategoryTheory.IsPullback (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).fst (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).snd f g - CategoryTheory.Limits.FormalCoproduct.pullbackCone_snd_φ 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : CategoryTheory.Limits.FormalCoproduct C} (f : X ⟶ Z) (g : Y ⟶ Z) (pb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.PullbackCone (CategoryTheory.CategoryStruct.comp (f.φ (↑i).1) (CategoryTheory.eqToHom ⋯)) (g.φ (↑i).2)) (i : (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).pt.I) : (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).snd.φ i = (pb i).snd - CategoryTheory.Limits.FormalCoproduct.homPullbackEquiv_apply_coe 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {X Y Z : CategoryTheory.Limits.FormalCoproduct C} (f : X ⟶ Z) (g : Y ⟶ Z) (pb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.PullbackCone (CategoryTheory.CategoryStruct.comp (f.φ (↑i).1) (CategoryTheory.eqToHom ⋯)) (g.φ (↑i).2)) (hpb : (i : Function.Pullback f.f g.f) → CategoryTheory.Limits.IsLimit (pb i)) (T : CategoryTheory.Limits.FormalCoproduct C) (m : T ⟶ (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).pt) : ↑((CategoryTheory.Limits.FormalCoproduct.homPullbackEquiv f g pb hpb T) m) = (CategoryTheory.CategoryStruct.comp m (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).fst, CategoryTheory.CategoryStruct.comp m (CategoryTheory.Limits.FormalCoproduct.pullbackCone f g pb).snd) - CategoryTheory.Limits.weakLimit.pullbackConeSnd_cone_cospan 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} (f : X ⟶ Z) (g : Y ⟶ Z) [CategoryTheory.Limits.HasWeakLimit (CategoryTheory.Limits.cospan f g)] : CategoryTheory.Limits.PullbackCone.snd (CategoryTheory.Limits.weakLimit.cone (CategoryTheory.Limits.cospan f g)) = CategoryTheory.Limits.weakPullback.snd f g - CategoryTheory.Limits.PullbackCone.mkSelfIsWeakLimit 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsWeakLimit t) : CategoryTheory.Limits.IsWeakLimit (CategoryTheory.Limits.PullbackCone.mk t.fst t.snd ⋯) - CategoryTheory.Limits.PullbackCone.IsWeakLimit.lift_snd 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsWeakLimit t) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.PullbackCone.IsWeakLimit.lift ht h k w) t.snd = k - CategoryTheory.Limits.PullbackCone.IsWeakLimit.lift_snd_assoc 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsWeakLimit t) {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 (CategoryTheory.Limits.PullbackCone.IsWeakLimit.lift ht h k w) (CategoryTheory.CategoryStruct.comp t.snd h✝) = CategoryTheory.CategoryStruct.comp k h✝ - CategoryTheory.Limits.PullbackCone.IsWeakLimit.lift' 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {t : CategoryTheory.Limits.PullbackCone f g} (ht : CategoryTheory.Limits.IsWeakLimit t) {W : C} (h : W ⟶ X) (k : W ⟶ Y) (w : CategoryTheory.CategoryStruct.comp h f = CategoryTheory.CategoryStruct.comp k g) : { l // CategoryTheory.CategoryStruct.comp l t.fst = h ∧ CategoryTheory.CategoryStruct.comp l t.snd = k } - CategoryTheory.Limits.PullbackCone.IsWeakLimit.mk 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} {W : C} {fst : W ⟶ X} {snd : W ⟶ Y} (eq : CategoryTheory.CategoryStruct.comp fst f = CategoryTheory.CategoryStruct.comp snd g) (lift : (s : CategoryTheory.Limits.PullbackCone f g) → s.pt ⟶ W) (fac_left : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) fst = s.fst) (fac_right : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) snd = s.snd) : CategoryTheory.Limits.IsWeakLimit (CategoryTheory.Limits.PullbackCone.mk fst snd eq) - CategoryTheory.Limits.PullbackCone.isWeakLimitAux 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) (lift : (s : CategoryTheory.Limits.PullbackCone f g) → s.pt ⟶ t.pt) (fac_left : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) t.fst = s.fst) (fac_right : ∀ (s : CategoryTheory.Limits.PullbackCone f g), CategoryTheory.CategoryStruct.comp (lift s) t.snd = s.snd) : CategoryTheory.Limits.IsWeakLimit t - CategoryTheory.Limits.PullbackCone.isWeakLimitAux' 📋 Mathlib.CategoryTheory.Limits.WeakLimits.WeakPullbacks
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y Z : C} {f : X ⟶ Z} {g : Y ⟶ Z} (t : CategoryTheory.Limits.PullbackCone f g) (create : (s : CategoryTheory.Limits.PullbackCone f g) → { l // CategoryTheory.CategoryStruct.comp l t.fst = s.fst ∧ CategoryTheory.CategoryStruct.comp l t.snd = s.snd }) : CategoryTheory.Limits.IsWeakLimit t - CategoryTheory.ChosenPullbacksAlong.pullbackCone_snd 📋 Mathlib.CategoryTheory.LocallyCartesianClosed.ChosenPullbacksAlong
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {Y Z X : C} (f : Y ⟶ X) (g : Z ⟶ X) [CategoryTheory.ChosenPullbacksAlong g] : (CategoryTheory.ChosenPullbacksAlong.pullbackCone f g).snd = CategoryTheory.ChosenPullbacksAlong.snd f g - CategoryTheory.regularTopology.equalizerCondition_w 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (P : CategoryTheory.Functor Cᵒᵖ D) {X B : C} {π : X ⟶ B} (c : CategoryTheory.Limits.PullbackCone π π) : CategoryTheory.CategoryStruct.comp (P.map π.op) (P.map c.fst.op) = CategoryTheory.CategoryStruct.comp (P.map π.op) (P.map c.snd.op) - CategoryTheory.regularTopology.isLimit_forkOfι_equiv 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] (P : CategoryTheory.Functor Cᵒᵖ D) {X B : C} (π : X ⟶ B) (c : CategoryTheory.Limits.PullbackCone π π) (hc : CategoryTheory.Limits.IsLimit c) : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.Fork.ofι (P.map π.op) ⋯) ≃ CategoryTheory.Limits.IsLimit (P.mapCone (CategoryTheory.Sieve.ofArrows (fun x => X) fun x => π).arrows.cocone.op) - CategoryTheory.regularTopology.EqualizerCondition.bijective_mapToEqualizer_pullback' 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {P : CategoryTheory.Functor Cᵒᵖ (Type u_4)} (hP : CategoryTheory.regularTopology.EqualizerCondition P) {X B : C} {π : X ⟶ B} [CategoryTheory.EffectiveEpi π] (c : CategoryTheory.Limits.PullbackCone π π) (hc : CategoryTheory.Limits.IsLimit c) : Function.Bijective ⇑(CategoryTheory.ConcreteCategory.hom (CategoryTheory.regularTopology.mapToEqualizer P π c.fst c.snd ⋯)) - CategoryTheory.regularTopology.EqualizerCondition.mk' 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (P : CategoryTheory.Functor Cᵒᵖ (Type u_4)) (hP : ∀ (X B : C) (π : X ⟶ B) [CategoryTheory.EffectiveEpi π] (c : CategoryTheory.Limits.PullbackCone π π) (x : CategoryTheory.Limits.IsLimit c), Function.Bijective ⇑(CategoryTheory.ConcreteCategory.hom (CategoryTheory.regularTopology.mapToEqualizer P π c.fst c.snd ⋯))) : CategoryTheory.regularTopology.EqualizerCondition P - CategoryTheory.regularTopology.parallelPair_pullback_initial 📋 Mathlib.CategoryTheory.Sites.Coherent.RegularSheaves
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X B : C} (π : X ⟶ B) (c : CategoryTheory.Limits.PullbackCone π π) (hc : CategoryTheory.Limits.IsLimit c) : (CategoryTheory.Limits.parallelPair (CategoryTheory.ObjectProperty.homMk (CategoryTheory.Over.homMk c.fst ⋯)).op (CategoryTheory.ObjectProperty.homMk (CategoryTheory.Over.homMk c.snd ⋯)).op).Initial - CompHausLike.pullback.isLimit_lift 📋 Mathlib.Topology.Category.CompHausLike.Limits
{P : TopCat → Prop} {X Y B : CompHausLike P} (f : X ⟶ B) (g : Y ⟶ B) [CompHausLike.HasExplicitPullback f g] (s : CategoryTheory.Limits.PullbackCone f g) : (CompHausLike.pullback.isLimit f g).lift s = CompHausLike.pullback.lift f g s.fst s.snd ⋯
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