Loogle!
Result
Found 152 declarations mentioning CategoryTheory.Limits.Cofan.inj.
- CategoryTheory.Limits.Cofan.inj 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} (p : CategoryTheory.Limits.Cofan f) (j : β) : f j ⟶ p.pt - CategoryTheory.Limits.cofan_mk_inj 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} (P : C) (p : (b : β) → f b ⟶ P) : (CategoryTheory.Limits.Cofan.mk P p).inj = p - CategoryTheory.Limits.Cofan.isColimitOfIsIsoSigmaDesc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} [CategoryTheory.Limits.HasCoproduct f] (c : CategoryTheory.Limits.Cofan f) [hc : CategoryTheory.IsIso (CategoryTheory.Limits.Sigma.desc c.inj)] : CategoryTheory.Limits.IsColimit c - CategoryTheory.Limits.Cofan.nonempty_isColimit_iff_isIso_sigmaDesc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} [CategoryTheory.Limits.HasCoproduct f] (c : CategoryTheory.Limits.Cofan f) : Nonempty (CategoryTheory.Limits.IsColimit c) ↔ CategoryTheory.IsIso (CategoryTheory.Limits.Sigma.desc c.inj) - CategoryTheory.Limits.Cofan.IsColimit.fac 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {F : β → C} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) {A : C} (f : (i : β) → F i ⟶ A) (i : β) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.Limits.Cofan.IsColimit.desc hc f) = f i - CategoryTheory.Limits.Cofan.IsColimit.inj_desc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {X : β → C} {c : CategoryTheory.Limits.Cofan X} (d : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) (i : β) : CategoryTheory.CategoryStruct.comp (c.inj i) (hc.desc d) = d.inj i - CategoryTheory.Limits.Cofan.isColimitEquivOfEquiv 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {γ : Type w'} (ε : β ≃ γ) {f : γ → C} (c : CategoryTheory.Limits.Cofan f) : CategoryTheory.Limits.IsColimit c ≃ CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk c.pt fun i => c.inj (ε i)) - CategoryTheory.Limits.Cofan.IsColimit.fac_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {F : β → C} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) {A : C} (f : (i : β) → F i ⟶ A) (i : β) {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.IsColimit.desc hc f) h) = CategoryTheory.CategoryStruct.comp (f i) h - CategoryTheory.Limits.Cofan.isColimitMapCoconeEquiv 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (F : CategoryTheory.Functor C D) {ι : Type u_1} (X : ι → C) (c : CategoryTheory.Limits.Cofan X) : CategoryTheory.Limits.IsColimit (F.mapCocone c) ≃ CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk (F.obj c.pt) fun i => F.map (c.inj i)) - CategoryTheory.Limits.Cofan.IsColimit.hom_ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : Type u_1} {F : I → C} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) {A : C} (f g : c.pt ⟶ A) (h : ∀ (i : I), CategoryTheory.CategoryStruct.comp (c.inj i) f = CategoryTheory.CategoryStruct.comp (c.inj i) g) : f = g - CategoryTheory.Limits.Cofan.ext 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} {c₁ c₂ : CategoryTheory.Limits.Cofan f} (e : c₁.pt ≅ c₂.pt) (w : ∀ (b : β), CategoryTheory.CategoryStruct.comp (c₁.inj b) e.hom = c₂.inj b := by cat_disch) : c₁ ≅ c₂ - CategoryTheory.Limits.Cofan.IsColimit.inj_desc_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {X : β → C} {c : CategoryTheory.Limits.Cofan X} (d : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) (i : β) {Z : C} (h : d.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp (hc.desc d) h) = CategoryTheory.CategoryStruct.comp (d.inj i) h - CategoryTheory.Limits.Cofan.ext_hom_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} {c₁ c₂ : CategoryTheory.Limits.Cofan f} (e : c₁.pt ≅ c₂.pt) (w : ∀ (b : β), CategoryTheory.CategoryStruct.comp (c₁.inj b) e.hom = c₂.inj b := by cat_disch) : (CategoryTheory.Limits.Cofan.ext e w).hom.hom = e.hom - CategoryTheory.Limits.Cofan.ext_inv_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} {c₁ c₂ : CategoryTheory.Limits.Cofan f} (e : c₁.pt ≅ c₂.pt) (w : ∀ (b : β), CategoryTheory.CategoryStruct.comp (c₁.inj b) e.hom = c₂.inj b := by cat_disch) : (CategoryTheory.Limits.Cofan.ext e w).inv.hom = e.inv - CategoryTheory.Limits.Cofan.isColimitTrans 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{α : Type w₂} {C : Type u} [CategoryTheory.Category.{v, u} C] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) {β : α → Type u_1} {Y : (a : α) → β a → C} (π : (a : α) → (b : β a) → Y a b ⟶ X a) (hs : (a : α) → CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk (X a) (π a))) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk c.pt fun x => match x with | ⟨a, b⟩ => CategoryTheory.CategoryStruct.comp (π a b) (c.inj a)) - CategoryTheory.Limits.Cofan.IsColimit.prod 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {ι' : Type u_2} {X : ι → ι' → C} (c : (i : ι) → CategoryTheory.Limits.Cofan fun j => X i j) (hc : (i : ι) → CategoryTheory.Limits.IsColimit (c i)) (c' : CategoryTheory.Limits.Cofan fun i => (c i).pt) (hc' : CategoryTheory.Limits.IsColimit c') : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk c'.pt fun p => CategoryTheory.CategoryStruct.comp ((c p.1).inj p.2) (c'.inj p.1)) - CategoryTheory.Limits.mkCofanColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} (s : CategoryTheory.Limits.Cofan f) (desc : (t : CategoryTheory.Limits.Cofan f) → s.pt ⟶ t.pt) (fac : ∀ (t : CategoryTheory.Limits.Cofan f) (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) (desc t) = t.inj j := by cat_disch) (uniq : ∀ (t : CategoryTheory.Limits.Cofan f) (m : s.pt ⟶ t.pt), (∀ (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) m = t.inj j) → m = desc t := by cat_disch) : CategoryTheory.Limits.IsColimit s - CategoryTheory.Limits.Cofan.IsColimit.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} (s : CategoryTheory.Limits.Cofan f) (desc : (t : CategoryTheory.Limits.Cofan f) → s.pt ⟶ t.pt) (fac : ∀ (t : CategoryTheory.Limits.Cofan f) (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) (desc t) = t.inj j := by cat_disch) (uniq : ∀ (t : CategoryTheory.Limits.Cofan f) (m : s.pt ⟶ t.pt), (∀ (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) m = t.inj j) → m = desc t := by cat_disch) : CategoryTheory.Limits.IsColimit s - CategoryTheory.Limits.Cofan.IsColimit.mk_desc 📋 Mathlib.CategoryTheory.Limits.Shapes.Products
{β : Type w} {C : Type u} [CategoryTheory.Category.{v, u} C] {f : β → C} (s : CategoryTheory.Limits.Cofan f) (desc : (t : CategoryTheory.Limits.Cofan f) → s.pt ⟶ t.pt) (fac : ∀ (t : CategoryTheory.Limits.Cofan f) (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) (desc t) = t.inj j := by cat_disch) (uniq : ∀ (t : CategoryTheory.Limits.Cofan f) (m : s.pt ⟶ t.pt), (∀ (j : β), CategoryTheory.CategoryStruct.comp (s.inj j) m = t.inj j) → m = desc t := by cat_disch) (t : CategoryTheory.Limits.Cofan f) : (CategoryTheory.Limits.Cofan.IsColimit.mk s desc fac uniq).desc t = desc t - CategoryTheory.Limits.Bicone.toCocone_inj 📋 Mathlib.CategoryTheory.Limits.Shapes.Biproducts
{J : Type w} {C : Type uC} [CategoryTheory.Category.{uC', uC} C] [CategoryTheory.Limits.HasZeroMorphisms C] {F : J → C} (B : CategoryTheory.Limits.Bicone F) (j : J) : CategoryTheory.Limits.Cofan.inj B.toCocone j = B.ι j - CategoryTheory.Limits.opCoproductIsoProduct'_hom_comp_proj 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {α : Type u_1} {Z : α → C} {c : CategoryTheory.Limits.Cofan Z} {f : CategoryTheory.Limits.Fan fun x => Opposite.op (Z x)} (hc : CategoryTheory.Limits.IsColimit c) (hf : CategoryTheory.Limits.IsLimit f) (i : α) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.opCoproductIsoProduct' hc hf).hom (f.proj i) = (c.inj i).op - CategoryTheory.Limits.opCoproductIsoProduct'_inv_comp_inj 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {α : Type u_1} {Z : α → C} {c : CategoryTheory.Limits.Cofan Z} {f : CategoryTheory.Limits.Fan fun x => Opposite.op (Z x)} (hc : CategoryTheory.Limits.IsColimit c) (hf : CategoryTheory.Limits.IsLimit f) (b : α) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.opCoproductIsoProduct' hc hf).inv (c.inj b).op = f.proj b - CategoryTheory.Limits.proj_comp_opProductIsoCoproduct'_hom 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {α : Type u_1} {Z : α → C} {f : CategoryTheory.Limits.Fan Z} {c : CategoryTheory.Limits.Cofan fun x => Opposite.op (Z x)} (hf : CategoryTheory.Limits.IsLimit f) (hc : CategoryTheory.Limits.IsColimit c) (b : α) : CategoryTheory.CategoryStruct.comp (f.proj b).op (CategoryTheory.Limits.opProductIsoCoproduct' hf hc).hom = c.inj b - CategoryTheory.Limits.opCoproductIsoProduct'_hom_comp_proj_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Opposites.Products
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {α : Type u_1} {Z : α → C} {c : CategoryTheory.Limits.Cofan Z} {f : CategoryTheory.Limits.Fan fun x => Opposite.op (Z x)} (hc : CategoryTheory.Limits.IsColimit c) (hf : CategoryTheory.Limits.IsLimit f) (i : α) {Z✝ : Cᵒᵖ} (h : Opposite.op (Z i) ⟶ Z✝) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.opCoproductIsoProduct' hc hf).hom (CategoryTheory.CategoryStruct.comp (f.proj i) h) = CategoryTheory.CategoryStruct.comp (c.inj i).op h - CategoryTheory.Limits.Cofan.inj_injective_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Types.Coproducts
{C : Type u} {F : C → Type v} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) (i : C) : Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom (c.inj i)) - CategoryTheory.Limits.Cofan.inj_jointly_surjective_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Types.Coproducts
{C : Type u} {F : C → Type v} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) (x : c.pt) : ∃ i y, (CategoryTheory.ConcreteCategory.hom (c.inj i)) y = x - CategoryTheory.Limits.Cofan.cofanTypes_ι 📋 Mathlib.CategoryTheory.Limits.Types.Coproducts
{C : Type u} {F : C → Type v} (c : CategoryTheory.Limits.Cofan F) (x✝ : CategoryTheory.Discrete C) (a✝ : (CategoryTheory.Discrete.functor F).obj x✝) : c.cofanTypes.ι x✝ a✝ = (match (motive := (x : CategoryTheory.Discrete C) → (CategoryTheory.Discrete.functor F).obj x → c.pt) x✝ with | { as := j } => ⇑(CategoryTheory.ConcreteCategory.hom (c.inj j))) a✝ - CategoryTheory.Limits.Cofan.eq_of_inj_apply_eq_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Types.Coproducts
{C : Type u} {F : C → Type v} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) {i₁ i₂ : C} (y₁ : F i₁) (y₂ : F i₂) (h : (CategoryTheory.ConcreteCategory.hom (c.inj i₁)) y₁ = (CategoryTheory.ConcreteCategory.hom (c.inj i₂)) y₂) : i₁ = i₂ - CategoryTheory.Limits.Cofan.inj_apply_eq_iff_of_isColimit 📋 Mathlib.CategoryTheory.Limits.Types.Coproducts
{C : Type u} {F : C → Type v} {c : CategoryTheory.Limits.Cofan F} (hc : CategoryTheory.Limits.IsColimit c) {i j : C} (x : F i) (y : F j) : (CategoryTheory.ConcreteCategory.hom (c.inj i)) x = (CategoryTheory.ConcreteCategory.hom (c.inj j)) y ↔ ∃ (hij : i = j), y = cast ⋯ x - CategoryTheory.Limits.MultispanIndex.inj_fstSigmaMapOfIsColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} (I : CategoryTheory.Limits.MultispanIndex J C) {c : CategoryTheory.Limits.Cofan I.left} (d : CategoryTheory.Limits.Cofan I.right) (hc : CategoryTheory.Limits.IsColimit c) (i : J.L) : CategoryTheory.CategoryStruct.comp (c.inj i) (I.fstSigmaMapOfIsColimit d hc) = CategoryTheory.CategoryStruct.comp (I.fst i) (d.inj (J.fst i)) - CategoryTheory.Limits.MultispanIndex.inj_sndSigmaMapOfIsColimit 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} (I : CategoryTheory.Limits.MultispanIndex J C) {c : CategoryTheory.Limits.Cofan I.left} (d : CategoryTheory.Limits.Cofan I.right) (hc : CategoryTheory.Limits.IsColimit c) (i : J.L) : CategoryTheory.CategoryStruct.comp (c.inj i) (I.sndSigmaMapOfIsColimit d hc) = CategoryTheory.CategoryStruct.comp (I.snd i) (d.inj (J.snd i)) - CategoryTheory.Limits.MultispanIndex.inj_fstSigmaMapOfIsColimit_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} (I : CategoryTheory.Limits.MultispanIndex J C) {c : CategoryTheory.Limits.Cofan I.left} (d : CategoryTheory.Limits.Cofan I.right) (hc : CategoryTheory.Limits.IsColimit c) (i : J.L) {Z : C} (h : d.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp (I.fstSigmaMapOfIsColimit d hc) h) = CategoryTheory.CategoryStruct.comp (I.fst i) (CategoryTheory.CategoryStruct.comp (d.inj (J.fst i)) h) - CategoryTheory.Limits.MultispanIndex.inj_sndSigmaMapOfIsColimit_assoc 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} (I : CategoryTheory.Limits.MultispanIndex J C) {c : CategoryTheory.Limits.Cofan I.left} (d : CategoryTheory.Limits.Cofan I.right) (hc : CategoryTheory.Limits.IsColimit c) (i : J.L) {Z : C} (h : d.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp (I.sndSigmaMapOfIsColimit d hc) h) = CategoryTheory.CategoryStruct.comp (I.snd i) (CategoryTheory.CategoryStruct.comp (d.inj (J.snd i)) h) - CategoryTheory.Limits.Multicofork.ofSigmaCofork_π 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} {I : CategoryTheory.Limits.MultispanIndex J C} {c : CategoryTheory.Limits.Cofan I.left} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan I.right} (a : CategoryTheory.Limits.Cofork (I.fstSigmaMapOfIsColimit d hc) (I.sndSigmaMapOfIsColimit d hc)) (i : J.R) : (CategoryTheory.Limits.Multicofork.ofSigmaCofork a).π i = CategoryTheory.CategoryStruct.comp (d.inj i) a.π - CategoryTheory.Limits.Multicofork.ofSigmaCofork_ι_app_left 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} {I : CategoryTheory.Limits.MultispanIndex J C} {c : CategoryTheory.Limits.Cofan I.left} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan I.right} (a : CategoryTheory.Limits.Cofork (I.fstSigmaMapOfIsColimit d hc) (I.sndSigmaMapOfIsColimit d hc)) (i : J.L) : (CategoryTheory.Limits.Multicofork.ofSigmaCofork a).ι.app (CategoryTheory.Limits.WalkingMultispan.left i) = CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp (I.fstSigmaMapOfIsColimit d hc) a.π) - CategoryTheory.Limits.MultispanIndex.multicoforkEquivSigmaCofork_inverse_obj_ι_app 📋 Mathlib.CategoryTheory.Limits.Shapes.Multiequalizer
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.Limits.MultispanShape} (I : CategoryTheory.Limits.MultispanIndex J C) [CategoryTheory.Limits.HasCoproduct I.left] [CategoryTheory.Limits.HasCoproduct I.right] (a : CategoryTheory.Limits.Cofork (I.fstSigmaMapOfIsColimit (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Discrete.functor I.right)) (CategoryTheory.Limits.colimit.isColimit (CategoryTheory.Discrete.functor I.left))) (I.sndSigmaMapOfIsColimit (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Discrete.functor I.right)) (CategoryTheory.Limits.colimit.isColimit (CategoryTheory.Discrete.functor I.left)))) (x : CategoryTheory.Limits.WalkingMultispan J) : (I.multicoforkEquivSigmaCofork.inverse.obj a).ι.app x = match x with | CategoryTheory.Limits.WalkingMultispan.left a_1 => CategoryTheory.CategoryStruct.comp (I.fst a_1) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Discrete.functor I.right)) (J.fst a_1)) a.π) | CategoryTheory.Limits.WalkingMultispan.right a_1 => CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj (CategoryTheory.Limits.colimit.cocone (CategoryTheory.Discrete.functor I.right)) a_1) a.π - CategoryTheory.GradedObject.CofanMapObjFun.ιMapObj_iso_inv 📋 Mathlib.CategoryTheory.GradedObject
{I : Type u_1} {J : Type u_2} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] {X : CategoryTheory.GradedObject I C} {p : I → J} {j : J} [X.HasMap p] {c : X.CofanMapObjFun p j} (hc : CategoryTheory.Limits.IsColimit c) (i : I) (hi : p i = j) : CategoryTheory.CategoryStruct.comp (X.ιMapObj p i j hi) (CategoryTheory.GradedObject.CofanMapObjFun.iso hc).inv = CategoryTheory.Limits.Cofan.inj c ⟨i, hi⟩ - CategoryTheory.GradedObject.CofanMapObjFun.inj_iso_hom 📋 Mathlib.CategoryTheory.GradedObject
{I : Type u_1} {J : Type u_2} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] {X : CategoryTheory.GradedObject I C} {p : I → J} {j : J} [X.HasMap p] {c : X.CofanMapObjFun p j} (hc : CategoryTheory.Limits.IsColimit c) (i : I) (hi : p i = j) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj c ⟨i, hi⟩) (CategoryTheory.GradedObject.CofanMapObjFun.iso hc).hom = X.ιMapObj p i j hi - CategoryTheory.GradedObject.CofanMapObjFun.ιMapObj_iso_inv_assoc 📋 Mathlib.CategoryTheory.GradedObject
{I : Type u_1} {J : Type u_2} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] {X : CategoryTheory.GradedObject I C} {p : I → J} {j : J} [X.HasMap p] {c : X.CofanMapObjFun p j} (hc : CategoryTheory.Limits.IsColimit c) (i : I) (hi : p i = j) {Z : C} (h : c.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (X.ιMapObj p i j hi) (CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.CofanMapObjFun.iso hc).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj c ⟨i, hi⟩) h - CategoryTheory.GradedObject.CofanMapObjFun.inj_iso_hom_assoc 📋 Mathlib.CategoryTheory.GradedObject
{I : Type u_1} {J : Type u_2} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] {X : CategoryTheory.GradedObject I C} {p : I → J} {j : J} [X.HasMap p] {c : X.CofanMapObjFun p j} (hc : CategoryTheory.Limits.IsColimit c) (i : I) (hi : p i = j) {Z : C} (h : X.mapObj p j ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj c ⟨i, hi⟩) (CategoryTheory.CategoryStruct.comp (CategoryTheory.GradedObject.CofanMapObjFun.iso hc).hom h) = CategoryTheory.CategoryStruct.comp (X.ιMapObj p i j hi) h - 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.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.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) - CategoryTheory.Limits.MonoCoprod.mono_inj 📋 Mathlib.CategoryTheory.Limits.MonoCoprod
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.MonoCoprod C] {I : Type u_2} (X : I → C) (c : CategoryTheory.Limits.Cofan X) (h : CategoryTheory.Limits.IsColimit c) (i : I) [CategoryTheory.Limits.HasCoproduct fun k => X ↑k] : CategoryTheory.Mono (c.inj i) - CategoryTheory.Limits.MonoCoprod.mono_of_injective 📋 Mathlib.CategoryTheory.Limits.MonoCoprod
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.MonoCoprod C] {I : Type u_2} {J : Type u_3} (X : I → C) (ι : J → I) (hι : Function.Injective ι) (c : CategoryTheory.Limits.Cofan X) (c₁ : CategoryTheory.Limits.Cofan (X ∘ ι)) (hc : CategoryTheory.Limits.IsColimit c) (hc₁ : CategoryTheory.Limits.IsColimit c₁) [CategoryTheory.Limits.HasCoproduct fun k => X ↑k] : CategoryTheory.Mono (CategoryTheory.Limits.Cofan.IsColimit.desc hc₁ fun i => c.inj (ι i)) - CategoryTheory.Limits.MonoCoprod.mono_of_injective_aux 📋 Mathlib.CategoryTheory.Limits.MonoCoprod
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.MonoCoprod C] {I : Type u_2} {J : Type u_3} (X : I → C) (ι : J → I) (hι : Function.Injective ι) (c : CategoryTheory.Limits.Cofan X) (c₁ : CategoryTheory.Limits.Cofan (X ∘ ι)) (hc : CategoryTheory.Limits.IsColimit c) (hc₁ : CategoryTheory.Limits.IsColimit c₁) (c₂ : CategoryTheory.Limits.Cofan fun k => X ↑k) (hc₂ : CategoryTheory.Limits.IsColimit c₂) : CategoryTheory.Mono (CategoryTheory.Limits.Cofan.IsColimit.desc hc₁ fun i => c.inj (ι i)) - CategoryTheory.Limits.MonoCoprod.mono_binaryCofanSum_inl' 📋 Mathlib.CategoryTheory.Limits.MonoCoprod
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I₁ : Type u_2} {I₂ : Type u_3} {X : I₁ ⊕ I₂ → C} (c : CategoryTheory.Limits.Cofan X) (c₁ : CategoryTheory.Limits.Cofan (X ∘ Sum.inl)) (c₂ : CategoryTheory.Limits.Cofan (X ∘ Sum.inr)) (hc : CategoryTheory.Limits.IsColimit c) (hc₁ : CategoryTheory.Limits.IsColimit c₁) (hc₂ : CategoryTheory.Limits.IsColimit c₂) [CategoryTheory.Limits.MonoCoprod C] (inl : c₁.pt ⟶ c.pt) (hinl : ∀ (i₁ : I₁), CategoryTheory.CategoryStruct.comp (c₁.inj i₁) inl = c.inj (Sum.inl i₁)) : CategoryTheory.Mono inl - CategoryTheory.Limits.MonoCoprod.mono_binaryCofanSum_inr' 📋 Mathlib.CategoryTheory.Limits.MonoCoprod
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I₁ : Type u_2} {I₂ : Type u_3} {X : I₁ ⊕ I₂ → C} (c : CategoryTheory.Limits.Cofan X) (c₁ : CategoryTheory.Limits.Cofan (X ∘ Sum.inl)) (c₂ : CategoryTheory.Limits.Cofan (X ∘ Sum.inr)) (hc : CategoryTheory.Limits.IsColimit c) (hc₁ : CategoryTheory.Limits.IsColimit c₁) (hc₂ : CategoryTheory.Limits.IsColimit c₂) [CategoryTheory.Limits.MonoCoprod C] (inr : c₂.pt ⟶ c.pt) (hinr : ∀ (i₂ : I₂), CategoryTheory.CategoryStruct.comp (c₂.inj i₂) inr = c.inj (Sum.inr i₂)) : CategoryTheory.Mono inr - CategoryTheory.Mono.of_coproductDisjoint 📋 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) (i : ι) : CategoryTheory.Mono (c.inj i) - CategoryTheory.Limits.CoproductDisjoint.mono_inj 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {ι : Type u_1} {X : ι → C} [self : CategoryTheory.Limits.CoproductDisjoint X] {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) (i : ι) : CategoryTheory.Mono (c.inj i) - 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.Limits.IsInitial.ofCoproductDisjointOfIsColimitOfIsLimit 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {X : ι → C} [CategoryTheory.Limits.CoproductDisjoint X] {i j : ι} (hij : i ≠ j) {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) {s : CategoryTheory.Limits.PullbackCone (c.inj i) (c.inj j)} (hs : CategoryTheory.Limits.IsLimit s) : CategoryTheory.Limits.IsInitial s.pt - CategoryTheory.Limits.CoproductDisjoint.nonempty_isInitial_of_ne 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} {inst✝ : CategoryTheory.Category.{v, u} C} {ι : Type u_1} {X : ι → C} [self : CategoryTheory.Limits.CoproductDisjoint X] {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) {i j : ι} : i ≠ j → ∀ (s : CategoryTheory.Limits.PullbackCone (c.inj i) (c.inj j)) (a : CategoryTheory.Limits.IsLimit s), Nonempty (CategoryTheory.Limits.IsInitial s.pt) - CategoryTheory.Limits.IsInitial.ofCoproductDisjointOfCommSq 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {X : ι → C} [CategoryTheory.Limits.CoproductDisjoint X] {i j : ι} (hij : i ≠ j) [CategoryTheory.Limits.HasStrictInitialObjects C] {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) {Z : C} (fst : Z ⟶ X i) (snd : Z ⟶ X j) (h : CategoryTheory.CategoryStruct.comp fst (c.inj i) = CategoryTheory.CategoryStruct.comp snd (c.inj j)) [CategoryTheory.Limits.HasPullback (c.inj i) (c.inj j)] : CategoryTheory.Limits.IsInitial Z - CategoryTheory.Limits.CoproductDisjoint.of_cofan 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {X : ι → C} {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) [∀ (i : ι), CategoryTheory.Mono (c.inj i)] (s : {i j : ι} → i ≠ j → CategoryTheory.Limits.PullbackCone (c.inj i) (c.inj j)) (hs : {i j : ι} → (hij : i ≠ j) → CategoryTheory.Limits.IsLimit (s hij)) (H : {i j : ι} → (hij : i ≠ j) → CategoryTheory.Limits.IsInitial (s hij).pt) : CategoryTheory.Limits.CoproductDisjoint X - CategoryTheory.Limits.CoproductDisjoint.mk 📋 Mathlib.CategoryTheory.Limits.Shapes.DisjointCoproduct
{C : Type u} [CategoryTheory.Category.{v, u} C] {ι : Type u_1} {X : ι → C} (nonempty_isInitial_of_ne : ∀ {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) {i j : ι}, i ≠ j → ∀ (s : CategoryTheory.Limits.PullbackCone (c.inj i) (c.inj j)) (a : CategoryTheory.Limits.IsLimit s), Nonempty (CategoryTheory.Limits.IsInitial s.pt)) (mono_inj : ∀ {c : CategoryTheory.Limits.Cofan X} (hc : CategoryTheory.Limits.IsColimit c) (i : ι), CategoryTheory.Mono (c.inj i)) : CategoryTheory.Limits.CoproductDisjoint X - SheafOfModules.freeCofan_inj 📋 Mathlib.Algebra.Category.ModuleCat.Sheaf.Free
{C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} [CategoryTheory.HasWeakSheafify J AddCommGrpCat] [J.WEqualsLocallyBijective AddCommGrpCat] {I : Type u} (i : I) : (SheafOfModules.freeCofan I).inj i = SheafOfModules.ιFree i - CategoryTheory.PreZeroHypercover.inj_sigmaOfIsColimit_f 📋 Mathlib.CategoryTheory.Sites.Hypercover.Zero
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreZeroHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) (i : E.I₀) (r : PUnit.{w + 1}) : CategoryTheory.CategoryStruct.comp (c.inj i) ((E.sigmaOfIsColimit hc).f r) = E.f i - CategoryTheory.PreZeroHypercover.inj_sigmaOfIsColimit_f_assoc 📋 Mathlib.CategoryTheory.Sites.Hypercover.Zero
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreZeroHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) (i : E.I₀) (r : PUnit.{w + 1}) {Z : C} (h : S ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.inj i) (CategoryTheory.CategoryStruct.comp ((E.sigmaOfIsColimit hc).f r) h) = CategoryTheory.CategoryStruct.comp (E.f i) h - CategoryTheory.PreOneHypercover.p₁_sigmaOfIsColimit_assoc 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (i : E.I₁') {a b : PUnit.{w + 1}} (r : (E.sigmaOfIsColimit hc hd).I₁ a b) {Z : C} (h : (E.sigmaOfIsColimit hc hd).X a ⟶ Z) : CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp ((E.sigmaOfIsColimit hc hd).p₁ r) h) = CategoryTheory.CategoryStruct.comp (E.p₁ i.snd) (CategoryTheory.CategoryStruct.comp (c.inj i.fst.1) h) - CategoryTheory.PreOneHypercover.p₂_sigmaOfIsColimit_assoc 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (i : E.I₁') {a b : PUnit.{w + 1}} (r : (E.sigmaOfIsColimit hc hd).I₁ a b) {Z : C} (h : (E.sigmaOfIsColimit hc hd).X b ⟶ Z) : CategoryTheory.CategoryStruct.comp (d.inj i) (CategoryTheory.CategoryStruct.comp ((E.sigmaOfIsColimit hc hd).p₂ r) h) = CategoryTheory.CategoryStruct.comp (E.p₂ i.snd) (CategoryTheory.CategoryStruct.comp (c.inj i.fst.2) h) - CategoryTheory.PreOneHypercover.p₁_sigmaOfIsColimit 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (i : E.I₁') {a b : PUnit.{w + 1}} (r : (E.sigmaOfIsColimit hc hd).I₁ a b) : CategoryTheory.CategoryStruct.comp (d.inj i) ((E.sigmaOfIsColimit hc hd).p₁ r) = CategoryTheory.CategoryStruct.comp (E.p₁ i.snd) (c.inj i.fst.1) - CategoryTheory.PreOneHypercover.p₂_sigmaOfIsColimit 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (i : E.I₁') {a b : PUnit.{w + 1}} (r : (E.sigmaOfIsColimit hc hd).I₁ a b) : CategoryTheory.CategoryStruct.comp (d.inj i) ((E.sigmaOfIsColimit hc hd).p₂ r) = CategoryTheory.CategoryStruct.comp (E.p₂ i.snd) (c.inj i.fst.2) - CategoryTheory.PreOneHypercover.forkOfIsColimit 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (F : CategoryTheory.Functor Cᵒᵖ A) : CategoryTheory.Limits.Fork (F.map (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun x => CategoryTheory.CategoryStruct.comp (E.p₁ x.snd) (c.inj x.fst.1)).op) (F.map (CategoryTheory.Limits.Cofan.IsColimit.desc hd fun x => CategoryTheory.CategoryStruct.comp (E.p₂ x.snd) (c.inj x.fst.2)).op) - CategoryTheory.PreOneHypercover.forkOfIsColimit_pt 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (F : CategoryTheory.Functor Cᵒᵖ A) : (E.forkOfIsColimit hc hd F).pt = F.obj (Opposite.op S) - CategoryTheory.PreOneHypercover.isLimitMultiforkEquivIsLimitFork 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (F : CategoryTheory.Functor Cᵒᵖ A) [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun i => Opposite.op (E.X i)) F] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun i => Opposite.op (E.Y' i)) F] : CategoryTheory.Limits.IsLimit (E.multifork F) ≃ CategoryTheory.Limits.IsLimit (E.forkOfIsColimit hc hd F) - CategoryTheory.PreOneHypercover.forkOfIsColimit_ι_map_inj 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (F : CategoryTheory.Functor Cᵒᵖ A) (i : E.I₀) : CategoryTheory.CategoryStruct.comp (E.forkOfIsColimit hc hd F).ι (F.map (c.inj i).op) = F.map (E.f i).op - CategoryTheory.PreOneHypercover.forkOfIsColimit_ι_map_inj_assoc 📋 Mathlib.CategoryTheory.Sites.Hypercover.One
{C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u_1} [CategoryTheory.Category.{v_1, u_1} A] {S : C} (E : CategoryTheory.PreOneHypercover S) {c : CategoryTheory.Limits.Cofan E.X} (hc : CategoryTheory.Limits.IsColimit c) {d : CategoryTheory.Limits.Cofan E.Y'} (hd : CategoryTheory.Limits.IsColimit d) (F : CategoryTheory.Functor Cᵒᵖ A) (i : E.I₀) {Z : A} (h : F.obj (Opposite.op (E.X i)) ⟶ Z) : CategoryTheory.CategoryStruct.comp (E.forkOfIsColimit hc hd F).ι (CategoryTheory.CategoryStruct.comp (F.map (c.inj i).op) h) = CategoryTheory.CategoryStruct.comp (F.map (E.f i).op) h - CategoryTheory.GradedObject.mapBifunctorRightUnitorCofan_inj 📋 Mathlib.CategoryTheory.GradedObject.Unitor
{C : Type u_1} {D : Type u_2} {I : Type u_3} {J : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [Zero I] [DecidableEq I] [CategoryTheory.Limits.HasInitial C] (F : CategoryTheory.Functor D (CategoryTheory.Functor C D)) (Y : C) (e : F.flip.obj Y ≅ CategoryTheory.Functor.id D) [∀ (X : D), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) (F.obj X)] (p : J × I → J) (hp : ∀ (j : J), p (j, 0) = j) (X : CategoryTheory.GradedObject J D) (j : J) : CategoryTheory.Limits.Cofan.inj (CategoryTheory.GradedObject.mapBifunctorRightUnitorCofan F Y e p hp X j) ⟨(j, 0), ⋯⟩ = CategoryTheory.CategoryStruct.comp ((F.obj (X j)).map (CategoryTheory.GradedObject.singleObjApplyIso 0 Y).hom) (e.hom.app (X j)) - CategoryTheory.GradedObject.mapBifunctorLeftUnitorCofan_inj 📋 Mathlib.CategoryTheory.GradedObject.Unitor
{C : Type u_1} {D : Type u_2} {I : Type u_3} {J : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [Zero I] [DecidableEq I] [CategoryTheory.Limits.HasInitial C] (F : CategoryTheory.Functor C (CategoryTheory.Functor D D)) (X : C) (e : F.obj X ≅ CategoryTheory.Functor.id D) [∀ (Y : D), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) (F.flip.obj Y)] (p : I × J → J) (hp : ∀ (j : J), p (0, j) = j) (Y : CategoryTheory.GradedObject J D) (j : J) : CategoryTheory.Limits.Cofan.inj (CategoryTheory.GradedObject.mapBifunctorLeftUnitorCofan F X e p hp Y j) ⟨(0, j), ⋯⟩ = CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.GradedObject.singleObjApplyIso 0 X).hom).app (Y j)) (e.hom.app (Y j)) - CategoryTheory.GradedObject.mapBifunctorRightUnitorCofan_inj_assoc 📋 Mathlib.CategoryTheory.GradedObject.Unitor
{C : Type u_1} {D : Type u_2} {I : Type u_3} {J : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [Zero I] [DecidableEq I] [CategoryTheory.Limits.HasInitial C] (F : CategoryTheory.Functor D (CategoryTheory.Functor C D)) (Y : C) (e : F.flip.obj Y ≅ CategoryTheory.Functor.id D) [∀ (X : D), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) (F.obj X)] (p : J × I → J) (hp : ∀ (j : J), p (j, 0) = j) (X : CategoryTheory.GradedObject J D) (j : J) {Z : D} (h : (CategoryTheory.GradedObject.mapBifunctorRightUnitorCofan F Y e p hp X j).pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj (CategoryTheory.GradedObject.mapBifunctorRightUnitorCofan F Y e p hp X j) ⟨(j, 0), ⋯⟩) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp ((F.obj (X j)).map (CategoryTheory.GradedObject.singleObjApplyIso 0 Y).hom) (e.hom.app (X j))) h - CategoryTheory.GradedObject.mapBifunctorLeftUnitorCofan_inj_assoc 📋 Mathlib.CategoryTheory.GradedObject.Unitor
{C : Type u_1} {D : Type u_2} {I : Type u_3} {J : Type u_4} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [Zero I] [DecidableEq I] [CategoryTheory.Limits.HasInitial C] (F : CategoryTheory.Functor C (CategoryTheory.Functor D D)) (X : C) (e : F.obj X ≅ CategoryTheory.Functor.id D) [∀ (Y : D), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) (F.flip.obj Y)] (p : I × J → J) (hp : ∀ (j : J), p (0, j) = j) (Y : CategoryTheory.GradedObject J D) (j : J) {Z : D} (h : (CategoryTheory.GradedObject.mapBifunctorLeftUnitorCofan F X e p hp Y j).pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofan.inj (CategoryTheory.GradedObject.mapBifunctorLeftUnitorCofan F X e p hp Y j) ⟨(0, j), ⋯⟩) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp ((F.map (CategoryTheory.GradedObject.singleObjApplyIso 0 X).hom).app (Y j)) (e.hom.app (Y j))) h - CategoryTheory.Presieve.isSheafFor_of_preservesProduct 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type w)) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F] : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj) - CategoryTheory.Presieve.preservesProduct_of_isSheafFor 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) (hF' : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj)) : CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F - CategoryTheory.Presieve.isSheafFor_iff_preservesProduct 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows X c.inj) ↔ CategoryTheory.Limits.PreservesLimit (CategoryTheory.Discrete.functor fun x => Opposite.op (X x)) F - CategoryTheory.Presieve.firstMap_eq_secondMap 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] {I : C} (F : CategoryTheory.Functor Cᵒᵖ (Type w)) (hF : CategoryTheory.Presieve.IsSheafFor F (CategoryTheory.Presieve.ofArrows Empty.elim fun a => Empty.instIsEmpty.elim a)) (hI : CategoryTheory.Limits.IsInitial I) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) [(CategoryTheory.Presieve.ofArrows X c.inj).HasPairwisePullbacks] [CategoryTheory.Limits.HasInitial C] [∀ (i : α), CategoryTheory.Mono (c.inj i)] (hd : Pairwise fun i j => CategoryTheory.IsPullback (CategoryTheory.Limits.initial.to (X i)) (CategoryTheory.Limits.initial.to (X j)) (c.inj i) (c.inj j)) : CategoryTheory.Equalizer.Presieve.Arrows.firstMap F X c.inj = CategoryTheory.Equalizer.Presieve.Arrows.secondMap F X c.inj - CategoryTheory.Presieve.piComparison_fac 📋 Mathlib.CategoryTheory.Sites.Preserves
{C : Type u} [CategoryTheory.Category.{v, u} C] (F : CategoryTheory.Functor Cᵒᵖ (Type w)) {α : Type u_1} [Small.{w, u_1} α] {X : α → C} (c : CategoryTheory.Limits.Cofan X) (hc : CategoryTheory.Limits.IsColimit c) : have this := ⋯; (CategoryTheory.Limits.piComparison F fun x => Opposite.op (X x)) = CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.Limits.opCoproductIsoProduct' hc (CategoryTheory.Limits.productIsProduct fun x => Opposite.op (X x))).inv) (CategoryTheory.Equalizer.Presieve.Arrows.forkMap F X c.inj) - CategoryTheory.GrothendieckTopology.preservesColimitsOfShape_yoneda_of_ofArrows_inj_mem 📋 Mathlib.CategoryTheory.Sites.Subcanonical
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) [J.Subcanonical] {ι : Type u_1} [CategoryTheory.Limits.CoproductsOfShapeDisjoint C ι] [CategoryTheory.Limits.HasPullbacks C] [CategoryTheory.Limits.HasStrictInitialObjects C] (hcov : ∀ {X : ι → C} {c : CategoryTheory.Limits.Cofan X} (x : CategoryTheory.Limits.IsColimit c), CategoryTheory.Sieve.ofArrows X c.inj ∈ J c.pt) (htriv : ∀ (Y : C) (a : CategoryTheory.Limits.IsInitial Y), ⊥ ∈ J Y) : CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete ι) J.yoneda - CategoryTheory.GrothendieckTopology.isColimitCofanMkYoneda 📋 Mathlib.CategoryTheory.Sites.Subcanonical
{C : Type u} [CategoryTheory.Category.{v, u} C] (J : CategoryTheory.GrothendieckTopology C) [J.Subcanonical] {ι : Type u_1} (X : ι → C) {c : CategoryTheory.Limits.Cofan X} (H : CategoryTheory.Sieve.ofArrows X c.inj ∈ J c.pt) [∀ (i : ι), CategoryTheory.Mono (c.inj i)] (hempty : ∀ (Y : C) (a : CategoryTheory.Limits.IsInitial Y), ⊥ ∈ J Y) (hdisj : ∀ {i j : ι}, i ≠ j → ∀ {Y : C} (a : Y ⟶ X i) (b : Y ⟶ X j), CategoryTheory.CategoryStruct.comp a (c.inj i) = CategoryTheory.CategoryStruct.comp b (c.inj j) → Nonempty (CategoryTheory.Limits.IsInitial Y)) : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.Cofan.mk (J.yoneda.obj c.pt) fun i => J.yoneda.map (c.inj i)) - HomotopicalAlgebra.AttachCells.cell_def 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (c : HomotopicalAlgebra.AttachCells g f) (i : c.ι) : c.cell i = CategoryTheory.CategoryStruct.comp (c.cofan₂.inj i) c.g₂ - HomotopicalAlgebra.AttachCells.mk 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (ι : Type w) (π : ι → α) (cofan₁ : CategoryTheory.Limits.Cofan fun i => A (π i)) (cofan₂ : CategoryTheory.Limits.Cofan fun i => B (π i)) (isColimit₁ : CategoryTheory.Limits.IsColimit cofan₁) (isColimit₂ : CategoryTheory.Limits.IsColimit cofan₂) (m : cofan₁.pt ⟶ cofan₂.pt) (hm : ∀ (i : ι), CategoryTheory.CategoryStruct.comp (cofan₁.inj i) m = CategoryTheory.CategoryStruct.comp (g (π i)) (cofan₂.inj i) := by cat_disch) (g₁ : cofan₁.pt ⟶ X₁) (g₂ : cofan₂.pt ⟶ X₂) (isPushout : CategoryTheory.IsPushout g₁ m f g₂) : HomotopicalAlgebra.AttachCells g f - HomotopicalAlgebra.AttachCells.cell_def_assoc 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (c : HomotopicalAlgebra.AttachCells g f) (i : c.ι) {Z : C} (h : X₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (c.cell i) h = CategoryTheory.CategoryStruct.comp (c.cofan₂.inj i) (CategoryTheory.CategoryStruct.comp c.g₂ h) - HomotopicalAlgebra.AttachCells.reindex_cofan₁ 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (c : HomotopicalAlgebra.AttachCells g f) {ι' : Type w'} (e : ι' ≃ c.ι) : (c.reindex e).cofan₁ = CategoryTheory.Limits.Cofan.mk c.cofan₁.pt fun i' => c.cofan₁.inj (e i') - HomotopicalAlgebra.AttachCells.reindex_cofan₂ 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (c : HomotopicalAlgebra.AttachCells g f) {ι' : Type w'} (e : ι' ≃ c.ι) : (c.reindex e).cofan₂ = CategoryTheory.Limits.Cofan.mk c.cofan₂.pt fun i' => c.cofan₂.inj (e i') - HomotopicalAlgebra.AttachCells.hm 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (self : HomotopicalAlgebra.AttachCells g f) (i : self.ι) : CategoryTheory.CategoryStruct.comp (self.cofan₁.inj i) self.m = CategoryTheory.CategoryStruct.comp (g (self.π i)) (self.cofan₂.inj i) - HomotopicalAlgebra.AttachCells.hm_assoc 📋 Mathlib.AlgebraicTopology.RelativeCellComplex.AttachCells
{C : Type u} [CategoryTheory.Category.{v, u} C] {α : Type t} {A B : α → C} {g : (a : α) → A a ⟶ B a} {X₁ X₂ : C} {f : X₁ ⟶ X₂} (self : HomotopicalAlgebra.AttachCells g f) (i : self.ι) {Z : C} (h : self.cofan₂.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (self.cofan₁.inj i) (CategoryTheory.CategoryStruct.comp self.m h) = CategoryTheory.CategoryStruct.comp (g (self.π i)) (CategoryTheory.CategoryStruct.comp (self.cofan₂.inj i) h) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_id 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) (n : ℕ) : (s.cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n })) = s.ι n - CategoryTheory.SimplicialObject.Splitting.ι_desc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Z : C} (Δ : SimplexCategoryᵒᵖ) (F : (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) → s.N (Opposite.unop A.fst).len ⟶ Z) (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (s.desc Δ F) = F A - CategoryTheory.SimplicialObject.Splitting.cofan_inj_epi_naturality 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Δ₁ Δ₂ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ₁) (p : Δ₁ ⟶ Δ₂) [CategoryTheory.Epi p.unop] : CategoryTheory.CategoryStruct.comp ((s.cofan Δ₁).inj A) (X.map p) = (s.cofan Δ₂).inj (A.epiComp p) - CategoryTheory.SimplicialObject.Splitting.hom_ext' 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Z : C} {Δ : SimplexCategoryᵒᵖ} (f g : X.obj Δ ⟶ Z) (h : ∀ (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ), CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) f = CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) g) : f = g - CategoryTheory.SimplicialObject.Splitting.ι_desc_assoc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Z : C} (Δ : SimplexCategoryᵒᵖ) (F : (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) → s.N (Opposite.unop A.fst).len ⟶ Z) (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) {Z✝ : C} (h : Z ⟶ Z✝) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp (s.desc Δ F) h) = CategoryTheory.CategoryStruct.comp (F A) h - CategoryTheory.SimplicialObject.Split.natTransCofanInj_app 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (S : CategoryTheory.SimplicialObject.Split C) : (CategoryTheory.SimplicialObject.Split.natTransCofanInj C A).app S = (S.s.cofan Δ).inj A - CategoryTheory.SimplicialObject.Splitting.cofan_inj_epi_naturality_assoc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Δ₁ Δ₂ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ₁) (p : Δ₁ ⟶ Δ₂) [CategoryTheory.Epi p.unop] {Z : C} (h : X.obj Δ₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ₁).inj A) (CategoryTheory.CategoryStruct.comp (X.map p) h) = CategoryTheory.CategoryStruct.comp ((s.cofan Δ₂).inj (A.epiComp p)) h - CategoryTheory.SimplicialObject.Splitting.cofan_inj_eq 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) : (s.cofan Δ).inj A = CategoryTheory.CategoryStruct.comp (s.ι (Opposite.unop A.fst).len) (X.map A.e.op) - CategoryTheory.SimplicialObject.Split.cofan_inj_naturality_symm 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {S₁ S₂ : CategoryTheory.SimplicialObject.Split C} (Φ : S₁ ⟶ S₂) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) : CategoryTheory.CategoryStruct.comp ((S₁.s.cofan Δ).inj A) (Φ.F.app Δ) = CategoryTheory.CategoryStruct.comp (Φ.f (Opposite.unop A.fst).len) ((S₂.s.cofan Δ).inj A) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_comp_app 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : CategoryTheory.SimplicialObject C} (s : X.Splitting) (f : X ⟶ Y) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (f.app Δ) = CategoryTheory.CategoryStruct.comp (s.φ f (Opposite.unop A.fst).len) (Y.map A.e.op) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_eq_assoc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) {Z : C} (h : (s.cofan Δ).pt ⟶ Z) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) h = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp (s.ι (Opposite.unop A.fst).len) (X.map A.e.op)) h - CategoryTheory.SimplicialObject.Split.cofan_inj_naturality_symm_assoc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {S₁ S₂ : CategoryTheory.SimplicialObject.Split C} (Φ : S₁ ⟶ S₂) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) {Z : C} (h : S₂.X.obj Δ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((S₁.s.cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp (Φ.F.app Δ) h) = CategoryTheory.CategoryStruct.comp (Φ.f (Opposite.unop A.fst).len) (CategoryTheory.CategoryStruct.comp ((S₂.s.cofan Δ).inj A) h) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_comp_app_assoc 📋 Mathlib.AlgebraicTopology.SimplicialObject.Split
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X Y : CategoryTheory.SimplicialObject C} (s : X.Splitting) (f : X ⟶ Y) {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) {Z : C} (h : Y.obj Δ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp (f.app Δ) h) = CategoryTheory.CategoryStruct.comp (s.φ f (Opposite.unop A.fst).len) (CategoryTheory.CategoryStruct.comp (Y.map A.e.op) h) - AlgebraicTopology.DoldKan.HigherFacesVanish.on_Γ₀_summand_id 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) (n : ℕ) : AlgebraicTopology.DoldKan.HigherFacesVanish (n + 1) (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op { len := n + 1 })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n + 1 }))) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_epi_on_summand_id 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (e : Δ' ⟶ Δ) [CategoryTheory.Epi e] : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ))) ((AlgebraicTopology.DoldKan.Γ₀.obj K).map e.op) = ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.mk e) - AlgebraicTopology.DoldKan.PInfty_on_Γ₀_splitting_summand_eq_self 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) {n : ℕ} : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (AlgebraicTopology.DoldKan.PInfty.f n) = ((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n })) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_epi_on_summand_id_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (e : Δ' ⟶ Δ) [CategoryTheory.Epi e] {Z : C} (h : (AlgebraicTopology.DoldKan.Γ₀.obj K).obj (Opposite.op Δ') ⟶ Z) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ))) (CategoryTheory.CategoryStruct.comp ((AlgebraicTopology.DoldKan.Γ₀.obj K).map e.op) h) = CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.mk e)) h - AlgebraicTopology.DoldKan.Γ₀.Obj.mapMono_on_summand_id 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [CategoryTheory.Mono i] : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ))) ((AlgebraicTopology.DoldKan.Γ₀.obj K).map i.op) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i) (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ'))) - AlgebraicTopology.DoldKan.Γ₀.map_app 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {K K' : ChainComplex C ℕ} (f : K ⟶ K') (Δ : SimplexCategoryᵒᵖ) : (AlgebraicTopology.DoldKan.Γ₀.map f).app Δ = (AlgebraicTopology.DoldKan.Γ₀.splitting K).desc Δ fun A => CategoryTheory.CategoryStruct.comp (f.f (Opposite.unop A.fst).len) (((AlgebraicTopology.DoldKan.Γ₀.splitting K').cofan Δ).inj A) - AlgebraicTopology.DoldKan.Γ₀.Obj.mapMono_on_summand_id_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategory} (i : Δ' ⟶ Δ) [CategoryTheory.Mono i] {Z : C} (h : (AlgebraicTopology.DoldKan.Γ₀.obj K).obj (Opposite.op Δ') ⟶ Z) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ)).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ))) (CategoryTheory.CategoryStruct.comp ((AlgebraicTopology.DoldKan.Γ₀.obj K).map i.op) h) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i) (CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op Δ')).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op Δ'))) h) - AlgebraicTopology.DoldKan.PInfty_on_Γ₀_splitting_summand_eq_self_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (K : ChainComplex C ℕ) {n : ℕ} {Z : C} (h : (AlgebraicTopology.AlternatingFaceMapComplex.obj (AlgebraicTopology.DoldKan.Γ₀.obj K)).X n ⟶ Z) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.PInfty.f n) h) = CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) h - AlgebraicTopology.DoldKan.Γ₀_map_app 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {X✝ Y✝ : ChainComplex C ℕ} (f : X✝ ⟶ Y✝) (Δ : SimplexCategoryᵒᵖ) : (AlgebraicTopology.DoldKan.Γ₀.map f).app Δ = (AlgebraicTopology.DoldKan.Γ₀.splitting X✝).desc Δ fun A => CategoryTheory.CategoryStruct.comp (f.f (Opposite.unop A.fst).len) (((AlgebraicTopology.DoldKan.Γ₀.splitting Y✝).cofan Δ).inj A) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') {Δ'' : SimplexCategory} {e : Opposite.unop Δ' ⟶ Δ''} {i : Δ'' ⟶ Opposite.unop A.fst} [CategoryTheory.Epi e] [CategoryTheory.Mono i] (fac : CategoryTheory.CategoryStruct.comp e i = CategoryTheory.CategoryStruct.comp θ.unop A.e) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A) ((AlgebraicTopology.DoldKan.Γ₀.obj K).map θ) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i) (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.mk e)) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') {Δ'' : SimplexCategory} {e : Opposite.unop Δ' ⟶ Δ''} {i : Δ'' ⟶ Opposite.unop A.fst} [CategoryTheory.Epi e] [CategoryTheory.Mono i] (fac : CategoryTheory.CategoryStruct.comp e i = CategoryTheory.CategoryStruct.comp θ.unop A.e) {Z : C} (h : (AlgebraicTopology.DoldKan.Γ₀.obj K).obj Δ' ⟶ Z) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp ((AlgebraicTopology.DoldKan.Γ₀.obj K).map θ) h) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K i) (CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.mk e)) h) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand' 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A) ((AlgebraicTopology.DoldKan.Γ₀.obj K).map θ) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp θ.unop A.e))) (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (A.pull θ)) - AlgebraicTopology.DoldKan.Γ₀.Obj.map_on_summand'_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (K : ChainComplex C ℕ) [CategoryTheory.Limits.HasFiniteCoproducts C] {Δ Δ' : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (θ : Δ ⟶ Δ') {Z : C} (h : (AlgebraicTopology.DoldKan.Γ₀.obj K).obj Δ' ⟶ Z) : CategoryTheory.CategoryStruct.comp (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp ((AlgebraicTopology.DoldKan.Γ₀.obj K).map θ) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.Γ₀.Obj.Termwise.mapMono K (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp θ.unop A.e))) (((AlgebraicTopology.DoldKan.Γ₀.splitting K).cofan Δ').inj (A.pull θ))) h - AlgebraicTopology.DoldKan.Γ₂_obj_p_app 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (P : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)) (Δ : SimplexCategoryᵒᵖ) : (AlgebraicTopology.DoldKan.Γ₂.obj P).p.app Δ = (AlgebraicTopology.DoldKan.Γ₀.splitting P.X).desc Δ fun A => CategoryTheory.CategoryStruct.comp (P.p.f (Opposite.unop A.fst).len) (((AlgebraicTopology.DoldKan.Γ₀.splitting P.X).cofan Δ).inj A) - AlgebraicTopology.DoldKan.Γ₂_map_f_app 📋 Mathlib.AlgebraicTopology.DoldKan.FunctorGamma
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] {X✝ Y✝ : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)} (f : X✝ ⟶ Y✝) (Δ : SimplexCategoryᵒᵖ) : (AlgebraicTopology.DoldKan.Γ₂.map f).f.app Δ = (AlgebraicTopology.DoldKan.Γ₀.splitting X✝.X).desc Δ fun A => CategoryTheory.CategoryStruct.comp (f.f.f (Opposite.unop A.fst).len) (((AlgebraicTopology.DoldKan.Γ₀.splitting Y✝.X).cofan Δ).inj A) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_πSummand_eq_id 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Limits.HasZeroMorphisms C] {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (s.πSummand A) = CategoryTheory.CategoryStruct.id (CategoryTheory.SimplicialObject.Splitting.summand s.N Δ A) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_πSummand_eq_id_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Limits.HasZeroMorphisms C] {Δ : SimplexCategoryᵒᵖ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) {Z : C} (h : s.N (Opposite.unop A.fst).len ⟶ Z) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp (s.πSummand A) h) = h - CategoryTheory.SimplicialObject.Splitting.decomposition_id 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Preadditive C] (Δ : SimplexCategoryᵒᵖ) : CategoryTheory.CategoryStruct.id (X.obj Δ) = ∑ A, CategoryTheory.CategoryStruct.comp (s.πSummand A) ((s.cofan Δ).inj A) - CategoryTheory.SimplicialObject.Splitting.cofan_inj_πSummand_eq_zero 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Limits.HasZeroMorphisms C] {Δ : SimplexCategoryᵒᵖ} (A B : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (h : B ≠ A) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (s.πSummand B) = 0 - CategoryTheory.SimplicialObject.Splitting.cofan_inj_comp_PInfty_eq_zero 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) {n : ℕ} (A : CategoryTheory.SimplicialObject.Splitting.IndexSet (Opposite.op { len := n })) (hA : ¬A.EqId) : CategoryTheory.CategoryStruct.comp ((s.cofan (Opposite.op { len := n })).inj A) (AlgebraicTopology.DoldKan.PInfty.f n) = 0 - CategoryTheory.SimplicialObject.Splitting.πSummand_comp_cofan_inj_id_comp_PInfty_eq_PInfty 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Preadditive C] (n : ℕ) : CategoryTheory.CategoryStruct.comp (s.πSummand (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (CategoryTheory.CategoryStruct.comp ((s.cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (AlgebraicTopology.DoldKan.PInfty.f n)) = AlgebraicTopology.DoldKan.PInfty.f n - CategoryTheory.SimplicialObject.Splitting.cofan_inj_πSummand_eq_zero_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Limits.HasZeroMorphisms C] {Δ : SimplexCategoryᵒᵖ} (A B : CategoryTheory.SimplicialObject.Splitting.IndexSet Δ) (h : B ≠ A) {Z : C} (h✝ : s.N (Opposite.unop B.fst).len ⟶ Z) : CategoryTheory.CategoryStruct.comp ((s.cofan Δ).inj A) (CategoryTheory.CategoryStruct.comp (s.πSummand B) h✝) = CategoryTheory.CategoryStruct.comp 0 h✝ - CategoryTheory.SimplicialObject.Splitting.πSummand_comp_cofan_inj_id_comp_PInfty_eq_PInfty_assoc 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Preadditive C] (n : ℕ) {Z : C} (h : (AlgebraicTopology.AlternatingFaceMapComplex.obj X).X n ⟶ Z) : CategoryTheory.CategoryStruct.comp (s.πSummand (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (CategoryTheory.CategoryStruct.comp ((s.cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.PInfty.f n) h)) = CategoryTheory.CategoryStruct.comp (AlgebraicTopology.DoldKan.PInfty.f n) h - CategoryTheory.SimplicialObject.Splitting.ιSummand_comp_d_comp_πSummand_eq_zero 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Preadditive C] (j k : ℕ) (A : CategoryTheory.SimplicialObject.Splitting.IndexSet (Opposite.op { len := j })) (hA : ¬A.EqId) : CategoryTheory.CategoryStruct.comp ((s.cofan (Opposite.op { len := j })).inj A) (CategoryTheory.CategoryStruct.comp ((AlgebraicTopology.AlternatingFaceMapComplex.obj X).d j k) (s.πSummand (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := k })))) = 0 - CategoryTheory.SimplicialObject.Splitting.toKaroubiNondegComplexIsoN₁_hom_f_f 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {X : CategoryTheory.SimplicialObject C} (s : X.Splitting) [CategoryTheory.Preadditive C] (n : ℕ) : s.toKaroubiNondegComplexIsoN₁.hom.f.f n = CategoryTheory.CategoryStruct.comp ((s.cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (AlgebraicTopology.DoldKan.PInfty.f n) - CategoryTheory.SimplicialObject.Split.toKaroubiNondegComplexFunctorIsoN₁_hom_app_f_f 📋 Mathlib.AlgebraicTopology.DoldKan.SplitSimplicialObject
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (X : CategoryTheory.SimplicialObject.Split C) (n : ℕ) : (CategoryTheory.SimplicialObject.Split.toKaroubiNondegComplexFunctorIsoN₁.hom.app X).f.f n = CategoryTheory.CategoryStruct.comp ((X.s.cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) (AlgebraicTopology.DoldKan.PInfty.f n) - AlgebraicTopology.DoldKan.N₂Γ₂_inv_app_f_f 📋 Mathlib.AlgebraicTopology.DoldKan.GammaCompN
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasFiniteCoproducts C] (X : CategoryTheory.Idempotents.Karoubi (ChainComplex C ℕ)) (n : ℕ) : (AlgebraicTopology.DoldKan.N₂Γ₂.inv.app X).f.f n = CategoryTheory.CategoryStruct.comp (X.p.f n) (((AlgebraicTopology.DoldKan.Γ₀.splitting X.X).cofan (Opposite.op { len := n })).inj (CategoryTheory.SimplicialObject.Splitting.IndexSet.id (Opposite.op { len := n }))) - CategoryTheory.Idempotents.DoldKan.Γ_map_app 📋 Mathlib.AlgebraicTopology.DoldKan.EquivalencePseudoabelian
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.IsIdempotentComplete C] [CategoryTheory.Limits.HasFiniteCoproducts C] {X✝ Y✝ : ChainComplex C ℕ} (f : X✝ ⟶ Y✝) (Δ : SimplexCategoryᵒᵖ) : (CategoryTheory.Idempotents.DoldKan.Γ.map f).app Δ = (AlgebraicTopology.DoldKan.Γ₀.splitting X✝).desc Δ fun A => CategoryTheory.CategoryStruct.comp (f.f (Opposite.unop A.fst).len) (((AlgebraicTopology.DoldKan.Γ₀.splitting Y✝).cofan Δ).inj A) - CategoryTheory.Limits.FormalCoproduct.cofan_inj_f_fst 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) (x : (f i).I) : (((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i).f x).fst = i - CategoryTheory.Limits.FormalCoproduct.cofan_inj 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i = { f := fun x => ⟨i, x⟩, φ := fun x => CategoryTheory.CategoryStruct.id ((f i).obj x) } - CategoryTheory.Limits.FormalCoproduct.cofan_inj_f_snd 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) (x : (f i).I) : (((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i).f x).snd = x - CategoryTheory.Limits.FormalCoproduct.cofan_inj_φ 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) (x : (f i).I) : ((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i).φ x = CategoryTheory.CategoryStruct.id ((f i).obj x) - CategoryTheory.Limits.FormalCoproduct.inj_comp_cofanPtIsoSelf_hom 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : CategoryTheory.Limits.FormalCoproduct C) (i : X.I) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.FormalCoproduct.cofan X.I X.toFun).inj i) X.cofanPtIsoSelf.hom = CategoryTheory.Limits.FormalCoproduct.Hom.fromIncl i (CategoryTheory.CategoryStruct.id (X.obj i)) - CategoryTheory.Limits.FormalCoproduct.isColimitCofan_desc_f 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (𝒜 : Type w) (f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C) (t : CategoryTheory.Limits.Cofan f) (p : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).pt.I) : ((CategoryTheory.Limits.FormalCoproduct.isColimitCofan 𝒜 f).desc t).f p = (t.inj p.fst).f p.snd - CategoryTheory.Limits.FormalCoproduct.ι_comp_coproductIsoCofanPt 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι f i) (CategoryTheory.Limits.FormalCoproduct.coproductIsoCofanPt 𝒜 f).hom = (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i - CategoryTheory.Limits.FormalCoproduct.fromIncl_comp_cofanPtIsoSelf_inv 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : CategoryTheory.Limits.FormalCoproduct C) (i : X.I) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.Hom.fromIncl i (CategoryTheory.CategoryStruct.id (X.obj i))) X.cofanPtIsoSelf.inv = (CategoryTheory.Limits.FormalCoproduct.cofan X.I X.toFun).inj i - CategoryTheory.Limits.FormalCoproduct.inj_comp_cofanPtIsoSelf_hom_assoc 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : CategoryTheory.Limits.FormalCoproduct C) (i : X.I) {Z : CategoryTheory.Limits.FormalCoproduct C} (h : X ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.FormalCoproduct.cofan X.I X.toFun).inj i) (CategoryTheory.CategoryStruct.comp X.cofanPtIsoSelf.hom h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.Hom.fromIncl i (CategoryTheory.CategoryStruct.id (X.obj i))) h - CategoryTheory.Limits.FormalCoproduct.isColimitCofan_desc_φ 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (𝒜 : Type w) (f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C) (t : CategoryTheory.Limits.Cofan f) (p : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).pt.I) : ((CategoryTheory.Limits.FormalCoproduct.isColimitCofan 𝒜 f).desc t).φ p = (t.inj p.fst).φ p.snd - CategoryTheory.Limits.FormalCoproduct.ι_comp_coproductIsoCofanPt_assoc 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {𝒜 : Type w} {f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C} (i : 𝒜) {Z : CategoryTheory.Limits.FormalCoproduct C} (h : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι f i) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.coproductIsoCofanPt 𝒜 f).hom h) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i) h - CategoryTheory.Limits.FormalCoproduct.fromIncl_comp_cofanPtIsoSelf_inv_assoc 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (X : CategoryTheory.Limits.FormalCoproduct C) (i : X.I) {Z : CategoryTheory.Limits.FormalCoproduct C} (h : (CategoryTheory.Limits.FormalCoproduct.cofan X.I X.toFun).pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.FormalCoproduct.Hom.fromIncl i (CategoryTheory.CategoryStruct.id (X.obj i))) (CategoryTheory.CategoryStruct.comp X.cofanPtIsoSelf.inv h) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Limits.FormalCoproduct.cofan X.I X.toFun).inj i) h - CategoryTheory.Limits.FormalCoproduct.cofanHomEquiv_apply_f 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (𝒜 : Type w) (f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C) (t : CategoryTheory.Limits.FormalCoproduct C) (m : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).pt ⟶ t) (i : 𝒜) (a✝ : (f i).I) : ((CategoryTheory.Limits.FormalCoproduct.cofanHomEquiv 𝒜 f t) m i).f a✝ = m.f (((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i).f a✝) - CategoryTheory.Limits.FormalCoproduct.cofanHomEquiv_apply_φ 📋 Mathlib.CategoryTheory.Limits.FormalCoproducts.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] (𝒜 : Type w) (f : 𝒜 → CategoryTheory.Limits.FormalCoproduct C) (t : CategoryTheory.Limits.FormalCoproduct C) (m : (CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).pt ⟶ t) (i : 𝒜) (x✝ : (f i).I) : ((CategoryTheory.Limits.FormalCoproduct.cofanHomEquiv 𝒜 f t) m i).φ x✝ = m.φ (((CategoryTheory.Limits.FormalCoproduct.cofan 𝒜 f).inj i).f x✝) - Condensed.isoFinYoneda_hom_app_hom_apply 📋 Mathlib.Condensed.Discrete.Colimit
(F : CategoryTheory.Functor Profiniteᵒᵖ (Type (u + 1))) [CategoryTheory.Limits.PreservesFiniteProducts F] (X : FintypeCatᵒᵖ) (x : (CategoryTheory.Limits.Fan.mk (F.obj (Opposite.op (Condensed.fintypeCatAsCofan (FintypeCat.toProfinite.obj (Opposite.unop X))).pt)) fun j => F.map ((Condensed.fintypeCatAsCofan (FintypeCat.toProfinite.obj (Opposite.unop X))).inj j).op).pt) (j : ↑(FintypeCat.toProfinite.obj (Opposite.unop X)).toTop) : (CategoryTheory.ConcreteCategory.hom ((Condensed.isoFinYoneda F).hom.app X)) x j = (CategoryTheory.ConcreteCategory.hom (F.map ((Condensed.fintypeCatAsCofan (Profinite.of (Opposite.unop X).obj)).inj j).op)) x - LightCondensed.isoFinYoneda_hom_app_hom_apply 📋 Mathlib.Condensed.Discrete.Colimit
(F : CategoryTheory.Functor LightProfiniteᵒᵖ (Type u)) [CategoryTheory.Limits.PreservesFiniteProducts F] (X : FintypeCatᵒᵖ) (x : (CategoryTheory.Limits.Fan.mk (F.obj (Opposite.op (LightCondensed.fintypeCatAsCofan (FintypeCat.toLightProfinite.obj (Opposite.unop X))).pt)) fun j => F.map ((LightCondensed.fintypeCatAsCofan (FintypeCat.toLightProfinite.obj (Opposite.unop X))).inj j).op).pt) (j : ↑(FintypeCat.toLightProfinite.obj (Opposite.unop X)).toTop) : (CategoryTheory.ConcreteCategory.hom ((LightCondensed.isoFinYoneda F).hom.app X)) x j = (CategoryTheory.ConcreteCategory.hom (F.map ((LightCondensed.fintypeCatAsCofan (LightProfinite.of (Opposite.unop X).obj)).inj j).op)) x - Condensed.isoFinYoneda_inv_app_hom_apply 📋 Mathlib.Condensed.Discrete.Colimit
(F : CategoryTheory.Functor Profiniteᵒᵖ (Type (u + 1))) [CategoryTheory.Limits.PreservesFiniteProducts F] (X : FintypeCatᵒᵖ) (a✝ : (CategoryTheory.Limits.Types.productLimitCone fun x => F.obj (Opposite.op (Profinite.of PUnit.{u + 1}))).cone.pt) : (CategoryTheory.ConcreteCategory.hom ((Condensed.isoFinYoneda F).inv.app X)) a✝ = (CategoryTheory.CategoryStruct.id (F.obj (Opposite.op (Condensed.fintypeCatAsCofan (Profinite.of (Opposite.unop X).obj)).pt))).hom' ((((CategoryTheory.Limits.IsLimit.postcomposeHomEquiv (CategoryTheory.Discrete.natIso fun j => CategoryTheory.Iso.refl (F.obj (Opposite.op (Profinite.of PUnit.{u + 1})))) (F.mapCone (CategoryTheory.Limits.Fan.mk (Opposite.op (Condensed.fintypeCatAsCofan (Profinite.of (Opposite.unop X).obj)).pt) fun a => ((Condensed.fintypeCatAsCofan (Profinite.of (Opposite.unop X).obj)).inj a).op))).symm (CategoryTheory.Limits.isLimitOfPreserves F (CategoryTheory.Limits.Cofan.IsColimit.op (Condensed.fintypeCatAsCofanIsColimit (Profinite.of (Opposite.unop X).obj))))).lift (CategoryTheory.Limits.Types.productLimitCone fun x => F.obj (Opposite.op (Profinite.of PUnit.{u + 1}))).cone).hom' a✝) - LightCondensed.isoFinYoneda_inv_app_hom_apply 📋 Mathlib.Condensed.Discrete.Colimit
(F : CategoryTheory.Functor LightProfiniteᵒᵖ (Type u)) [CategoryTheory.Limits.PreservesFiniteProducts F] (X : FintypeCatᵒᵖ) (a✝ : (CategoryTheory.Limits.Types.productLimitCone fun x => F.obj (Opposite.op (LightProfinite.of PUnit.{u + 1}))).cone.pt) : (CategoryTheory.ConcreteCategory.hom ((LightCondensed.isoFinYoneda F).inv.app X)) a✝ = (CategoryTheory.CategoryStruct.id (F.obj (Opposite.op (LightCondensed.fintypeCatAsCofan (LightProfinite.of (Opposite.unop X).obj)).pt))).hom' ((((CategoryTheory.Limits.IsLimit.postcomposeHomEquiv (CategoryTheory.Discrete.natIso fun j => CategoryTheory.Iso.refl (F.obj (Opposite.op (LightProfinite.of PUnit.{u + 1})))) (F.mapCone (CategoryTheory.Limits.Fan.mk (Opposite.op (LightCondensed.fintypeCatAsCofan (LightProfinite.of (Opposite.unop X).obj)).pt) fun a => ((LightCondensed.fintypeCatAsCofan (LightProfinite.of (Opposite.unop X).obj)).inj a).op))).symm (CategoryTheory.Limits.isLimitOfPreserves F (CategoryTheory.Limits.Cofan.IsColimit.op (LightCondensed.fintypeCatAsCofanIsColimit (LightProfinite.of (Opposite.unop X).obj))))).lift (CategoryTheory.Limits.Types.productLimitCone fun x => F.obj (Opposite.op (LightProfinite.of PUnit.{u + 1}))).cone).hom' a✝)
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