Loogle!
Result
Found 115 declarations mentioning add_zero.
- add_zero 📋 Mathlib.Algebra.Group.Monoid
{M : Type u_2} [AddZeroClass M] (a : M) : a + 0 = a - CategoryTheory.shiftFunctorAdd'_add_zero_hom_app 📋 Mathlib.CategoryTheory.Shift.Basic
{C : Type u} {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a : A) (X : C) : (CategoryTheory.shiftFunctorAdd' C a 0 a ⋯).hom.app X = (CategoryTheory.shiftFunctorZero C A).inv.app ((CategoryTheory.shiftFunctor C a).obj X) - CategoryTheory.shiftFunctorAdd'_add_zero_inv_app 📋 Mathlib.CategoryTheory.Shift.Basic
{C : Type u} {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a : A) (X : C) : (CategoryTheory.shiftFunctorAdd' C a 0 a ⋯).inv.app X = (CategoryTheory.shiftFunctorZero C A).hom.app ((CategoryTheory.shiftFunctor C a).obj X) - CategoryTheory.shiftFunctorAdd'_add_zero 📋 Mathlib.CategoryTheory.Shift.Basic
(C : Type u) {A : Type u_1} [CategoryTheory.Category.{v, u} C] [AddMonoid A] [CategoryTheory.HasShift C A] (a : A) : CategoryTheory.shiftFunctorAdd' C a 0 a ⋯ = (CategoryTheory.shiftFunctor C a).rightUnitor.symm ≪≫ (CategoryTheory.shiftFunctor C a).isoWhiskerLeft (CategoryTheory.shiftFunctorZero C A).symm - CategoryTheory.shiftFunctorCompIsoId_zero_zero_inv_app 📋 Mathlib.CategoryTheory.Shift.Basic
{C : Type u} (A : Type u_1) [CategoryTheory.Category.{v, u} C] [AddGroup A] [CategoryTheory.HasShift C A] (X : C) : (CategoryTheory.shiftFunctorCompIsoId C 0 0 ⋯).inv.app X = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctorZero C A).inv.app X) ((CategoryTheory.shiftFunctor C 0).map ((CategoryTheory.shiftFunctorZero C A).inv.app X)) - CategoryTheory.shiftFunctorCompIsoId_zero_zero_hom_app 📋 Mathlib.CategoryTheory.Shift.Basic
{C : Type u} (A : Type u_1) [CategoryTheory.Category.{v, u} C] [AddGroup A] [CategoryTheory.HasShift C A] (X : C) : (CategoryTheory.shiftFunctorCompIsoId C 0 0 ⋯).hom.app X = CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor C 0).map ((CategoryTheory.shiftFunctorZero C A).hom.app X)) ((CategoryTheory.shiftFunctorZero C A).hom.app X) - CochainComplex.HomComplex.Cochain.comp_id 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) : z₁.comp (CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.id G)) ⋯ = z₁ - CochainComplex.HomComplex.Cochain.comp_assoc_of_second_is_zero_cochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K L : CochainComplex C ℤ} {n₁ n₃ n₁₃ : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n₁) (z₂ : CochainComplex.HomComplex.Cochain G K 0) (z₃ : CochainComplex.HomComplex.Cochain K L n₃) (h₁₃ : n₁ + n₃ = n₁₃) : (z₁.comp z₂ ⋯).comp z₃ h₁₃ = z₁.comp (z₂.comp z₃ ⋯) h₁₃ - CochainComplex.HomComplex.Cochain.comp_assoc_of_third_is_zero_cochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K L : CochainComplex C ℤ} {n₁ n₂ n₁₂ : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n₁) (z₂ : CochainComplex.HomComplex.Cochain G K n₂) (z₃ : CochainComplex.HomComplex.Cochain K L 0) (h₁₂ : n₁ + n₂ = n₁₂) : (z₁.comp z₂ h₁₂).comp z₃ ⋯ = z₁.comp (z₂.comp z₃ ⋯) h₁₂ - CochainComplex.HomComplex.Cochain.ext₀ 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z₁ z₂ : CochainComplex.HomComplex.Cochain F G 0) (h : ∀ (p : ℤ), z₁.v p p ⋯ = z₂.v p p ⋯) : z₁ = z₂ - CochainComplex.HomComplex.Cochain.ext₀_iff 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} {z₁ z₂ : CochainComplex.HomComplex.Cochain F G 0} : z₁ = z₂ ↔ ∀ (p : ℤ), z₁.v p p ⋯ = z₂.v p p ⋯ - CochainComplex.HomComplex.Cochain.ofHoms_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (ψ : (p : ℤ) → F.X p ⟶ G.X p) (p : ℤ) : (CochainComplex.HomComplex.Cochain.ofHoms ψ).v p p ⋯ = ψ p - CochainComplex.HomComplex.Cochain.comp_assoc_of_second_degree_eq_neg_third_degree 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K L : CochainComplex C ℤ} {n₁ n₂ n₁₂ : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n₁) (z₂ : CochainComplex.HomComplex.Cochain G K (-n₂)) (z₃ : CochainComplex.HomComplex.Cochain K L n₂) (h₁₂ : n₁ + -n₂ = n₁₂) : (z₁.comp z₂ h₁₂).comp z₃ ⋯ = z₁.comp (z₂.comp z₃ ⋯) ⋯ - CochainComplex.HomComplex.δ_comp_ofHom 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) (f : G ⟶ K) (m : ℤ) : CochainComplex.HomComplex.δ n m (z₁.comp (CochainComplex.HomComplex.Cochain.ofHom f) ⋯) = (CochainComplex.HomComplex.δ n m z₁).comp (CochainComplex.HomComplex.Cochain.ofHom f) ⋯ - CochainComplex.HomComplex.δ_comp_zero_cochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n₁ : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n₁) (z₂ : CochainComplex.HomComplex.Cochain G K 0) (m₁ : ℤ) (h₁ : n₁ + 1 = m₁) : CochainComplex.HomComplex.δ n₁ m₁ (z₁.comp z₂ ⋯) = z₁.comp (CochainComplex.HomComplex.δ 0 1 z₂) h₁ + (CochainComplex.HomComplex.δ n₁ m₁ z₁).comp z₂ ⋯ - CochainComplex.HomComplex.Cochain.ofHom_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) (p : ℤ) : (CochainComplex.HomComplex.Cochain.ofHom φ).v p p ⋯ = φ.f p - CochainComplex.HomComplex.Cochain.comp_zero_cochain_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) (z₂ : CochainComplex.HomComplex.Cochain G K 0) (p q : ℤ) (hpq : p + n = q) : (z₁.comp z₂ ⋯).v p q hpq = CategoryTheory.CategoryStruct.comp (z₁.v p q hpq) (z₂.v q q ⋯) - CochainComplex.HomComplex.Cochain.zero_cochain_comp_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G 0) (z₂ : CochainComplex.HomComplex.Cochain G K n) (p q : ℤ) (hpq : p + n = q) : (z₁.comp z₂ ⋯).v p q hpq = CategoryTheory.CategoryStruct.comp (z₁.v p p ⋯) (z₂.v p q hpq) - CochainComplex.HomComplex.δ_comp_zero_cocycle 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G K : CochainComplex C ℤ} {n : ℤ} (z₁ : CochainComplex.HomComplex.Cochain F G n) (z₂ : CochainComplex.HomComplex.Cocycle G K 0) (m : ℤ) : CochainComplex.HomComplex.δ n m (z₁.comp ↑z₂ ⋯) = (CochainComplex.HomComplex.δ n m z₁).comp ↑z₂ ⋯ - CochainComplex.HomComplex.δ_zero_cochain_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplex
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (z : CochainComplex.HomComplex.Cochain F G 0) (p q : ℤ) (hpq : p + 1 = q) : (CochainComplex.HomComplex.δ 0 1 z).v p q hpq = CategoryTheory.CategoryStruct.comp (z.v p p ⋯) (G.d p q) - CategoryTheory.CategoryStruct.comp (F.d p q) (z.v q q ⋯) - CochainComplex.mappingCone.liftCochain_snd 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) : (CochainComplex.mappingCone.liftCochain φ α β h).comp (CochainComplex.mappingCone.snd φ) ⋯ = β - CochainComplex.mappingCone.inl_snd 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] : (CochainComplex.mappingCone.inl φ).comp (CochainComplex.mappingCone.snd φ) ⋯ = 0 - CochainComplex.mappingCone.inr_f_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p : ℤ) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.inr φ).f p) ((CochainComplex.mappingCone.snd φ).v p p ⋯) = CategoryTheory.CategoryStruct.id (G.X p) - CochainComplex.mappingCone.liftCocycle 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cocycle K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) (eq : CochainComplex.HomComplex.δ n m β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : CochainComplex.HomComplex.Cocycle K (CochainComplex.mappingCone φ) n - CochainComplex.mappingCone.liftCochain_v_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) (p₁ p₂ : ℤ) (h₁₂ : p₁ + n = p₂) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.liftCochain φ α β h).v p₁ p₂ h₁₂) ((CochainComplex.mappingCone.snd φ).v p₂ p₂ ⋯) = β.v p₁ p₂ h₁₂ - CochainComplex.mappingCone.inl_desc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cochain F K (-1)) (β : G ⟶ K) (eq : CochainComplex.HomComplex.δ (-1) 0 α = CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp φ β)) : (CochainComplex.mappingCone.inl φ).comp (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.desc φ α β eq)) ⋯ = α - CochainComplex.mappingCone.inr_f_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p : ℤ) {Z : C} (h : G.X p ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.inr φ).f p) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v p p ⋯) h) = h - CochainComplex.mappingCone.δ_snd 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] : CochainComplex.HomComplex.δ 0 1 (CochainComplex.mappingCone.snd φ) = -(↑(CochainComplex.mappingCone.fst φ)).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ - CochainComplex.mappingCone.liftCochain_v_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) (p₁ p₂ : ℤ) (h₁₂ : p₁ + n = p₂) {Z : C} (h✝ : G.X p₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.liftCochain φ α β h).v p₁ p₂ h₁₂) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v p₂ p₂ ⋯) h✝) = CategoryTheory.CategoryStruct.comp (β.v p₁ p₂ h₁₂) h✝ - CochainComplex.mappingCone.δ_liftCochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) (m' : ℤ) (hm' : m + 1 = m') : CochainComplex.HomComplex.δ n m (CochainComplex.mappingCone.liftCochain φ α β h) = -(CochainComplex.HomComplex.δ m m' α).comp (CochainComplex.mappingCone.inl φ) ⋯ + (CochainComplex.HomComplex.δ n m β + α.comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯).comp (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)) ⋯ - CochainComplex.mappingCone.inl_v_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.inl φ).v p q hpq) ((CochainComplex.mappingCone.snd φ).v q q ⋯) = 0 - CochainComplex.mappingCone.lift_snd 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.lift φ α β eq)).comp (CochainComplex.mappingCone.snd φ) ⋯ = β - CochainComplex.mappingCone.lift 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : K ⟶ CochainComplex.mappingCone φ - CochainComplex.mappingCone.liftCocycle_coe 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cocycle K F m) (β : CochainComplex.HomComplex.Cochain K G n) (h : n + 1 = m) (eq : CochainComplex.HomComplex.δ n m β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : ↑(CochainComplex.mappingCone.liftCocycle φ α β h eq) = CochainComplex.mappingCone.liftCochain φ (↑α) β h - CochainComplex.mappingCone.inl_v_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q) {Z : C} (h : G.X q ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.inl φ).v p q hpq) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v q q ⋯) h) = CategoryTheory.CategoryStruct.comp 0 h - CochainComplex.mappingCone.ofHom_lift 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.lift φ α β eq) = CochainComplex.mappingCone.liftCochain φ (↑α) β ⋯ - CochainComplex.mappingCone.ext_cochain_to_iff 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {K : CochainComplex C ℤ} {γ₁ γ₂ : CochainComplex.HomComplex.Cochain K (CochainComplex.mappingCone φ) i} : γ₁ = γ₂ ↔ γ₁.comp (↑(CochainComplex.mappingCone.fst φ)) hij = γ₂.comp (↑(CochainComplex.mappingCone.fst φ)) hij ∧ γ₁.comp (CochainComplex.mappingCone.snd φ) ⋯ = γ₂.comp (CochainComplex.mappingCone.snd φ) ⋯ - CochainComplex.mappingCone.lift_f_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (p q : ℤ) (hpq : p + 0 = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.lift φ α β eq).f p) ((CochainComplex.mappingCone.snd φ).v p q hpq) = β.v p q hpq - CochainComplex.mappingCone.id 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] : (↑(CochainComplex.mappingCone.fst φ)).comp (CochainComplex.mappingCone.inl φ) ⋯ + (CochainComplex.mappingCone.snd φ).comp (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.inr φ)) ⋯ = CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.id (CochainComplex.mappingCone φ)) - CochainComplex.mappingCone.lift_f_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (p q : ℤ) (hpq : p + 0 = q) {Z : C} (h : G.X q ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.lift φ α β eq).f p) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v p q hpq) h) = CategoryTheory.CategoryStruct.comp (β.v p q hpq) h - CochainComplex.mappingCone.lift_fst 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCone.lift φ α β eq)).comp ↑(CochainComplex.mappingCone.fst φ) ⋯ = ↑α - CochainComplex.mappingCone.descHomotopy 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (f₁ f₂ : CochainComplex.mappingCone φ ⟶ K) (γ₁ : CochainComplex.HomComplex.Cochain F K (-2)) (γ₂ : CochainComplex.HomComplex.Cochain G K (-1)) (h₁ : (CochainComplex.mappingCone.inl φ).comp (CochainComplex.HomComplex.Cochain.ofHom f₁) ⋯ = CochainComplex.HomComplex.δ (-2) (-1) γ₁ + (CochainComplex.HomComplex.Cochain.ofHom φ).comp γ₂ ⋯ + (CochainComplex.mappingCone.inl φ).comp (CochainComplex.HomComplex.Cochain.ofHom f₂) ⋯) (h₂ : CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp (CochainComplex.mappingCone.inr φ) f₁) = CochainComplex.HomComplex.δ (-1) 0 γ₂ + CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp (CochainComplex.mappingCone.inr φ) f₂)) : Homotopy f₁ f₂ - CochainComplex.mappingCone.lift_f_fst_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (p q : ℤ) (hpq : p + 1 = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.lift φ α β eq).f p) ((↑(CochainComplex.mappingCone.fst φ)).v p q hpq) = (↑α).v p q hpq - CochainComplex.mappingCone.ext_to 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {A : C} {f g : A ⟶ (CochainComplex.mappingCone φ).X i} (h₁ : CategoryTheory.CategoryStruct.comp f ((↑(CochainComplex.mappingCone.fst φ)).v i j hij) = CategoryTheory.CategoryStruct.comp g ((↑(CochainComplex.mappingCone.fst φ)).v i j hij)) (h₂ : CategoryTheory.CategoryStruct.comp f ((CochainComplex.mappingCone.snd φ).v i i ⋯) = CategoryTheory.CategoryStruct.comp g ((CochainComplex.mappingCone.snd φ).v i i ⋯)) : f = g - CochainComplex.mappingCone.ext_to_iff 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {A : C} (f g : A ⟶ (CochainComplex.mappingCone φ).X i) : f = g ↔ CategoryTheory.CategoryStruct.comp f ((↑(CochainComplex.mappingCone.fst φ)).v i j hij) = CategoryTheory.CategoryStruct.comp g ((↑(CochainComplex.mappingCone.fst φ)).v i j hij) ∧ CategoryTheory.CategoryStruct.comp f ((CochainComplex.mappingCone.snd φ).v i i ⋯) = CategoryTheory.CategoryStruct.comp g ((CochainComplex.mappingCone.snd φ).v i i ⋯) - CochainComplex.mappingCone.decomp_from 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {j : ℤ} {A : C} (f : (CochainComplex.mappingCone φ).X j ⟶ A) (i : ℤ) (hij : j + 1 = i) : ∃ a b, f = CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v j i hij) a + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v j j ⋯) b - CochainComplex.mappingCone.lift_f_fst_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (p q : ℤ) (hpq : p + 1 = q) {Z : C} (h : F.X q ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.lift φ α β eq).f p) (CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v p q hpq) h) = CategoryTheory.CategoryStruct.comp ((↑α).v p q hpq) h - CochainComplex.mappingCone.id_X 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + 1 = q) : CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v p q hpq) ((CochainComplex.mappingCone.inl φ).v q p ⋯) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v p p ⋯) ((CochainComplex.mappingCone.inr φ).f p) = CategoryTheory.CategoryStruct.id ((CochainComplex.mappingCone φ).X p) - CochainComplex.mappingCone.d_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone φ).d i j) ((CochainComplex.mappingCone.snd φ).v j j ⋯) = CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v i j hij) (φ.f j) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v i i ⋯) (G.d i j) - CochainComplex.mappingCone.desc_f 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cochain F K (-1)) (β : G ⟶ K) (eq : CochainComplex.HomComplex.δ (-1) 0 α = CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp φ β)) (p q : ℤ) (hpq : p + 1 = q) : (CochainComplex.mappingCone.desc φ α β eq).f p = CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v p q hpq) (α.v q p ⋯) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v p p ⋯) (β.f p) - CochainComplex.mappingCone.d_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (i j : ℤ) (hij : i + 1 = j) {Z : C} (h : G.X j ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone φ).d i j) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v j j ⋯) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v i j hij) (φ.f j) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v i i ⋯) (G.d i j)) h - CochainComplex.mappingCone.lift_f 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (p q : ℤ) (hpq : p + 1 = q) : (CochainComplex.mappingCone.lift φ α β eq).f p = CategoryTheory.CategoryStruct.comp ((↑α).v p q hpq) ((CochainComplex.mappingCone.inl φ).v q p ⋯) + CategoryTheory.CategoryStruct.comp (β.v p p ⋯) ((CochainComplex.mappingCone.inr φ).f p) - CochainComplex.mappingCone.d_snd_v' 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (n : ℤ) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone φ).d (n - 1) n) ((CochainComplex.mappingCone.snd φ).v n n ⋯) = CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v (n - 1) n ⋯) (φ.f n) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v (n - 1) (n - 1) ⋯) (G.d (n - 1) n) - CochainComplex.mappingCone.d_snd_v'_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] (n : ℤ) {Z : C} (h : G.X n ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone φ).d (n - 1) n) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v n n ⋯) h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp ((↑(CochainComplex.mappingCone.fst φ)).v (n - 1) n ⋯) (φ.f n) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd φ).v (n - 1) (n - 1) ⋯) (G.d (n - 1) n)) h - CochainComplex.mappingCone.lift_desc_f 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCone
{C : Type u_1} [CategoryTheory.Category.{v, u_1} C] [CategoryTheory.Preadditive C] {F G : CochainComplex C ℤ} (φ : F ⟶ G) [HomologicalComplex.HasHomotopyCofiber φ] {K L : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cocycle K F 1) (β : CochainComplex.HomComplex.Cochain K G 0) (eq : CochainComplex.HomComplex.δ 0 1 β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) (α' : CochainComplex.HomComplex.Cochain F L (-1)) (β' : G ⟶ L) (eq' : CochainComplex.HomComplex.δ (-1) 0 α' = CochainComplex.HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp φ β')) (n n' : ℤ) (hnn' : n + 1 = n') : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.lift φ α β eq).f n) ((CochainComplex.mappingCone.desc φ α' β' eq').f n) = CategoryTheory.CategoryStruct.comp ((↑α).v n n' hnn') (α'.v n' n ⋯) + CategoryTheory.CategoryStruct.comp (β.v n n ⋯) (β'.f n) - CategoryTheory.Functor.CommShift.isoAdd'_isoZero 📋 Mathlib.CategoryTheory.Shift.CommShift
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] {F : CategoryTheory.Functor C D} {A : Type u_4} [AddMonoid A] [CategoryTheory.HasShift C A] [CategoryTheory.HasShift D A] {a : A} (e : (CategoryTheory.shiftFunctor C a).comp F ≅ F.comp (CategoryTheory.shiftFunctor D a)) : CategoryTheory.Functor.CommShift.isoAdd' ⋯ e (CategoryTheory.Functor.CommShift.isoZero F A) = e - CochainComplex.HomComplex.Cochain.leftShift_comp_zero_cochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexShift
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {K L M : CochainComplex C ℤ} {n : ℤ} (γ : CochainComplex.HomComplex.Cochain K L n) (a n' : ℤ) (hn' : n + a = n') (γ' : CochainComplex.HomComplex.Cochain L M 0) : (γ.comp γ' ⋯).leftShift a n' hn' = (γ.leftShift a n' hn').comp γ' ⋯ - CategoryTheory.ShiftedHom.map_naturality 📋 Mathlib.CategoryTheory.Shift.ShiftedHom
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] {X Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) {F G : CategoryTheory.Functor C D} (τ : F ⟶ G) [F.CommShift M] [G.CommShift M] [CategoryTheory.NatTrans.CommShift τ M] : (f.map F).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (τ.app Y)) ⋯ = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (τ.app X)).comp (f.map G) ⋯ - CategoryTheory.ShiftedHom.map_naturality_1 📋 Mathlib.CategoryTheory.Shift.ShiftedHom
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] {X Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) {F G : CategoryTheory.Functor C D} (e : F ≅ G) [F.CommShift M] [G.CommShift M] [CategoryTheory.NatTrans.CommShift e.hom M] : (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (e.inv.app X)).comp ((f.map F).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (e.hom.app Y)) ⋯) ⋯ = f.map G - CategoryTheory.ShiftedHom.map_naturality_2 📋 Mathlib.CategoryTheory.Shift.ShiftedHom
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] {X Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) {F G : CategoryTheory.Functor C D} (e : F ≅ G) [F.CommShift M] [G.CommShift M] [CategoryTheory.NatTrans.CommShift e.hom M] : (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (e.hom.app X)).comp ((f.map G).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (e.inv.app Y)) ⋯) ⋯ = f.map F - CochainComplex.mappingCocone.liftCochain_comp_fst 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain M K n) (β : CochainComplex.HomComplex.Cochain M L m) (h : m + 1 = n) : (CochainComplex.mappingCocone.liftCochain φ α β h).comp (CochainComplex.HomComplex.Cochain.ofHom (CochainComplex.mappingCocone.fst φ)) ⋯ = α - CochainComplex.mappingCocone.inl_v_fst_f 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] (p : ℤ) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) ((CochainComplex.mappingCocone.fst φ).f p) = CategoryTheory.CategoryStruct.id (K.X p) - CochainComplex.mappingCocone.liftCocycle 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cocycle M K n) (β : CochainComplex.HomComplex.Cochain M L m) (h : m + 1 = n) (hαβ : CochainComplex.HomComplex.δ m n β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : CochainComplex.HomComplex.Cocycle M (CochainComplex.mappingCocone φ) n - CochainComplex.mappingCocone.inl_v_descCochain_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K M m) (β : CochainComplex.HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ℤ) (hpq : p + m = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) ((CochainComplex.mappingCocone.descCochain φ α β h).v p q hpq) = α.v p q hpq - CochainComplex.mappingCocone.inl_v_fst_f_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] (p : ℤ) {Z : C} (h : K.X p ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.fst φ).f p) h) = h - CochainComplex.mappingCocone.inl_v_descCochain_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain K M m) (β : CochainComplex.HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ℤ) (hpq : p + m = q) {Z : C} (h✝ : M.X q ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.descCochain φ α β h).v p q hpq) h✝) = CategoryTheory.CategoryStruct.comp (α.v p q hpq) h✝ - CochainComplex.mappingCocone.inl_v_snd_v 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) ((CochainComplex.mappingCocone.snd φ).v p q hpq) = 0 - CochainComplex.mappingCocone.δ_liftCochain 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cochain M K n) (β : CochainComplex.HomComplex.Cochain M L m) (h : m + 1 = n) (n' : ℤ) (hn' : n + 1 = n') : CochainComplex.HomComplex.δ n n' (CochainComplex.mappingCocone.liftCochain φ α β h) = (CochainComplex.HomComplex.δ n n' α).comp (CochainComplex.mappingCocone.inl φ) ⋯ - (CochainComplex.HomComplex.δ m n β + α.comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯).comp (↑(CochainComplex.mappingCocone.inr φ)) hn' - CochainComplex.mappingCocone.liftCocycle_coe 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} {n m : ℤ} (α : CochainComplex.HomComplex.Cocycle M K n) (β : CochainComplex.HomComplex.Cochain M L m) (h : m + 1 = n) (hαβ : CochainComplex.HomComplex.δ m n β + (↑α).comp (CochainComplex.HomComplex.Cochain.ofHom φ) ⋯ = 0) : ↑(CochainComplex.mappingCocone.liftCocycle φ α β h hαβ) = CochainComplex.mappingCocone.liftCochain φ (↑α) β h - CochainComplex.mappingCocone.inl_v_snd_v_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q) {Z : C} (h : L.X q ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.snd φ).v p q hpq) h) = CategoryTheory.CategoryStruct.comp 0 h - CochainComplex.mappingCocone.inl_v_desc_f 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cochain K M 0) (β : CochainComplex.HomComplex.Cocycle L M 1) (hαβ : CochainComplex.HomComplex.δ 0 1 α + (CochainComplex.HomComplex.Cochain.ofHom φ).comp ↑β ⋯ = 0) (p : ℤ) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) ((CochainComplex.mappingCocone.desc φ α β hαβ).f p) = α.v p p ⋯ - CochainComplex.mappingCocone.inl_v_desc_f_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C ℤ} (α : CochainComplex.HomComplex.Cochain K M 0) (β : CochainComplex.HomComplex.Cocycle L M 1) (hαβ : CochainComplex.HomComplex.δ 0 1 α + (CochainComplex.HomComplex.Cochain.ofHom φ).comp ↑β ⋯ = 0) (p : ℤ) {Z : C} (h : M.X p ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.inl φ).v p p ⋯) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.desc φ α β hαβ).f p) h) = CategoryTheory.CategoryStruct.comp (α.v p p ⋯) h - CochainComplex.mappingCocone.id_X 📋 Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) [HomologicalComplex.HasHomotopyCofiber φ] (p q : ℤ) (hpq : p + -1 = q) : CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.fst φ).f p) ((CochainComplex.mappingCocone.inl φ).v p p ⋯) + CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCocone.snd φ).v p q hpq) ((↑(CochainComplex.mappingCocone.inr φ)).v q p ⋯) = CategoryTheory.CategoryStruct.id ((CochainComplex.mappingCocone φ).X p) - CategoryTheory.LocalizerMorphism.smallShiftedHomMap_mk 📋 Mathlib.CategoryTheory.Localization.SmallShiftedHom
{C₁ : Type u₁} [CategoryTheory.Category.{v₁, u₁} C₁] {C₂ : Type u₂} [CategoryTheory.Category.{v₂, u₂} C₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C₁ M] [CategoryTheory.HasShift C₂ M] [Φ.functor.CommShift M] {X₁ Y₁ : C₁} {X₂ Y₂ : C₂} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₁ M X₁ Y₁] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M X₂ X₂] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M X₂ Y₂] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M Y₂ Y₂] (eX : Φ.functor.obj X₁ ≅ X₂) (eY : Φ.functor.obj Y₁ ≅ Y₂) [W₁.IsCompatibleWithShift M] [W₂.IsCompatibleWithShift M] {m : M} (f : CategoryTheory.ShiftedHom X₁ Y₁ m) : Φ.smallShiftedHomMap eX eY (CategoryTheory.Localization.SmallShiftedHom.mk W₁ f) = CategoryTheory.Localization.SmallShiftedHom.mk W₂ ((CategoryTheory.ShiftedHom.mk₀ 0 ⋯ eX.inv).comp ((f.map Φ.functor).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ eY.hom) ⋯) ⋯) - CategoryTheory.LocalizerMorphism.equiv_smallShiftedHomMap 📋 Mathlib.CategoryTheory.Localization.SmallShiftedHom
{C₁ : Type u₁} [CategoryTheory.Category.{v₁, u₁} C₁] {C₂ : Type u₂} [CategoryTheory.Category.{v₂, u₂} C₂] {D₁ : Type u₁'} [CategoryTheory.Category.{v₁', u₁'} D₁] {D₂ : Type u₂'} [CategoryTheory.Category.{v₂', u₂'} D₂] {W₁ : CategoryTheory.MorphismProperty C₁} {W₂ : CategoryTheory.MorphismProperty C₂} (Φ : CategoryTheory.LocalizerMorphism W₁ W₂) (L₁ : CategoryTheory.Functor C₁ D₁) (L₂ : CategoryTheory.Functor C₂ D₂) [L₁.IsLocalization W₁] [L₂.IsLocalization W₂] {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C₁ M] [CategoryTheory.HasShift C₂ M] [CategoryTheory.HasShift D₁ M] [CategoryTheory.HasShift D₂ M] [L₁.CommShift M] [L₂.CommShift M] [Φ.functor.CommShift M] {X₁ Y₁ : C₁} {X₂ Y₂ : C₂} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₁ M X₁ Y₁] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M X₂ X₂] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M X₂ Y₂] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W₂ M Y₂ Y₂] (eX : Φ.functor.obj X₁ ≅ X₂) (eY : Φ.functor.obj Y₁ ≅ Y₂) (G : CategoryTheory.Functor D₁ D₂) [G.CommShift M] (e : Φ.functor.comp L₂ ≅ L₁.comp G) [CategoryTheory.NatTrans.CommShift e.hom M] {m : M} (f : CategoryTheory.Localization.SmallShiftedHom W₁ X₁ Y₁ m) : (CategoryTheory.Localization.SmallShiftedHom.equiv W₂ L₂) (Φ.smallShiftedHomMap eX eY f) = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp (L₂.map eX.inv) (e.hom.app X₁))).comp ((((CategoryTheory.Localization.SmallShiftedHom.equiv W₁ L₁) f).map G).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp (e.inv.app Y₁) (L₂.map eY.hom))) ⋯) ⋯ - CategoryTheory.Abelian.Ext.comp_mk₀_id 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} {n : ℕ} (α : CategoryTheory.Abelian.Ext X Y n) : α.comp (CategoryTheory.Abelian.Ext.mk₀ (CategoryTheory.CategoryStruct.id Y)) ⋯ = α - CategoryTheory.Abelian.Ext.comp_assoc_of_second_deg_zero 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y Z T : C} {a₁ a₃ a₁₃ : ℕ} (α : CategoryTheory.Abelian.Ext X Y a₁) (β : CategoryTheory.Abelian.Ext Y Z 0) (γ : CategoryTheory.Abelian.Ext Z T a₃) (h₁₃ : a₁ + a₃ = a₁₃) : (α.comp β ⋯).comp γ h₁₃ = α.comp (β.comp γ ⋯) h₁₃ - CategoryTheory.Abelian.Ext.comp_assoc_of_third_deg_zero 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y Z T : C} {a₁ a₂ a₁₂ : ℕ} (α : CategoryTheory.Abelian.Ext X Y a₁) (β : CategoryTheory.Abelian.Ext Y Z a₂) (γ : CategoryTheory.Abelian.Ext Z T 0) (h₁₂ : a₁ + a₂ = a₁₂) : (α.comp β h₁₂).comp γ ⋯ = α.comp (β.comp γ ⋯) h₁₂ - CategoryTheory.ShortComplex.ShortExact.extClass_naturality 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {S₁ S₂ : CategoryTheory.ShortComplex C} (h₁ : S₁.ShortExact) (h₂ : S₂.ShortExact) (f : S₁ ⟶ S₂) : h₁.extClass.comp (CategoryTheory.Abelian.Ext.mk₀ f.τ₁) ⋯ = (CategoryTheory.Abelian.Ext.mk₀ f.τ₃).comp h₂.extClass ⋯ - CategoryTheory.ShortComplex.ShortExact.extClass_comp 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExtClass
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) : hS.extClass.comp (CategoryTheory.Abelian.Ext.mk₀ S.f) ⋯ = 0 - CategoryTheory.Abelian.Ext.mono_postcomp_mk₀_of_mono 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (L : C) {M N : C} (f : M ⟶ N) [hf : CategoryTheory.Mono f] : CategoryTheory.Mono (AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ f).postcomp L ⋯)) - CategoryTheory.Abelian.Ext.covariant_sequence_exact₁ 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) {n₁ : ℕ} (x₁ : CategoryTheory.Abelian.Ext X S.X₁ n₁) (hx₁ : x₁.comp (CategoryTheory.Abelian.Ext.mk₀ S.f) ⋯ = 0) {n₀ : ℕ} (hn₀ : n₀ + 1 = n₁) : ∃ x₃, x₃.comp hS.extClass hn₀ = x₁ - CategoryTheory.Abelian.Ext.covariant_sequence_exact₃ 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) {n₀ : ℕ} (x₃ : CategoryTheory.Abelian.Ext X S.X₃ n₀) {n₁ : ℕ} (hn₁ : n₀ + 1 = n₁) (hx₃ : x₃.comp hS.extClass hn₁ = 0) : ∃ x₂, x₂.comp (CategoryTheory.Abelian.Ext.mk₀ S.g) ⋯ = x₃ - CategoryTheory.Abelian.Ext.covariant_sequence_exact₂ 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) {n : ℕ} (x₂ : CategoryTheory.Abelian.Ext X S.X₂ n) (hx₂ : x₂.comp (CategoryTheory.Abelian.Ext.mk₀ S.g) ⋯ = 0) : ∃ x₁, x₁.comp (CategoryTheory.Abelian.Ext.mk₀ S.f) ⋯ = x₂ - CategoryTheory.Abelian.Ext.covariant_sequence_exact₁' 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) (n₀ n₁ : ℕ) (h : n₀ + 1 = n₁) : { X₁ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₃ n₀), X₂ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₁ n₁), X₃ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₂ n₁), f := AddCommGrpCat.ofHom (hS.extClass.postcomp X h), g := AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ S.f).postcomp X ⋯), zero := ⋯ }.Exact - CategoryTheory.Abelian.Ext.covariant_sequence_exact₃' 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) (n₀ n₁ : ℕ) (h : n₀ + 1 = n₁) : { X₁ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₂ n₀), X₂ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₃ n₀), X₃ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₁ n₁), f := AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ S.g).postcomp X ⋯), g := AddCommGrpCat.ofHom (hS.extClass.postcomp X h), zero := ⋯ }.Exact - CategoryTheory.Abelian.Ext.covariant_sequence_exact₂' 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) {S : CategoryTheory.ShortComplex C} (hS : S.ShortExact) (n : ℕ) : { X₁ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₁ n), X₂ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₂ n), X₃ := AddCommGrpCat.of (CategoryTheory.Abelian.Ext X S.X₃ n), f := AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ S.f).postcomp X ⋯), g := AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ S.g).postcomp X ⋯), zero := ⋯ }.Exact - CategoryTheory.Abelian.Ext.postcomp_mk₀_injective_of_mono 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (L : C) {M N : C} (f : M ⟶ N) [hf : CategoryTheory.Mono f] : Function.Injective ⇑((CategoryTheory.Abelian.Ext.mk₀ f).postcomp L ⋯) - CategoryTheory.Abelian.Ext.hom_comp_singleFunctor_map_shift 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] [HasDerivedCategory C] {X Y Z : C} {n : ℕ} (x : CategoryTheory.Abelian.Ext X Y n) (f : Y ⟶ Z) : CategoryTheory.CategoryStruct.comp x.hom ((CategoryTheory.shiftFunctor (DerivedCategory C) ↑n).map ((DerivedCategory.singleFunctor C 0).map f)) = (x.comp (CategoryTheory.Abelian.Ext.mk₀ f) ⋯).hom - CategoryTheory.Abelian.Ext.one_subsingleton_iff_of_projective 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] (X : C) (S : CategoryTheory.ShortComplex C) (S_exact : S.ShortExact) (proj : CategoryTheory.Projective S.X₂) : Subsingleton (CategoryTheory.Abelian.Ext S.X₃ X 1) ↔ Function.Surjective ⇑((CategoryTheory.Abelian.Ext.mk₀ S.f).precomp X ⋯) - CategoryTheory.Abelian.Ext.smul_eq_comp_mk₀ 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.Linear
{R : Type t} [Ring R] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.Linear R C] [CategoryTheory.HasExt C] {X Y : C} {n : ℕ} (x : CategoryTheory.Abelian.Ext X Y n) (r : R) : r • x = x.comp (CategoryTheory.Abelian.Ext.mk₀ (r • CategoryTheory.CategoryStruct.id Y)) ⋯ - CategoryTheory.Abelian.Ext.postcomp_smul_id_eq_zero_of_mem_annihilator 📋 Mathlib.Algebra.Category.ModuleCat.Ext.Basic
{R : Type u} [CommRing R] [Small.{v, u} R] {M N : ModuleCat R} {r : R} (mem_ann : r ∈ Module.annihilator R ↑N) (n : ℕ) : AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ (r • CategoryTheory.CategoryStruct.id M)).postcomp N ⋯) = 0 - CategoryTheory.Abelian.Ext.postcomp_smul_id_mono_iff 📋 Mathlib.Algebra.Category.ModuleCat.Ext.Basic
{R : Type u} [CommRing R] [Small.{v, u} R] {M N : ModuleCat R} (r : R) (i : ℕ) : CategoryTheory.Mono (AddCommGrpCat.ofHom ((CategoryTheory.Abelian.Ext.mk₀ (r • CategoryTheory.CategoryStruct.id M)).postcomp N ⋯)) ↔ IsSMulRegular (CategoryTheory.Abelian.Ext N M i) r - SimplexCategory.δ₀Iter_zero 📋 Mathlib.AlgebraicTopology.SimplexCategory.DeltaZeroIter
(n : ℕ) : SimplexCategory.δ₀Iter 0 ⋯ = CategoryTheory.CategoryStruct.id { len := n } - SimplexCategory.σ₀Iter_zero 📋 Mathlib.AlgebraicTopology.SimplexCategory.DeltaZeroIter
(n : ℕ) : SimplexCategory.σ₀Iter 0 ⋯ = CategoryTheory.CategoryStruct.id { len := n } - CategoryTheory.SimplicialObject.δ₀Iter_zero 📋 Mathlib.AlgebraicTopology.SimplicialObject.DeltaZeroIter
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (X : CategoryTheory.SimplicialObject C) (n : ℕ) : X.δ₀Iter 0 ⋯ = CategoryTheory.CategoryStruct.id (X.obj (Opposite.op { len := n })) - CategoryTheory.SimplicialObject.σ₀Iter_zero 📋 Mathlib.AlgebraicTopology.SimplicialObject.DeltaZeroIter
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (X : CategoryTheory.SimplicialObject C) (n : ℕ) : X.σ₀Iter 0 ⋯ = CategoryTheory.CategoryStruct.id (X.obj (Opposite.op { len := n })) - CochainComplex.cm5b.i_f_comp 📋 Mathlib.Algebra.Homology.Factorizations.CM5b
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] [CategoryTheory.EnoughInjectives C] {K L : CochainComplex C ℤ} (f : K ⟶ L) (n : ℤ) : CategoryTheory.CategoryStruct.comp ((CochainComplex.cm5b.i f).f n) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.biprod.fst.f n) ((CochainComplex.mappingCone.snd (CategoryTheory.CategoryStruct.id (CochainComplex.cm5b.I K))).v n n ⋯)) = CategoryTheory.Injective.ι (K.X n) - CochainComplex.cm5b.i_f_comp_assoc 📋 Mathlib.Algebra.Homology.Factorizations.CM5b
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] [CategoryTheory.EnoughInjectives C] {K L : CochainComplex C ℤ} (f : K ⟶ L) (n : ℤ) {Z : C} (h : (CochainComplex.cm5b.I K).X n ⟶ Z) : CategoryTheory.CategoryStruct.comp ((CochainComplex.cm5b.i f).f n) (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.biprod.fst.f n) (CategoryTheory.CategoryStruct.comp ((CochainComplex.mappingCone.snd (CategoryTheory.CategoryStruct.id (CochainComplex.cm5b.I K))).v n n ⋯) h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Injective.ι (K.X n)) h - CochainComplex.Lifting.comp_coe_cocycle₁_comp 📋 Mathlib.Algebra.Homology.ModelCategory.Lifting
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {A B X Y : CochainComplex C ℤ} {t : A ⟶ X} {i : A ⟶ B} {p : X ⟶ Y} {b : B ⟶ Y} (sq : CategoryTheory.CommSq t i p b) (hsq : (n : ℤ) → ⋯.LiftStruct) {Q : CochainComplex C ℤ} {π : B ⟶ Q} {hπ : CategoryTheory.CategoryStruct.comp i π = 0} (hQ : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ π hπ)) {K : CochainComplex C ℤ} {ι : K ⟶ X} {hι : CategoryTheory.CategoryStruct.comp ι p = 0} (hK : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι ι hι)) : (CochainComplex.HomComplex.Cochain.ofHom π).comp ((↑(CochainComplex.Lifting.cocycle₁ sq hsq hQ hK)).comp (CochainComplex.HomComplex.Cochain.ofHom ι) ⋯) ⋯ = ↑(CochainComplex.Lifting.cocycle₁' sq hsq) - CategoryTheory.Abelian.Ext.mapExactFunctor_comp_mk₀_natTransApp 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.Map
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Abelian D] [CategoryTheory.HasExt C] [CategoryTheory.HasExt D] {X Y : C} {n : ℕ} (α : CategoryTheory.Abelian.Ext X Y n) {F G : CategoryTheory.Functor C D} [F.Additive] [G.Additive] [CategoryTheory.Limits.PreservesFiniteLimits F] [CategoryTheory.Limits.PreservesFiniteColimits F] [CategoryTheory.Limits.PreservesFiniteLimits G] [CategoryTheory.Limits.PreservesFiniteColimits G] (τ : F ⟶ G) : (CategoryTheory.Abelian.Ext.mapExactFunctor F α).comp (CategoryTheory.Abelian.Ext.mk₀ (τ.app Y)) ⋯ = (CategoryTheory.Abelian.Ext.mk₀ (τ.app X)).comp (CategoryTheory.Abelian.Ext.mapExactFunctor G α) ⋯ - CochainComplex.HomComplex.Cochain.fromSingleMk_postcomp 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexSingle
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C ℤ} {p q : ℤ} (f : X ⟶ K.X q) {n : ℤ} (h : p + n = q) {L : CochainComplex C ℤ} (g : K ⟶ L) : CochainComplex.HomComplex.Cochain.fromSingleMk (CategoryTheory.CategoryStruct.comp f (g.f q)) h = (CochainComplex.HomComplex.Cochain.fromSingleMk f h).comp (CochainComplex.HomComplex.Cochain.ofHom g) ⋯ - CochainComplex.HomComplex.Cochain.toSingleMk_postcomp 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexSingle
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] {X : C} {K : CochainComplex C ℤ} {p q : ℤ} (f : K.X p ⟶ X) {n : ℤ} (h : p + n = q) {X' : C} (g : X ⟶ X') : CochainComplex.HomComplex.Cochain.toSingleMk (CategoryTheory.CategoryStruct.comp f g) h = (CochainComplex.HomComplex.Cochain.toSingleMk f h).comp (CochainComplex.HomComplex.Cochain.ofHom ((CochainComplex.singleFunctor C q).map g)) ⋯ - CategoryTheory.GradedObject.Monoidal.rightUnitor_inv_apply 📋 Mathlib.CategoryTheory.GradedObject.Monoidal
{I : Type u} [AddMonoid I] {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.MonoidalCategory C] [DecidableEq I] [CategoryTheory.Limits.HasInitial C] [∀ (X₁ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁)] (X : CategoryTheory.GradedObject I C) (i : I) : (CategoryTheory.GradedObject.Monoidal.rightUnitor X).inv i = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.rightUnitor (X i)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (X i) CategoryTheory.GradedObject.Monoidal.tensorUnit₀.inv) (CategoryTheory.GradedObject.Monoidal.ιTensorObj X CategoryTheory.GradedObject.Monoidal.tensorUnit i 0 i ⋯)) - HomologicalComplex.rightUnitor'_inv 📋 Mathlib.Algebra.Homology.Monoidal
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] {c : ComplexShape I} [c.TensorSigns] (K : HomologicalComplex C c) [DecidableEq I] [∀ (X₁ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁)] (i : I) : K.rightUnitor'.inv i = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.rightUnitor (K.X i)).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (K.X i) (HomologicalComplex.singleObjXSelf c 0 (CategoryTheory.MonoidalCategoryStruct.tensorUnit C)).inv) (K.ιTensorObj (HomologicalComplex.tensorUnit C c) i 0 i ⋯)) - TensorPower.mul_one 📋 Mathlib.LinearAlgebra.TensorPower.Basic
{R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (a : TensorPower R n M) : (TensorPower.cast R M ⋯) (GradedMonoid.GMul.mul a GradedMonoid.GOne.one) = a - TensorPower.mul_algebraMap₀ 📋 Mathlib.LinearAlgebra.TensorPower.Basic
{R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {n : ℕ} (r : R) (a : TensorPower R n M) : (TensorPower.cast R M ⋯) (GradedMonoid.GMul.mul a (TensorPower.algebraMap₀ r)) = r • a - TensorPower.algebraMap₀_mul_algebraMap₀ 📋 Mathlib.LinearAlgebra.TensorPower.Basic
{R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (r s : R) : (TensorPower.cast R M ⋯) (GradedMonoid.GMul.mul (TensorPower.algebraMap₀ r) (TensorPower.algebraMap₀ s)) = TensorPower.algebraMap₀ (r * s) - CategoryTheory.Sheaf.H.map_apply 📋 Mathlib.CategoryTheory.Sites.SheafCohomology.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] {J : CategoryTheory.GrothendieckTopology C} [CategoryTheory.HasSheafify J AddCommGrpCat] [CategoryTheory.HasExt (CategoryTheory.Sheaf J AddCommGrpCat)] {F G : CategoryTheory.Sheaf J AddCommGrpCat} (f : F ⟶ G) {n : ℕ} (x : F.H n) : (CategoryTheory.Sheaf.H.map f n) x = CategoryTheory.Abelian.Ext.comp x (CategoryTheory.Abelian.Ext.mk₀ f) ⋯ - CategoryTheory.InjectiveResolution.extMk_comp_mk₀ 📋 Mathlib.CategoryTheory.Abelian.Injective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} {R : CategoryTheory.InjectiveResolution Y} {n : ℕ} (f : X ⟶ R.cocomplex.X n) (m : ℕ) (hm : n + 1 = m) (hf : CategoryTheory.CategoryStruct.comp f (R.cocomplex.d n m) = 0) {Y' : C} {R' : CategoryTheory.InjectiveResolution Y'} {g : Y ⟶ Y'} (φ : R.Hom R' g) : (R.extMk f m hm hf).comp (CategoryTheory.Abelian.Ext.mk₀ g) ⋯ = R'.extMk (CategoryTheory.CategoryStruct.comp f (φ.hom.f n)) m hm ⋯ - CategoryTheory.InjectiveResolution.extEquivCohomologyClass_symm_mk_hom 📋 Mathlib.CategoryTheory.Abelian.Injective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} (R : CategoryTheory.InjectiveResolution Y) {n : ℕ} [HasDerivedCategory C] (x : CochainComplex.HomComplex.Cocycle ((CochainComplex.singleFunctor C 0).obj X) R.cochainComplex ↑n) : (R.extEquivCohomologyClass.symm (CochainComplex.HomComplex.CohomologyClass.mk x)).hom = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ ((DerivedCategory.singleFunctorIsoCompQ C 0).hom.app X)).comp ((CategoryTheory.ShiftedHom.map (CochainComplex.HomComplex.Cocycle.equivHomShift.symm x) DerivedCategory.Q).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (DerivedCategory.Q.map R.ι')) ((DerivedCategory.singleFunctorIsoCompQ C 0).inv.app Y))) ⋯) ⋯ - CategoryTheory.InjectiveResolution.extMk_hom 📋 Mathlib.CategoryTheory.Abelian.Injective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} (R : CategoryTheory.InjectiveResolution Y) [HasDerivedCategory C] {n : ℕ} (f : X ⟶ R.cocomplex.X n) (m : ℕ) (hm : n + 1 = m) (hf : CategoryTheory.CategoryStruct.comp f (R.cocomplex.d n m) = 0) : (R.extMk f m hm hf).hom = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ ((DerivedCategory.singleFunctorIsoCompQ C 0).hom.app X)).comp ((CategoryTheory.ShiftedHom.map (CochainComplex.HomComplex.Cocycle.equivHomShift.symm (CochainComplex.HomComplex.Cocycle.fromSingleMk (CategoryTheory.CategoryStruct.comp f (R.cochainComplexXIso (↑n) n ⋯).inv) ⋯ ↑m ⋯ ⋯)) DerivedCategory.Q).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp (CategoryTheory.inv (DerivedCategory.Q.map R.ι')) ((DerivedCategory.singleFunctorIsoCompQ C 0).inv.app Y))) ⋯) ⋯ - CategoryTheory.ProjectiveResolution.extMk_comp_mk₀ 📋 Mathlib.CategoryTheory.Abelian.Projective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} (R : CategoryTheory.ProjectiveResolution X) {n : ℕ} (f : R.complex.X n ⟶ Y) (m : ℕ) (hm : n + 1 = m) (hf : CategoryTheory.CategoryStruct.comp (R.complex.d m n) f = 0) {Y' : C} (g : Y ⟶ Y') : (R.extMk f m hm hf).comp (CategoryTheory.Abelian.Ext.mk₀ g) ⋯ = R.extMk (CategoryTheory.CategoryStruct.comp f g) m hm ⋯ - CategoryTheory.ProjectiveResolution.extMk_hom 📋 Mathlib.CategoryTheory.Abelian.Projective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} (R : CategoryTheory.ProjectiveResolution X) [HasDerivedCategory C] {n : ℕ} (f : R.complex.X n ⟶ Y) (m : ℕ) (hm : n + 1 = m) (hf : CategoryTheory.CategoryStruct.comp (R.complex.d m n) f = 0) : (R.extMk f m hm hf).hom = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp ((DerivedCategory.singleFunctorIsoCompQ C 0).hom.app X) (CategoryTheory.inv (DerivedCategory.Q.map R.π')))).comp ((CategoryTheory.ShiftedHom.map (CochainComplex.HomComplex.Cocycle.equivHomShift.symm (CochainComplex.HomComplex.Cocycle.toSingleMk (CategoryTheory.CategoryStruct.comp (R.cochainComplexXIso (-↑n) n ⋯).hom f) ⋯ (-↑m) ⋯ ⋯)) DerivedCategory.Q).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ ((DerivedCategory.singleFunctorIsoCompQ C 0).inv.app Y)) ⋯) ⋯ - CategoryTheory.ProjectiveResolution.extEquivCohomologyClass_symm_mk_hom 📋 Mathlib.CategoryTheory.Abelian.Projective.Ext
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [CategoryTheory.HasExt C] {X Y : C} (R : CategoryTheory.ProjectiveResolution X) {n : ℕ} [HasDerivedCategory C] (x : CochainComplex.HomComplex.Cocycle R.cochainComplex ((CochainComplex.singleFunctor C 0).obj Y) ↑n) : (R.extEquivCohomologyClass.symm (CochainComplex.HomComplex.CohomologyClass.mk x)).hom = (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ (CategoryTheory.CategoryStruct.comp ((DerivedCategory.singleFunctorIsoCompQ C 0).hom.app X) (CategoryTheory.inv (DerivedCategory.Q.map R.π')))).comp ((CategoryTheory.ShiftedHom.map (CochainComplex.HomComplex.Cocycle.equivHomShift.symm x) DerivedCategory.Q).comp (CategoryTheory.ShiftedHom.mk₀ 0 ⋯ ((DerivedCategory.singleFunctorIsoCompQ C 0).inv.app Y)) ⋯) ⋯
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 69fae59