Loogle!
Result
Found 187 declarations mentioning HomologicalComplex.sc.
- HomologicalComplex.sc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i : ι) : CategoryTheory.ShortComplex C - HomologicalComplex.exactAt_iff 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i : ι) : K.ExactAt i ↔ (K.sc i).Exact - HomologicalComplex.isoSc' 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) : K.sc j ≅ K.sc' i j k - HomologicalComplex.HomologySequence.composableArrows₃_exact 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) (hij : c.Rel i j) [CategoryTheory.CategoryWithHomology C] : (HomologicalComplex.HomologySequence.composableArrows₃ K i j).Exact - CategoryTheory.ShortComplex.ShortExact.δ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) : S.X₃.homology i ⟶ S.X₁.homology j - CategoryTheory.ShortComplex.ShortExact.epi_δ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (hj : CategoryTheory.Limits.IsZero (S.X₂.homology j)) : CategoryTheory.Epi (hS.δ i j hij) - CategoryTheory.ShortComplex.ShortExact.mono_δ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (hi : CategoryTheory.Limits.IsZero (S.X₂.homology i)) : CategoryTheory.Mono (hS.δ i j hij) - CategoryTheory.ShortComplex.ShortExact.δIso 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (hi : CategoryTheory.Limits.IsZero (S.X₂.homology i)) (hj : CategoryTheory.Limits.IsZero (S.X₂.homology j)) : S.X₃.homology i ≅ S.X₁.homology j - CategoryTheory.ShortComplex.ShortExact.isIso_δ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (hi : CategoryTheory.Limits.IsZero (S.X₂.homology i)) (hj : CategoryTheory.Limits.IsZero (S.X₂.homology j)) : CategoryTheory.IsIso (hS.δ i j hij) - CategoryTheory.ShortComplex.ShortExact.homology_exact₁ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) : { X₁ := S.X₃.homology i, X₂ := S.X₁.homology j, X₃ := S.X₂.homology j, f := hS.δ i j hij, g := HomologicalComplex.homologyMap S.f j, zero := ⋯ }.Exact - CategoryTheory.ShortComplex.ShortExact.homology_exact₃ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) : { X₁ := S.X₂.homology i, X₂ := S.X₃.homology i, X₃ := S.X₁.homology j, f := HomologicalComplex.homologyMap S.g i, g := hS.δ i j hij, zero := ⋯ }.Exact - CategoryTheory.ShortComplex.ShortExact.homology_exact₂ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i : ι) : { X₁ := S.X₁.homology i, X₂ := S.X₂.homology i, X₃ := S.X₃.homology i, f := HomologicalComplex.homologyMap S.f i, g := HomologicalComplex.homologyMap S.g i, zero := ⋯ }.Exact - CategoryTheory.ShortComplex.ShortExact.comp_δ 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap S.g i) (hS.δ i j hij) = 0 - CategoryTheory.ShortComplex.ShortExact.δ_comp 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) : CategoryTheory.CategoryStruct.comp (hS.δ i j hij) (HomologicalComplex.homologyMap S.f j) = 0 - CategoryTheory.ShortComplex.ShortExact.comp_δ_assoc 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) {Z : C} (h : S.X₁.homology j ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap S.g i) (CategoryTheory.CategoryStruct.comp (hS.δ i j hij) h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.ShortExact.δ_comp_assoc 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) {Z : C} (h : S.X₂.homology j ⟶ Z) : CategoryTheory.CategoryStruct.comp (hS.δ i j hij) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap S.f j) h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.ShortExact.δ_eq 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) {A : C} (x₃ : A ⟶ S.X₃.X i) (hx₃ : CategoryTheory.CategoryStruct.comp x₃ (S.X₃.d i j) = 0) (x₂ : A ⟶ S.X₂.X i) (hx₂ : CategoryTheory.CategoryStruct.comp x₂ (S.g.f i) = x₃) (x₁ : A ⟶ S.X₁.X j) (hx₁ : CategoryTheory.CategoryStruct.comp x₁ (S.f.f j) = CategoryTheory.CategoryStruct.comp x₂ (S.X₂.d i j)) (k : ι) (hk : c.next j = k) : CategoryTheory.CategoryStruct.comp (S.X₃.liftCycles x₃ j ⋯ hx₃) (CategoryTheory.CategoryStruct.comp (S.X₃.homologyπ i) (hS.δ i j hij)) = CategoryTheory.CategoryStruct.comp (S.X₁.liftCycles x₁ k hk ⋯) (S.X₁.homologyπ j) - CategoryTheory.ShortComplex.ShortExact.δ_eq' 📋 Mathlib.Algebra.Homology.HomologySequence
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) {A : C} (x₃ : A ⟶ S.X₃.homology i) (x₂ : A ⟶ S.X₂.opcycles i) (x₁ : A ⟶ S.X₁.cycles j) (h₂ : CategoryTheory.CategoryStruct.comp x₂ (HomologicalComplex.opcyclesMap S.g i) = CategoryTheory.CategoryStruct.comp x₃ (S.X₃.homologyι i)) (h₁ : CategoryTheory.CategoryStruct.comp x₁ (HomologicalComplex.cyclesMap S.f j) = CategoryTheory.CategoryStruct.comp x₂ (S.X₂.opcyclesToCycles i j)) : CategoryTheory.CategoryStruct.comp x₃ (hS.δ i j hij) = CategoryTheory.CategoryStruct.comp x₁ (S.X₁.homologyπ j) - HomologicalComplex.mem_quasiIso_iff 📋 Mathlib.Algebra.Homology.QuasiIso
{ι : Type u_1} {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} {K L : HomologicalComplex C c} [CategoryTheory.CategoryWithHomology C] (f : K ⟶ L) : HomologicalComplex.quasiIso C c f ↔ QuasiIso f - CochainComplex.instQuasiIsoIntMapHomologicalComplexUpShiftFunctor 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) (n : ℤ) [QuasiIso φ] : QuasiIso ((CategoryTheory.shiftFunctor (HomologicalComplex C (ComplexShape.up ℤ)) n).map φ) - CochainComplex.quasiIso_shift_iff 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) (n : ℤ) : QuasiIso ((CategoryTheory.shiftFunctor (HomologicalComplex C (ComplexShape.up ℤ)) n).map φ) ↔ QuasiIso φ - CochainComplex.quasiIsoAt_shift_iff 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) (n i j : ℤ) (h : n + i = j) : QuasiIsoAt ((CategoryTheory.shiftFunctor (HomologicalComplex C (ComplexShape.up ℤ)) n).map φ) i ↔ QuasiIsoAt φ j - CochainComplex.liftCycles_shift_homologyπ_assoc 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] (K : CochainComplex C ℤ) {A : C} {n i : ℤ} (f : A ⟶ ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K).X i) (j : ℤ) (hj : (ComplexShape.up ℤ).next i = j) (hf : CategoryTheory.CategoryStruct.comp f (((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K).d i j) = 0) (i' : ℤ) (hi' : n + i = i') (j' : ℤ) (hj' : (ComplexShape.up ℤ).next i' = j') {Z : C} (h : HomologicalComplex.homology ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K) i ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K) f j hj hf) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K) i) h) = CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles K (CategoryTheory.CategoryStruct.comp f (K.shiftFunctorObjXIso n i i' ⋯).hom) j' hj' ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ K i') (CategoryTheory.CategoryStruct.comp (((HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) 0).shiftIso n i i' hi').inv.app K) h)) - CochainComplex.liftCycles_shift_homologyπ 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShiftSequence
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] (K : CochainComplex C ℤ) {A : C} {n i : ℤ} (f : A ⟶ ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K).X i) (j : ℤ) (hj : (ComplexShape.up ℤ).next i = j) (hf : CategoryTheory.CategoryStruct.comp f (((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K).d i j) = 0) (i' : ℤ) (hi' : n + i = i') (j' : ℤ) (hj' : (ComplexShape.up ℤ).next i' = j') : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K) f j hj hf) (HomologicalComplex.homologyπ ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) n).obj K) i) = CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles K (CategoryTheory.CategoryStruct.comp f (K.shiftFunctorObjXIso n i i' ⋯).hom) j' hj' ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ K i') (((HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) 0).shiftIso n i i' hi').inv.app K)) - DerivedCategory.instIsIsoMapCochainComplexIntQOfQuasiIso 📋 Mathlib.Algebra.Homology.DerivedCategory.Basic
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {K L : CochainComplex C ℤ} (f : K ⟶ L) [QuasiIso f] : CategoryTheory.IsIso (DerivedCategory.Q.map f) - DerivedCategory.isIso_Q_map_iff_quasiIso 📋 Mathlib.Algebra.Homology.DerivedCategory.Basic
(C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {K L : CochainComplex C ℤ} (φ : K ⟶ L) : CategoryTheory.IsIso (DerivedCategory.Q.map φ) ↔ QuasiIso φ - CochainComplex.homologyδOfTriangle 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : HomologicalComplex.homology T.obj₃ n₀ ⟶ HomologicalComplex.homology T.obj₁ n₁ - CochainComplex.homologyMap_exact₁_of_distTriang 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : { X₁ := HomologicalComplex.homology T.obj₃ n₀, X₂ := HomologicalComplex.homology T.obj₁ n₁, X₃ := HomologicalComplex.homology T.obj₂ n₁, f := CochainComplex.homologyδOfTriangle T n₀ n₁ h, g := HomologicalComplex.homologyMap T.mor₁ n₁, zero := ⋯ }.Exact - CochainComplex.homologyMap_exact₃_of_distTriang 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : { X₁ := HomologicalComplex.homology T.obj₂ n₀, X₂ := HomologicalComplex.homology T.obj₃ n₀, X₃ := HomologicalComplex.homology T.obj₁ n₁, f := HomologicalComplex.homologyMap T.mor₂ n₀, g := CochainComplex.homologyδOfTriangle T n₀ n₁ h, zero := ⋯ }.Exact - CochainComplex.homologyMap_exact₂_of_distTriang 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n : ℤ) : { X₁ := HomologicalComplex.homology T.obj₁ n, X₂ := HomologicalComplex.homology T.obj₂ n, X₃ := HomologicalComplex.homology T.obj₃ n, f := HomologicalComplex.homologyMap T.mor₁ n, g := HomologicalComplex.homologyMap T.mor₂ n, zero := ⋯ }.Exact - DerivedCategory.homologyFunctorFactors_hom_naturality 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {K L : CochainComplex C ℤ} (f : K ⟶ L) (n : ℤ) : CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctor C n).map (DerivedCategory.Q.map f)) ((DerivedCategory.homologyFunctorFactors C n).hom.app L) = CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n).hom.app K) (HomologicalComplex.homologyMap f n) - DerivedCategory.homologyFunctorFactors_hom_naturality_assoc 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] {K L : CochainComplex C ℤ} (f : K ⟶ L) (n : ℤ) {Z : C} (h : (HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) n).obj L ⟶ Z) : CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctor C n).map (DerivedCategory.Q.map f)) (CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n).hom.app L) h) = CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n).hom.app K) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap f n) h) - CochainComplex.homologyFunctorFactors_hom_app_homologyδOfTriangle 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n₀).hom.app T.obj₃) (CochainComplex.homologyδOfTriangle T n₀ n₁ h) = CategoryTheory.CategoryStruct.comp (DerivedCategory.HomologySequence.δ (DerivedCategory.Q.mapTriangle.obj T) n₀ n₁ h) ((DerivedCategory.homologyFunctorFactors C n₁).hom.app T.obj₁) - CochainComplex.homologyMap_homologyδOfTriangle 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₂ n₀) (CochainComplex.homologyδOfTriangle T n₀ n₁ h) = 0 - CochainComplex.homologyδOfTriangle_homologyMap 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : CategoryTheory.CategoryStruct.comp (CochainComplex.homologyδOfTriangle T n₀ n₁ h) (HomologicalComplex.homologyMap T.mor₁ n₁) = 0 - CochainComplex.homologyFunctorFactors_hom_app_homologyδOfTriangle_assoc 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) {Z : C} (h✝ : HomologicalComplex.homology T.obj₁ n₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n₀).hom.app T.obj₃) (CategoryTheory.CategoryStruct.comp (CochainComplex.homologyδOfTriangle T n₀ n₁ h) h✝) = CategoryTheory.CategoryStruct.comp (DerivedCategory.HomologySequence.δ (DerivedCategory.Q.mapTriangle.obj T) n₀ n₁ h) (CategoryTheory.CategoryStruct.comp ((DerivedCategory.homologyFunctorFactors C n₁).hom.app T.obj₁) h✝) - CochainComplex.homologyMap_comp_eq_zero_of_distTriang 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n : ℤ) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₁ n) (HomologicalComplex.homologyMap T.mor₂ n) = 0 - CochainComplex.homologyMap_homologyδOfTriangle_assoc 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) {Z : C} (h✝ : HomologicalComplex.homology T.obj₁ n₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₂ n₀) (CategoryTheory.CategoryStruct.comp (CochainComplex.homologyδOfTriangle T n₀ n₁ h) h✝) = CategoryTheory.CategoryStruct.comp 0 h✝ - CochainComplex.homologyδOfTriangle_homologyMap_assoc 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) {Z : C} (h✝ : HomologicalComplex.homology T.obj₂ n₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp (CochainComplex.homologyδOfTriangle T n₀ n₁ h) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₁ n₁) h✝) = CategoryTheory.CategoryStruct.comp 0 h✝ - CochainComplex.homologyMap_comp_eq_zero_of_distTriang_assoc 📋 Mathlib.Algebra.Homology.DerivedCategory.HomologySequence
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] [HasDerivedCategory C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (hT : DerivedCategory.Q.mapTriangle.obj T ∈ CategoryTheory.Pretriangulated.distinguishedTriangles) (n : ℤ) {Z : C} (h : HomologicalComplex.homology T.obj₃ n ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₁ n) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap T.mor₂ n) h) = CategoryTheory.CategoryStruct.comp 0 h - HomologicalComplex.extend.homologyData' 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : ((K.extend e).sc j').HomologyData - HomologicalComplex.extend.homologyData'_left_H 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).left.H = h.left.H - HomologicalComplex.extend.homologyData'_left_K 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).left.K = h.left.K - HomologicalComplex.extend.homologyData'_right_H 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).right.H = h.right.H - HomologicalComplex.extend.homologyData'_right_Q 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).right.Q = h.right.Q - HomologicalComplex.extend.homologyData'_iso 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).iso = h.iso - HomologicalComplex.extend.homologyData'_left_π 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).left.π = h.left.π - HomologicalComplex.extend.homologyData'_right_ι 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).right.ι = h.right.ι - HomologicalComplex.extend.homologyData'_left_i 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).left.i = CategoryTheory.CategoryStruct.comp h.left.i (K.extendXIso e hj').inv - HomologicalComplex.extend.homologyData'_right_p 📋 Mathlib.Algebra.Homology.Embedding.ExtendHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (K : HomologicalComplex C c) (e : c.Embedding c') {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (h : (K.sc' i j k).HomologyData) : (HomologicalComplex.extend.homologyData' K e hj' hi hk h).right.p = CategoryTheory.CategoryStruct.comp (K.extendXIso e hj').hom h.right.p - HomologicalComplex.truncGE.rightHomologyMapData 📋 Mathlib.Algebra.Homology.Embedding.TruncGEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncGE] [∀ (i' : ι'), K.HasHomology i'] [CategoryTheory.Limits.HasZeroObject C] {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (hj : e.BoundaryGE j) : CategoryTheory.ShortComplex.RightHomologyMapData ((HomologicalComplex.shortComplexFunctor C c' j').map (K.πTruncGE e)) (CategoryTheory.ShortComplex.RightHomologyData.canonical (K.sc j')) (HomologicalComplex.extend.rightHomologyData (K.truncGE' e) e hj' hi ⋯ hk ⋯ (HomologicalComplex.truncGE'.homologyData K e i j k hk hj' hj).right) - HomologicalComplex.truncGE.rightHomologyMapData_φQ 📋 Mathlib.Algebra.Homology.Embedding.TruncGEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncGE] [∀ (i' : ι'), K.HasHomology i'] [CategoryTheory.Limits.HasZeroObject C] {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (hj : e.BoundaryGE j) : (HomologicalComplex.truncGE.rightHomologyMapData K e hj' hi hk hj).φQ = (K.truncGE'XIsoOpcycles e hj' hj).inv - HomologicalComplex.truncGE.rightHomologyMapData_φH 📋 Mathlib.Algebra.Homology.Embedding.TruncGEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Limits.HasZeroMorphisms C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncGE] [∀ (i' : ι'), K.HasHomology i'] [CategoryTheory.Limits.HasZeroObject C] {i j k : ι} {j' : ι'} (hj' : e.f j = j') (hi : c.prev j = i) (hk : c.next j = k) (hj : e.BoundaryGE j) : (HomologicalComplex.truncGE.rightHomologyMapData K e hj' hi hk hj).φH = CategoryTheory.CategoryStruct.id (CategoryTheory.ShortComplex.RightHomologyData.canonical (K.sc j')).H - HomologicalComplex.quasiIsoAt_shortComplexTruncLE_g 📋 Mathlib.Algebra.Homology.Embedding.TruncLEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncLE] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i') : QuasiIsoAt (K.shortComplexTruncLE e).g i' - HomologicalComplex.epi_homologyMap_shortComplexTruncLE_g 📋 Mathlib.Algebra.Homology.Embedding.TruncLEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncLE] (i' : ι') : CategoryTheory.Epi (HomologicalComplex.homologyMap (K.shortComplexTruncLE e).g i') - HomologicalComplex.isIso_homologyMap_shortComplexTruncLE_g 📋 Mathlib.Algebra.Homology.Embedding.TruncLEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncLE] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i') : CategoryTheory.IsIso (HomologicalComplex.homologyMap (K.shortComplexTruncLE e).g i') - HomologicalComplex.mono_homologyMap_shortComplexTruncLE_g 📋 Mathlib.Algebra.Homology.Embedding.TruncLEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncLE] (i' : ι') (hi' : ∀ (i : ι), e.f i ≠ i') : CategoryTheory.Mono (HomologicalComplex.homologyMap (K.shortComplexTruncLE e).g i') - HomologicalComplex.shortComplexTruncLE_shortExact_δ_eq_zero 📋 Mathlib.Algebra.Homology.Embedding.TruncLEHomology
{ι : Type u_1} {ι' : Type u_2} {c : ComplexShape ι} {c' : ComplexShape ι'} {C : Type u_3} [CategoryTheory.Category.{v_1, u_3} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c') (e : c.Embedding c') [e.IsTruncLE] (i' j' : ι') (hij' : c'.Rel i' j') : ⋯.δ i' j' hij' = 0 - HomologicalComplex.shortComplexTruncLEX₃ToTruncGE 📋 Mathlib.Algebra.Homology.Embedding.AreComplementary
{ι : Type u_1} {ι₁ : Type u_2} {ι₂ : Type u_3} {c : ComplexShape ι} {c₁ : ComplexShape ι₁} {c₂ : ComplexShape ι₂} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c) {e₁ : c₁.Embedding c} {e₂ : c₂.Embedding c} [e₁.IsTruncLE] [e₂.IsTruncGE] (ac : e₁.AreComplementary e₂) : (K.shortComplexTruncLE e₁).X₃ ⟶ K.truncGE e₂ - HomologicalComplex.instQuasiIsoShortComplexTruncLEX₃ToTruncGE 📋 Mathlib.Algebra.Homology.Embedding.AreComplementary
{ι : Type u_1} {ι₁ : Type u_2} {ι₂ : Type u_3} {c : ComplexShape ι} {c₁ : ComplexShape ι₁} {c₂ : ComplexShape ι₂} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c) {e₁ : c₁.Embedding c} {e₂ : c₂.Embedding c} [e₁.IsTruncLE] [e₂.IsTruncGE] (ac : e₁.AreComplementary e₂) : QuasiIso (K.shortComplexTruncLEX₃ToTruncGE ac) - HomologicalComplex.g_shortComplexTruncLEX₃ToTruncGE 📋 Mathlib.Algebra.Homology.Embedding.AreComplementary
{ι : Type u_1} {ι₁ : Type u_2} {ι₂ : Type u_3} {c : ComplexShape ι} {c₁ : ComplexShape ι₁} {c₂ : ComplexShape ι₂} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c) {e₁ : c₁.Embedding c} {e₂ : c₂.Embedding c} [e₁.IsTruncLE] [e₂.IsTruncGE] (ac : e₁.AreComplementary e₂) : CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLE e₁).g (K.shortComplexTruncLEX₃ToTruncGE ac) = K.πTruncGE e₂ - HomologicalComplex.g_shortComplexTruncLEX₃ToTruncGE_assoc 📋 Mathlib.Algebra.Homology.Embedding.AreComplementary
{ι : Type u_1} {ι₁ : Type u_2} {ι₂ : Type u_3} {c : ComplexShape ι} {c₁ : ComplexShape ι₁} {c₂ : ComplexShape ι₂} {C : Type u_4} [CategoryTheory.Category.{v_1, u_4} C] [CategoryTheory.Abelian C] (K : HomologicalComplex C c) {e₁ : c₁.Embedding c} {e₂ : c₂.Embedding c} [e₁.IsTruncLE] [e₂.IsTruncGE] (ac : e₁.AreComplementary e₂) {Z : HomologicalComplex C c} (h : K.truncGE e₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLE e₁).g (CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLEX₃ToTruncGE ac) h) = CategoryTheory.CategoryStruct.comp (K.πTruncGE e₂) h - CochainComplex.injective_opcycles 📋 Mathlib.Algebra.Homology.Embedding.CochainComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) (n₀ n₁ : ℤ) [CategoryTheory.Injective (K.X n₀)] [CategoryTheory.Injective (K.X n₁)] [K.IsStrictlyGE n₀] (hK : HomologicalComplex.ExactAt K n₀) (h : n₀ + 1 = n₁ := by lia) : CategoryTheory.Injective (HomologicalComplex.opcycles K n₁) - CochainComplex.shortComplexTruncLEX₃ToTruncGE 📋 Mathlib.Algebra.Homology.Embedding.CochainComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : (K.shortComplexTruncLE n₀).X₃ ⟶ K.truncGE n₁ - CochainComplex.g_shortComplexTruncLEX₃ToTruncGE 📋 Mathlib.Algebra.Homology.Embedding.CochainComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) : CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLE n₀).g (K.shortComplexTruncLEX₃ToTruncGE n₀ n₁ h) = K.πTruncGE n₁ - CochainComplex.g_shortComplexTruncLEX₃ToTruncGE_assoc 📋 Mathlib.Algebra.Homology.Embedding.CochainComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) {Z : CochainComplex C ℤ} (h✝ : K.truncGE n₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLE n₀).g (CategoryTheory.CategoryStruct.comp (K.shortComplexTruncLEX₃ToTruncGE n₀ n₁ h) h✝) = CategoryTheory.CategoryStruct.comp (K.πTruncGE n₁) h✝ - CategoryTheory.ShortComplex.ShortExact.acyclic_X₁ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (hg : QuasiIso S.g) : S.X₁.Acyclic - CategoryTheory.ShortComplex.ShortExact.acyclic_X₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (h : QuasiIso S.f) : S.X₃.Acyclic - HomologicalComplex.HomologySequence.quasiIso_τ₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (h₁ : QuasiIso φ.τ₁) (h₂ : QuasiIso φ.τ₂) : QuasiIso φ.τ₃ - CategoryTheory.ShortComplex.ShortExact.exactAt_X₁ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (j : ι) (h₁ : CategoryTheory.Mono (HomologicalComplex.homologyMap S.g j) := by infer_instance) (h₂ : ∀ (i : ι), c.Rel i j → CategoryTheory.Epi (HomologicalComplex.homologyMap S.g i) := by infer_instance) : S.X₁.ExactAt j - CategoryTheory.ShortComplex.ShortExact.exactAt_X₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap S.f i) := by infer_instance) (h₂ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap S.f j) := by infer_instance) : S.X₃.ExactAt i - HomologicalComplex.HomologySequence.δ_naturality 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j) : CategoryTheory.CategoryStruct.comp (hS₁.δ i j hij) (HomologicalComplex.homologyMap φ.τ₁ j) = CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap φ.τ₃ i) (hS₂.δ i j hij) - HomologicalComplex.HomologySequence.δ_naturality_assoc 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i j : ι) (hij : c.Rel i j) {Z : C} (h : S₂.X₁.homology j ⟶ Z) : CategoryTheory.CategoryStruct.comp (hS₁.δ i j hij) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap φ.τ₁ j) h) = CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap φ.τ₃ i) (CategoryTheory.CategoryStruct.comp (hS₂.δ i j hij) h) - HomologicalComplex.HomologySequence.mono_homologyMap_τ₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ i)) (h₂ : CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ i)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₁ j)) : CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₃ i) - HomologicalComplex.HomologySequence.epi_homologyMap_τ₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₂ i)) (h₂ : ∀ (j : ι), c.Rel i j → CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ j)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ j)) : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₃ i) - HomologicalComplex.HomologySequence.isIso_homologyMap_τ₃ 📋 Mathlib.Algebra.Homology.HomologySequenceLemmas
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S₁ S₂ : CategoryTheory.ShortComplex (HomologicalComplex C c)} (φ : S₁ ⟶ S₂) (hS₁ : S₁.ShortExact) (hS₂ : S₂.ShortExact) (i : ι) (h₁ : CategoryTheory.Epi (HomologicalComplex.homologyMap φ.τ₁ i)) (h₂ : CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₂ i)) (h₃ : ∀ (j : ι), c.Rel i j → CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₁ j)) (h₄ : ∀ (j : ι), c.Rel i j → CategoryTheory.Mono (HomologicalComplex.homologyMap φ.τ₂ j)) : CategoryTheory.IsIso (HomologicalComplex.homologyMap φ.τ₃ i) - HomologicalComplex.comp_pOpcycles_eq_zero_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) {A : C} {i : ι} (z : A ⟶ K.X i) (j : ι) (hj : c.prev i = j) : CategoryTheory.CategoryStruct.comp z (K.pOpcycles i) = 0 ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x, CategoryTheory.CategoryStruct.comp π z = CategoryTheory.CategoryStruct.comp x (K.d j i) - HomologicalComplex.comp_homologyπ_eq_zero_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) (hi : c.prev j = i) {A : C} (z₂ : A ⟶ K.cycles j) : CategoryTheory.CategoryStruct.comp z₂ (K.homologyπ j) = 0 ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π z₂ = CategoryTheory.CategoryStruct.comp x₁ (K.toCycles i j) - HomologicalComplex.eq_liftCycles_homologyπ_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) {A : C} {i : ι} (γ : A ⟶ K.homology i) (j : ι) (hj : c.next i = j) : ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ z, ∃ (hz : CategoryTheory.CategoryStruct.comp z (K.d i j) = 0), CategoryTheory.CategoryStruct.comp π γ = CategoryTheory.CategoryStruct.comp (K.liftCycles z j hj hz) (K.homologyπ i) - HomologicalComplex.mono_homologyMap_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {K L : HomologicalComplex C c} (φ : K ⟶ L) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) : CategoryTheory.Mono (HomologicalComplex.homologyMap φ j) ↔ ∀ ⦃A : C⦄ (x₂ : A ⟶ K.X j), CategoryTheory.CategoryStruct.comp x₂ (K.d j k) = 0 → ∀ (y₁ : A ⟶ L.X i), CategoryTheory.CategoryStruct.comp x₂ (φ.f j) = CategoryTheory.CategoryStruct.comp y₁ (L.d i j) → ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π x₂ = CategoryTheory.CategoryStruct.comp x₁ (K.d i j) - HomologicalComplex.liftCycles_comp_homologyπ_eq_zero_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) {A : C} (x₂ : A ⟶ K.X j) (hx₂ : CategoryTheory.CategoryStruct.comp x₂ (K.d j k) = 0) : CategoryTheory.CategoryStruct.comp (K.liftCycles x₂ k hk hx₂) (K.homologyπ j) = 0 ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π x₂ = CategoryTheory.CategoryStruct.comp x₁ (K.d i j) - HomologicalComplex.liftCycles_comp_homologyπ_eq_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) {A : C} (x₂ x₂' : A ⟶ K.X j) (hx₂ : CategoryTheory.CategoryStruct.comp x₂ (K.d j k) = 0) (hx₂' : CategoryTheory.CategoryStruct.comp x₂' (K.d j k) = 0) : CategoryTheory.CategoryStruct.comp (K.liftCycles x₂ k hk hx₂) (K.homologyπ j) = CategoryTheory.CategoryStruct.comp (K.liftCycles x₂' k hk hx₂') (K.homologyπ j) ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π x₂ = CategoryTheory.CategoryStruct.comp π x₂' + CategoryTheory.CategoryStruct.comp x₁ (K.d i j) - HomologicalComplex.epi_homologyMap_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {K L : HomologicalComplex C c} (φ : K ⟶ L) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) : CategoryTheory.Epi (HomologicalComplex.homologyMap φ j) ↔ ∀ ⦃A : C⦄ (y₂ : A ⟶ L.X j), CategoryTheory.CategoryStruct.comp y₂ (L.d j k) = 0 → ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₂, ∃ (_ : CategoryTheory.CategoryStruct.comp x₂ (K.d j k) = 0), ∃ y₁, CategoryTheory.CategoryStruct.comp π y₂ = CategoryTheory.CategoryStruct.comp x₂ (φ.f j) + CategoryTheory.CategoryStruct.comp y₁ (L.d i j) - HomologicalComplex.comp_homologyπ_eq_iff_up_to_refinements 📋 Mathlib.Algebra.Homology.Refinements
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) (hi : c.prev j = i) {A : C} (z₂ z₂' : A ⟶ K.cycles j) : CategoryTheory.CategoryStruct.comp z₂ (K.homologyπ j) = CategoryTheory.CategoryStruct.comp z₂' (K.homologyπ j) ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π z₂ = CategoryTheory.CategoryStruct.comp π z₂' + CategoryTheory.CategoryStruct.comp x₁ (K.toCycles i j) - CochainComplex.mappingCone.quasiIso_descShortComplex 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShortExact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact) : QuasiIso (CochainComplex.mappingCone.descShortComplex S) - CochainComplex.mappingCone.homologySequenceδ_triangleh 📋 Mathlib.Algebra.Homology.HomotopyCategory.ShortExact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) : (HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ (CochainComplex.mappingCone.triangleh S.f) n₀ n₁ h = CategoryTheory.CategoryStruct.comp ((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app (CochainComplex.mappingCone S.f)) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap (CochainComplex.mappingCone.descShortComplex S) n₀) (CategoryTheory.CategoryStruct.comp (hS.δ n₀ n₁ h) ((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app S.X₁))) - CochainComplex.isSplitEpi_to_singleFunctor_obj_of_projective 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughProjectives
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {P : C} [CategoryTheory.Projective P] {K : CochainComplex C ℤ} {i : ℤ} (π : K ⟶ (CochainComplex.singleFunctor C i).obj P) [K.IsStrictlyLE i] [QuasiIsoAt π i] : CategoryTheory.IsSplitEpi π - CochainComplex.isSplitMono_from_singleFunctor_obj_of_injective 📋 Mathlib.Algebra.Homology.DerivedCategory.Ext.EnoughInjectives
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {I : C} [CategoryTheory.Injective I] {L : CochainComplex C ℤ} {i : ℤ} (ι : (CochainComplex.singleFunctor C i).obj I ⟶ L) [L.IsStrictlyGE i] [QuasiIsoAt ι i] : CategoryTheory.IsSplitMono ι - ChainComplex.alternatingConstHomologyDataOdd 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X : C) (n : ℕ) (hn : Odd n) : (HomologicalComplex.sc (ChainComplex.alternatingConst.obj X) n).HomologyData - ChainComplex.alternatingConstHomologyDataZero 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (X : C) (n : ℕ) (hn : n = 0) : (HomologicalComplex.sc (ChainComplex.alternatingConst.obj X) n).HomologyData - ChainComplex.alternatingConstHomologyDataEvenNEZero 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (X : C) (n : ℕ) (hn : Even n) (h₀ : n ≠ 0) : (HomologicalComplex.sc (ChainComplex.alternatingConst.obj X) n).HomologyData - HomologicalComplex.alternatingConstHomologyIsoEven 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Even j) : (HomologicalComplex.alternatingConst A hOdd hEven hc).homology j ≅ { X₁ := A, X₂ := A, X₃ := A, f := ψ, g := φ, zero := hEven }.homology - HomologicalComplex.alternatingConstHomologyIsoOdd 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Odd j) : (HomologicalComplex.alternatingConst A hOdd hEven hc).homology j ≅ { X₁ := A, X₂ := A, X₃ := A, f := φ, g := ψ, zero := hOdd }.homology - HomologicalComplex.alternatingConst_iCycles_even_comp 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Even j) : CategoryTheory.CategoryStruct.comp ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j) φ = 0 - HomologicalComplex.alternatingConst_iCycles_odd_comp 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Odd j) : CategoryTheory.CategoryStruct.comp ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j) ψ = 0 - HomologicalComplex.alternatingConst_iCycles_even_comp_assoc 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Even j) {Z : C} (h✝ : A ⟶ Z) : CategoryTheory.CategoryStruct.comp ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j) (CategoryTheory.CategoryStruct.comp φ h✝) = CategoryTheory.CategoryStruct.comp 0 h✝ - HomologicalComplex.alternatingConst_iCycles_odd_comp_assoc 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Odd j) {Z : C} (h✝ : A ⟶ Z) : CategoryTheory.CategoryStruct.comp ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j) (CategoryTheory.CategoryStruct.comp ψ h✝) = CategoryTheory.CategoryStruct.comp 0 h✝ - HomologicalComplex.alternatingConst_iCycles_even_comp_apply 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Even j) {F : C → C → Type uF} {carrier : C → Type w} {instFunLike : (X Y : C) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier ((HomologicalComplex.alternatingConst A hOdd hEven hc).cycles j)) : (CategoryTheory.ConcreteCategory.hom φ) ((CategoryTheory.ConcreteCategory.hom ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j)) x) = (CategoryTheory.ConcreteCategory.hom 0) x - HomologicalComplex.alternatingConst_iCycles_odd_comp_apply 📋 Mathlib.Algebra.Homology.AlternatingConst
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (A : C) {φ ψ : A ⟶ A} (hOdd : CategoryTheory.CategoryStruct.comp φ ψ = 0) (hEven : CategoryTheory.CategoryStruct.comp ψ φ = 0) {c : ComplexShape ℕ} [DecidableRel c.Rel] (hc : ∀ (i j : ℕ), c.Rel i j → Odd (i + j)) [CategoryTheory.CategoryWithHomology C] {j : ℕ} (hpj : c.Rel (c.prev j) j) (hnj : c.Rel j (c.next j)) (h : Odd j) {F : C → C → Type uF} {carrier : C → Type w} {instFunLike : (X Y : C) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : CategoryTheory.ConcreteCategory C F] (x : carrier ((HomologicalComplex.alternatingConst A hOdd hEven hc).cycles j)) : (CategoryTheory.ConcreteCategory.hom ψ) ((CategoryTheory.ConcreteCategory.hom ((HomologicalComplex.alternatingConst A hOdd hEven hc).iCycles j)) x) = (CategoryTheory.ConcreteCategory.hom 0) x - HomologicalComplex.cyclesMk 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) {i : ι} (x : ↑((CategoryTheory.forget₂ C Ab).obj (K.X i))) (j : ι) (hj : c.next i = j) (hx : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.d i j))) x = 0) : ↑((CategoryTheory.forget₂ C Ab).obj (K.cycles i)) - HomologicalComplex.i_cyclesMk 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) {i : ι} (x : ↑((CategoryTheory.forget₂ C Ab).obj (K.X i))) (j : ι) (hj : c.next i = j) (hx : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.d i j))) x = 0) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (K.iCycles i))) (K.cyclesMk x j hj hx) = x - CategoryTheory.ShortComplex.ShortExact.δ_apply' 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (x₃ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₃.homology i))) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₂.opcycles i))) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₁.cycles j))) (h₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (HomologicalComplex.opcyclesMap S.g i))) x₂ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.homologyι i))) x₃) (h₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (HomologicalComplex.cyclesMap S.f j))) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₂.opcyclesToCycles i j))) x₂) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (hS.δ i j hij))) x₃ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₁.homologyπ j))) x₁ - CategoryTheory.ShortComplex.ShortExact.δ_apply 📋 Mathlib.Algebra.Homology.ConcreteCategory
{C : Type u} [CategoryTheory.Category.{v, u} C] {FC : C → C → Type u_1} {CC : C → Type v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.HasForget₂ C Ab] [CategoryTheory.Abelian C] [(CategoryTheory.forget₂ C Ab).Additive] [(CategoryTheory.forget₂ C Ab).PreservesHomology] {ι : Type u_2} {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j) (x₃ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₃.X i))) (hx₃ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.d i j))) x₃ = 0) (x₂ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₂.X i))) (hx₂ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.g.f i))) x₂ = x₃) (x₁ : ↑((CategoryTheory.forget₂ C Ab).obj (S.X₁.X j))) (hx₁ : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.f.f j))) x₁ = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₂.d i j))) x₂) (k : ι) (hk : c.next j = k) : (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (hS.δ i j hij))) ((CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₃.homologyπ i))) (S.X₃.cyclesMk x₃ j ⋯ hx₃)) = (CategoryTheory.ConcreteCategory.hom ((CategoryTheory.forget₂ C Ab).map (S.X₁.homologyπ j))) (S.X₁.cyclesMk x₁ k hk ⋯) - CochainComplex.HomComplex.leftHomologyData 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) : (HomologicalComplex.sc (K.HomComplex L) n).LeftHomologyData - CochainComplex.HomComplex.leftHomologyData_H_coe 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) : ↑(CochainComplex.HomComplex.leftHomologyData K L n).H = CochainComplex.HomComplex.CohomologyClass K L n - CochainComplex.HomComplex.leftHomologyData_K_coe 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) : ↑(CochainComplex.HomComplex.leftHomologyData K L n).K = CochainComplex.HomComplex.Cocycle K L n - CochainComplex.HomComplex.leftHomologyData_π_hom_apply 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) (x : CochainComplex.HomComplex.Cocycle K L n) : (AddCommGrpCat.Hom.hom (CochainComplex.HomComplex.leftHomologyData K L n).π) x = CochainComplex.HomComplex.CohomologyClass.mk x - CochainComplex.HomComplex.leftHomologyData_i_hom_apply 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) (x : CochainComplex.HomComplex.Cocycle K L n) : (AddCommGrpCat.Hom.hom (CochainComplex.HomComplex.leftHomologyData K L n).i) x = ↑x - CochainComplex.HomComplex.homologyAddEquiv 📋 Mathlib.Algebra.Homology.HomotopyCategory.HomComplexCohomology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K L : CochainComplex C ℤ) (n : ℤ) : ↑(HomologicalComplex.homology (K.HomComplex L) n) ≃+ CochainComplex.HomComplex.CohomologyClass K L n - CochainComplex.IsKInjective.quasiIso_iff 📋 Mathlib.Algebra.Homology.DerivedCategory.KInjective
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {K L : CochainComplex C ℤ} [K.IsKInjective] [L.IsKInjective] (f : K ⟶ L) : QuasiIso f ↔ HomologicalComplex.homotopyEquivalences C (ComplexShape.up ℤ) f - CochainComplex.quasiIso_iff_of_injective 📋 Mathlib.Algebra.Homology.DerivedCategory.KInjective
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {K L : CochainComplex C ℕ} [∀ (n : ℕ), CategoryTheory.Injective (K.X n)] [∀ (n : ℕ), CategoryTheory.Injective (L.X n)] (f : K ⟶ L) : QuasiIso f ↔ HomologicalComplex.homotopyEquivalences C (ComplexShape.up ℕ) f - CochainComplex.cm5b 📋 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 : ℤ) [K.IsStrictlyGE (n + 1)] [L.IsStrictlyGE n] : ∃ L', ∃ (_ : L'.IsStrictlyGE n), ∃ i p, ∃ (_ : CategoryTheory.Mono i) (_ : CochainComplex.degreewiseEpiWithInjectiveKernel p) (_ : QuasiIso p), CategoryTheory.CategoryStruct.comp i p = f - CochainComplex.cm5b.instQuasiIsoIntP 📋 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 ℤ} : QuasiIso (CochainComplex.cm5b.p K L) - HomologicalComplex.quasiIsoAt_π_of_isLimit_of_isEventuallyConstantTo 📋 Mathlib.Algebra.Homology.HomologicalComplexLimitsEventuallyConstant
{C : Type u_1} {J : Type u_2} {ι : Type u_3} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} J] {c : ComplexShape ι} [CategoryTheory.IsCofiltered J] [CategoryTheory.Limits.HasZeroMorphisms C] (F : CategoryTheory.Functor J (HomologicalComplex C c)) [∀ (j : ι), CategoryTheory.Limits.HasLimit (F.comp (HomologicalComplex.eval C c j))] {cF : CategoryTheory.Limits.Cone F} (hcF : CategoryTheory.Limits.IsLimit cF) [CategoryTheory.CategoryWithHomology C] (q₀ q₁ q₂ : ι) (h₀ : c.prev q₁ = q₀) (h₂ : c.next q₁ = q₂) (j : J) (hq₀ : (F.comp (HomologicalComplex.eval C c q₀)).IsEventuallyConstantTo j) (hq₁ : (F.comp (HomologicalComplex.eval C c q₁)).IsEventuallyConstantTo j) (hq₂ : (F.comp (HomologicalComplex.eval C c q₂)).IsEventuallyConstantTo j) : QuasiIsoAt (cF.π.app j) q₁ - CochainComplex.Plus.modelCategoryQuillen.exists_quasiIso_injective 📋 Mathlib.Algebra.Homology.Factorizations.CM5a
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) [CategoryTheory.EnoughInjectives C] (n : ℤ) [K.IsStrictlyGE n] : ∃ L i, ∃ (_ : QuasiIso i) (_ : ∀ (n : ℤ), CategoryTheory.Injective (L.X n)), L.IsStrictlyGE n - CochainComplex.Plus.modelCategoryQuillen.exists_mono_quasiIso_injective 📋 Mathlib.Algebra.Homology.Factorizations.CM5a
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (K : CochainComplex C ℤ) [CategoryTheory.EnoughInjectives C] (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁ := by lia) [K.IsStrictlyGE n₁] : ∃ L i, ∃ (_ : CategoryTheory.Mono i) (_ : QuasiIso i) (_ : ∀ (n : ℤ), CategoryTheory.Injective (L.X n)), L.IsStrictlyGE n₀ - CochainComplex.Plus.modelCategoryQuillen.cm5a 📋 Mathlib.Algebra.Homology.Factorizations.CM5a
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {K L : CochainComplex C ℤ} (f : K ⟶ L) [CategoryTheory.EnoughInjectives C] (n : ℤ) [K.IsStrictlyGE (n + 1)] [L.IsStrictlyGE n] : ∃ K', ∃ (_ : K'.IsStrictlyGE n), ∃ ι π, CategoryTheory.Mono ι ∧ QuasiIso ι ∧ CochainComplex.degreewiseEpiWithInjectiveKernel π ∧ CategoryTheory.CategoryStruct.comp ι π = f - CochainComplex.Plus.modelCategoryQuillen.cm5a_cof 📋 Mathlib.Algebra.Homology.Factorizations.CM5a
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {K L : CochainComplex C ℤ} (f : K ⟶ L) [CategoryTheory.EnoughInjectives C] (n : ℤ) [K.IsStrictlyGE n] [L.IsStrictlyGE n] [CategoryTheory.Mono f] : ∃ K', ∃ (_ : K'.IsStrictlyGE n), ∃ ι π, CategoryTheory.Mono ι ∧ QuasiIso ι ∧ CochainComplex.degreewiseEpiWithInjectiveKernel π ∧ CategoryTheory.CategoryStruct.comp ι π = f - CochainComplex.Plus.modelCategoryQuillen.weakEquivalence_iff 📋 Mathlib.Algebra.Homology.ModelCategory.Injective
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Abelian C] {X Y : CochainComplex.Plus C} (f : X ⟶ Y) : HomotopicalAlgebra.WeakEquivalence f ↔ QuasiIso f.hom - CochainComplex.IsKProjective.quasiIso_iff 📋 Mathlib.Algebra.Homology.DerivedCategory.KProjective
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {K L : CochainComplex C ℤ} [K.IsKProjective] [L.IsKProjective] (f : K ⟶ L) : QuasiIso f ↔ HomologicalComplex.homotopyEquivalences C (ComplexShape.up ℤ) f - ChainComplex.quasiIso_iff_of_projective 📋 Mathlib.Algebra.Homology.DerivedCategory.KProjective
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {K L : ChainComplex C ℕ} [∀ (n : ℕ), CategoryTheory.Projective (K.X n)] [∀ (n : ℕ), CategoryTheory.Projective (L.X n)] (f : K ⟶ L) : QuasiIso f ↔ HomologicalComplex.homotopyEquivalences C (ComplexShape.down ℕ) f - HomologicalComplex.quasiIsoAt_iff_evaluation 📋 Mathlib.Algebra.Homology.Functor
{T : Type u_1} [CategoryTheory.Category.{v_1, u_1} T] {V : Type u_2} [CategoryTheory.Category.{v_2, u_2} V] [CategoryTheory.Abelian V] {ι : Type u_3} {c : ComplexShape ι} {K₁ K₂ : HomologicalComplex (CategoryTheory.Functor T V) c} (f : K₁ ⟶ K₂) (i : ι) : QuasiIsoAt f i ↔ ∀ (t : T), QuasiIsoAt ((((CategoryTheory.evaluation T V).obj t).mapHomologicalComplex c).map f) i - HomologicalComplex.quasiIso_iff_evaluation 📋 Mathlib.Algebra.Homology.Functor
{T : Type u_1} [CategoryTheory.Category.{v_1, u_1} T] {V : Type u_2} [CategoryTheory.Category.{v_2, u_2} V] [CategoryTheory.Abelian V] {ι : Type u_3} {c : ComplexShape ι} {K₁ K₂ : HomologicalComplex (CategoryTheory.Functor T V) c} (f : K₁ ⟶ K₂) : QuasiIso f ↔ ∀ (t : T), QuasiIso ((((CategoryTheory.evaluation T V).obj t).mapHomologicalComplex c).map f) - CategoryTheory.ProjectiveResolution.fromLeftDerivedZero' 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] {X : C} (P : CategoryTheory.ProjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] : ((F.mapHomologicalComplex (ComplexShape.down ℕ)).obj P.complex).opcycles 0 ⟶ F.obj X - CategoryTheory.instIsIsoFromLeftDerivedZero' 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] [CategoryTheory.Limits.PreservesFiniteColimits F] {X : C} (P : CategoryTheory.ProjectiveResolution X) : CategoryTheory.IsIso (P.fromLeftDerivedZero' F) - CategoryTheory.ProjectiveResolution.instIsIsoFromLeftDerivedZero'Self 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] (X : C) [CategoryTheory.Projective X] : CategoryTheory.IsIso ((CategoryTheory.ProjectiveResolution.self X).fromLeftDerivedZero' F) - CategoryTheory.ProjectiveResolution.pOpcycles_comp_fromLeftDerivedZero' 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X : C} (P : CategoryTheory.ProjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] : CategoryTheory.CategoryStruct.comp (((F.mapHomologicalComplex (ComplexShape.down ℕ)).obj P.complex).pOpcycles 0) (P.fromLeftDerivedZero' F) = F.map (P.π.f 0) - CategoryTheory.ProjectiveResolution.pOpcycles_comp_fromLeftDerivedZero'_assoc 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X : C} (P : CategoryTheory.ProjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] {Z : D} (h : F.obj X ⟶ Z) : CategoryTheory.CategoryStruct.comp (((F.mapHomologicalComplex (ComplexShape.down ℕ)).obj P.complex).pOpcycles 0) (CategoryTheory.CategoryStruct.comp (P.fromLeftDerivedZero' F) h) = CategoryTheory.CategoryStruct.comp (F.map (P.π.f 0)) h - CategoryTheory.ProjectiveResolution.fromLeftDerivedZero'_naturality 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X Y : C} (f : X ⟶ Y) (P : CategoryTheory.ProjectiveResolution X) (Q : CategoryTheory.ProjectiveResolution Y) (φ : P.complex ⟶ Q.complex) (comm : CategoryTheory.CategoryStruct.comp (φ.f 0) (Q.π.f 0) = CategoryTheory.CategoryStruct.comp (P.π.f 0) f) (F : CategoryTheory.Functor C D) [F.Additive] : CategoryTheory.CategoryStruct.comp (HomologicalComplex.opcyclesMap ((F.mapHomologicalComplex (ComplexShape.down ℕ)).map φ) 0) (Q.fromLeftDerivedZero' F) = CategoryTheory.CategoryStruct.comp (P.fromLeftDerivedZero' F) (F.map f) - CategoryTheory.ProjectiveResolution.fromLeftDerivedZero'_naturality_assoc 📋 Mathlib.CategoryTheory.Abelian.LeftDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X Y : C} (f : X ⟶ Y) (P : CategoryTheory.ProjectiveResolution X) (Q : CategoryTheory.ProjectiveResolution Y) (φ : P.complex ⟶ Q.complex) (comm : CategoryTheory.CategoryStruct.comp (φ.f 0) (Q.π.f 0) = CategoryTheory.CategoryStruct.comp (P.π.f 0) f) (F : CategoryTheory.Functor C D) [F.Additive] {Z : D} (h : F.obj Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.opcyclesMap ((F.mapHomologicalComplex (ComplexShape.down ℕ)).map φ) 0) (CategoryTheory.CategoryStruct.comp (Q.fromLeftDerivedZero' F) h) = CategoryTheory.CategoryStruct.comp (P.fromLeftDerivedZero' F) (CategoryTheory.CategoryStruct.comp (F.map f) h) - CategoryTheory.ProjectiveResolution.isoExt 📋 Mathlib.CategoryTheory.Abelian.Ext
{R : Type u_1} [Ring R] {C : Type u_2} [CategoryTheory.Category.{v_1, u_2} C] [CategoryTheory.Abelian C] [CategoryTheory.Linear R C] [CategoryTheory.EnoughProjectives C] {X : C} (P : CategoryTheory.ProjectiveResolution X) (n : ℕ) (Y : C) : ((Ext R C n).obj (Opposite.op X)).obj Y ≅ HomologicalComplex.homology (P.complex.linearYonedaObj R Y) n - CategoryTheory.SpectralSequence.iso 📋 Mathlib.Algebra.Homology.SpectralSequence.Basic
{C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {κ : Type u_2} {c : ℤ → ComplexShape κ} {r₀ : ℤ} (self : CategoryTheory.SpectralSequence C c r₀) (r r' : ℤ) (pq : κ) (hrr' : r + 1 = r' := by lia) (hr : r₀ ≤ r := by lia) : (self.page r ⋯).homology pq ≅ (self.page r' ⋯).X pq - CategoryTheory.SpectralSequence.mk 📋 Mathlib.Algebra.Homology.SpectralSequence.Basic
{C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {κ : Type u_2} {c : ℤ → ComplexShape κ} {r₀ : ℤ} (page : (r : ℤ) → autoParam (r₀ ≤ r) CategoryTheory.SpectralSequence._auto_1 → HomologicalComplex C (c r)) (iso : (r r' : ℤ) → (pq : κ) → (hrr' : autoParam (r + 1 = r') CategoryTheory.SpectralSequence._auto_3) → (hr : autoParam (r₀ ≤ r) CategoryTheory.SpectralSequence._auto_5) → (page r ⋯).homology pq ≅ (page r' ⋯).X pq) : CategoryTheory.SpectralSequence C c r₀ - CategoryTheory.SpectralSequence.Hom.comm 📋 Mathlib.Algebra.Homology.SpectralSequence.Basic
{C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {κ : Type u_2} {c : ℤ → ComplexShape κ} {r₀ : ℤ} {E E' : CategoryTheory.SpectralSequence C c r₀} (self : E.Hom E') (r r' : ℤ) (pq : κ) (hrr' : r + 1 = r' := by lia) (hr : r₀ ≤ r := by lia) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap (self.hom r ⋯) pq) (E'.iso r r' pq ⋯ ⋯).hom = CategoryTheory.CategoryStruct.comp (E.iso r r' pq ⋯ ⋯).hom ((self.hom r' ⋯).f pq) - CategoryTheory.SpectralSequence.Hom.mk 📋 Mathlib.Algebra.Homology.SpectralSequence.Basic
{C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {κ : Type u_2} {c : ℤ → ComplexShape κ} {r₀ : ℤ} {E E' : CategoryTheory.SpectralSequence C c r₀} (hom : (r : ℤ) → (hr : autoParam (r₀ ≤ r) CategoryTheory.SpectralSequence.Hom._auto_1) → E.page r ⋯ ⟶ E'.page r ⋯) (comm : ∀ (r r' : ℤ) (pq : κ) (hrr' : autoParam (r + 1 = r') CategoryTheory.SpectralSequence.Hom._auto_5) (hr : autoParam (r₀ ≤ r) CategoryTheory.SpectralSequence.Hom._auto_7), CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap (hom r ⋯) pq) (E'.iso r r' pq ⋯ ⋯).hom = CategoryTheory.CategoryStruct.comp (E.iso r r' pq ⋯ ⋯).hom ((hom r' ⋯).f pq) := by cat_disch) : E.Hom E' - CategoryTheory.SpectralSequence.Hom.comm_assoc 📋 Mathlib.Algebra.Homology.SpectralSequence.Basic
{C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {κ : Type u_2} {c : ℤ → ComplexShape κ} {r₀ : ℤ} {E E' : CategoryTheory.SpectralSequence C c r₀} (self : E.Hom E') (r r' : ℤ) (pq : κ) (hrr' : r + 1 = r' := by lia) (hr : r₀ ≤ r := by lia) {Z : C} (h : (E'.page r' ⋯).X pq ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap (self.hom r ⋯) pq) (CategoryTheory.CategoryStruct.comp (E'.iso r r' pq ⋯ ⋯).hom h) = CategoryTheory.CategoryStruct.comp (E.iso r r' pq ⋯ ⋯).hom (CategoryTheory.CategoryStruct.comp ((self.hom r' ⋯).f pq) h) - CategoryTheory.Abelian.SpectralObject.SpectralSequence.homologyIso 📋 Mathlib.Algebra.Homology.SpectralObject.SpectralSequence
{C : Type u_1} {ι : Type u_2} {κ : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] [Preorder ι] (X : CategoryTheory.Abelian.SpectralObject C ι) {c : ℤ → ComplexShape κ} {r₀ : ℤ} (data : CategoryTheory.Abelian.SpectralObject.SpectralSequenceDataCore ι c r₀) (r r' : ℤ) (hrr' : r + 1 = r') (hr : r₀ ≤ r) (pq' : κ) [X.HasSpectralSequence data] : (CategoryTheory.Abelian.SpectralObject.SpectralSequence.page X data r hr).homology pq' ≅ (CategoryTheory.Abelian.SpectralObject.SpectralSequence.page X data r' ⋯).X pq' - CategoryTheory.Abelian.SpectralObject.spectralSequence_iso 📋 Mathlib.Algebra.Homology.SpectralObject.SpectralSequence
{C : Type u_1} {ι : Type u_2} {κ : Type u_3} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] [Preorder ι] (X : CategoryTheory.Abelian.SpectralObject C ι) {c : ℤ → ComplexShape κ} {r₀ : ℤ} (data : CategoryTheory.Abelian.SpectralObject.SpectralSequenceDataCore ι c r₀) [X.HasSpectralSequence data] (r r' : ℤ) (hrr' : r + 1 = r') (hr : r₀ ≤ r) (pq pq' pq'' : κ) (hpq : (c r).prev pq' = pq) (hpq' : (c r).next pq' = pq'') (i₀' i₀ i₁ i₂ i₃ i₃' : ι) (hi₀' : i₀' = data.i₀ r' pq' ⋯) (hi₀ : i₀ = data.i₀ r pq' ⋯) (hi₁ : i₁ = data.i₁ pq') (hi₂ : i₂ = data.i₂ pq') (hi₃ : i₃ = data.i₃ r pq' ⋯) (hi₃' : i₃' = data.i₃ r' pq' ⋯) (n₀ n₁ n₂ : ℤ) (hn₁' : n₁ = data.deg pq') (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : (X.spectralSequence data).iso r r' pq' ⋯ ⋯ = ((X.spectralSequence data).page r ⋯).homologyIsoSc' pq pq' pq'' hpq hpq' ≪≫ (X.spectralSequenceHomologyData data r r' hrr' hr pq pq' pq'' hpq hpq' i₀' i₀ i₁ i₂ i₃ i₃' hi₀' hi₀ hi₁ hi₂ hi₃ hi₃' n₀ n₁ n₂ hn₁' ⋯ ⋯).left.homologyIso ≪≫ (X.spectralSequencePageXIso data r' ⋯ pq' i₀' i₁ i₂ i₃' hi₀' hi₁ hi₂ hi₃' n₀ n₁ n₂ hn₁' ⋯ ⋯).symm - SSet.liftCycles_ιChainComplex_homologyπ_homology₀ε 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.HomologyZero
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] (x : X.obj (Opposite.op { len := 0 })) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles (X.chainComplex R) (X.ιChainComplex x) 0 SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom._proof_1 ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ (X.chainComplex R) 0) (X.homology₀ε R)) = CategoryTheory.CategoryStruct.id R - SSet.liftCycles_ιChainComplex_homologyπ_homology₀ε_assoc 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.HomologyZero
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] (x : X.obj (Opposite.op { len := 0 })) {Z : C} (h : R ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles (X.chainComplex R) (X.ιChainComplex x) 0 SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom._proof_1 ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ (X.chainComplex R) 0) (CategoryTheory.CategoryStruct.comp (X.homology₀ε R) h)) = h - SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.HomologyZero
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] (x : X.obj (Opposite.op { len := 0 })) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles (X.chainComplex R) (X.ιChainComplex x) 0 SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom._proof_1 ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ (X.chainComplex R) 0) (X.homology₀Iso R).hom) = CategoryTheory.Limits.Sigma.ι (fun x => R) (SSet.π₀.mk x) - SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom_assoc 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.HomologyZero
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] (x : X.obj (Opposite.op { len := 0 })) {Z : C} (h : (∐ fun x => R) ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.liftCycles (X.chainComplex R) (X.ιChainComplex x) 0 SSet.liftCycles_ιChainComplex_homologyπ_homology₀Iso_hom._proof_1 ⋯) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyπ (X.chainComplex R) 0) (CategoryTheory.CategoryStruct.comp (X.homology₀Iso R).hom h)) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι (fun x => R) (SSet.π₀.mk x)) h - SSet.instQuasiIsoNatFromNormalizedChainComplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.Nondegenerate
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] : QuasiIso (X.fromNormalizedChainComplex R) - SSet.instQuasiIsoNatToNormalizedChainComplex 📋 Mathlib.AlgebraicTopology.SimplicialSet.Homology.Nondegenerate
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Preadditive C] (X : SSet) (R : C) [CategoryTheory.CategoryWithHomology C] : QuasiIso (X.toNormalizedChainComplex R) - TopCat.Homotopy.congr_homologyMap_singularChainComplexFunctor 📋 Mathlib.AlgebraicTopology.SingularHomology.HomotopyInvariance
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasCoproducts C] {X Y : TopCat} {f g : X ⟶ Y} [CategoryTheory.CategoryWithHomology C] (H : TopCat.Homotopy f g) (R : C) (n : ℕ) : HomologicalComplex.homologyMap (((AlgebraicTopology.singularChainComplexFunctor C).obj R).map f) n = HomologicalComplex.homologyMap (((AlgebraicTopology.singularChainComplexFunctor C).obj R).map g) n - CategoryTheory.InjectiveResolution.instQuasiIsoIntι' 📋 Mathlib.CategoryTheory.Abelian.Injective.Extend
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X : C} (R : CategoryTheory.InjectiveResolution X) : QuasiIso R.ι' - CategoryTheory.ProjectiveResolution.instQuasiIsoIntπ' 📋 Mathlib.CategoryTheory.Abelian.Projective.Extend
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] {X : C} (R : CategoryTheory.ProjectiveResolution X) : QuasiIso R.π' - CategoryTheory.InjectiveResolution.toRightDerivedZero' 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] {X : C} (P : CategoryTheory.InjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] : F.obj X ⟶ ((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).cycles 0 - CategoryTheory.instIsIsoToRightDerivedZero' 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] [CategoryTheory.Limits.PreservesFiniteLimits F] {X : C} (P : CategoryTheory.InjectiveResolution X) : CategoryTheory.IsIso (P.toRightDerivedZero' F) - CategoryTheory.InjectiveResolution.instIsIsoToRightDerivedZero'Self 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] (X : C) [CategoryTheory.Injective X] : CategoryTheory.IsIso ((CategoryTheory.InjectiveResolution.self X).toRightDerivedZero' F) - CategoryTheory.InjectiveResolution.toRightDerivedZero'_comp_iCycles 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X : C} (P : CategoryTheory.InjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] : CategoryTheory.CategoryStruct.comp (P.toRightDerivedZero' F) (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).iCycles 0) = F.map (P.ι.f 0) - CategoryTheory.InjectiveResolution.toRightDerivedZero'_comp_iCycles_assoc 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X : C} (P : CategoryTheory.InjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] {Z : D} (h : ((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).X 0 ⟶ Z) : CategoryTheory.CategoryStruct.comp (P.toRightDerivedZero' F) (CategoryTheory.CategoryStruct.comp (((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj P.cocomplex).iCycles 0) h) = CategoryTheory.CategoryStruct.comp (F.map (P.ι.f 0)) h - CategoryTheory.InjectiveResolution.toRightDerivedZero_eq 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian C] [CategoryTheory.HasInjectiveResolutions C] [CategoryTheory.Abelian D] {X : C} (I : CategoryTheory.InjectiveResolution X) (F : CategoryTheory.Functor C D) [F.Additive] : F.toRightDerivedZero.app X = CategoryTheory.CategoryStruct.comp (I.toRightDerivedZero' F) (CategoryTheory.CategoryStruct.comp (CochainComplex.isoHomologyπ₀ ((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj I.cocomplex)).hom (I.isoRightDerivedObj F 0).inv) - CategoryTheory.InjectiveResolution.toRightDerivedZero'_naturality 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X Y : C} (f : X ⟶ Y) (P : CategoryTheory.InjectiveResolution X) (Q : CategoryTheory.InjectiveResolution Y) (φ : P.cocomplex ⟶ Q.cocomplex) (comm : CategoryTheory.CategoryStruct.comp (P.ι.f 0) (φ.f 0) = CategoryTheory.CategoryStruct.comp f (Q.ι.f 0)) (F : CategoryTheory.Functor C D) [F.Additive] : CategoryTheory.CategoryStruct.comp (F.map f) (Q.toRightDerivedZero' F) = CategoryTheory.CategoryStruct.comp (P.toRightDerivedZero' F) (HomologicalComplex.cyclesMap ((F.mapHomologicalComplex (ComplexShape.up ℕ)).map φ) 0) - CategoryTheory.InjectiveResolution.toRightDerivedZero'_naturality_assoc 📋 Mathlib.CategoryTheory.Abelian.RightDerived
{D : Type u_1} [CategoryTheory.Category.{v_1, u_1} D] [CategoryTheory.Abelian D] {C : Type u_2} [CategoryTheory.Category.{v_2, u_2} C] [CategoryTheory.Abelian C] {X Y : C} (f : X ⟶ Y) (P : CategoryTheory.InjectiveResolution X) (Q : CategoryTheory.InjectiveResolution Y) (φ : P.cocomplex ⟶ Q.cocomplex) (comm : CategoryTheory.CategoryStruct.comp (P.ι.f 0) (φ.f 0) = CategoryTheory.CategoryStruct.comp f (Q.ι.f 0)) (F : CategoryTheory.Functor C D) [F.Additive] {Z : D} (h : ((F.mapHomologicalComplex (ComplexShape.up ℕ)).obj Q.cocomplex).cycles 0 ⟶ Z) : CategoryTheory.CategoryStruct.comp (F.map f) (CategoryTheory.CategoryStruct.comp (Q.toRightDerivedZero' F) h) = CategoryTheory.CategoryStruct.comp (P.toRightDerivedZero' F) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.cyclesMap ((F.mapHomologicalComplex (ComplexShape.up ℕ)).map φ) 0) h) - CategoryTheory.JointlyReflectIsomorphisms.quasiIsoAt_iff 📋 Mathlib.CategoryTheory.Functor.ReflectsIso.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I : Type u_2} {D : I → Type u_3} [(i : I) → CategoryTheory.Category.{v_2, u_3} (D i)] {F : (i : I) → CategoryTheory.Functor C (D i)} (hP : CategoryTheory.JointlyReflectIsomorphisms F) [CategoryTheory.Abelian C] [(i : I) → CategoryTheory.Abelian (D i)] [CategoryTheory.CategoryWithHomology C] [∀ (i : I), CategoryTheory.Limits.PreservesFiniteLimits (F i)] [∀ (i : I), CategoryTheory.Limits.PreservesFiniteColimits (F i)] {α : Type u_4} {c : ComplexShape α} {K L : HomologicalComplex C c} (f : K ⟶ L) (a : α) : QuasiIsoAt f a ↔ ∀ (i : I), QuasiIsoAt (((F i).mapHomologicalComplex c).map f) a - CategoryTheory.JointlyReflectIsomorphisms.quasiIso_iff 📋 Mathlib.CategoryTheory.Functor.ReflectsIso.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {I : Type u_2} {D : I → Type u_3} [(i : I) → CategoryTheory.Category.{v_2, u_3} (D i)] {F : (i : I) → CategoryTheory.Functor C (D i)} (hP : CategoryTheory.JointlyReflectIsomorphisms F) [CategoryTheory.Abelian C] [(i : I) → CategoryTheory.Abelian (D i)] [CategoryTheory.CategoryWithHomology C] [∀ (i : I), CategoryTheory.Limits.PreservesFiniteLimits (F i)] [∀ (i : I), CategoryTheory.Limits.PreservesFiniteColimits (F i)] {α : Type u_4} {c : ComplexShape α} {K L : HomologicalComplex C c} (f : K ⟶ L) : QuasiIso f ↔ ∀ (i : I), QuasiIso (((F i).mapHomologicalComplex c).map f) - ContinuousCohomology.π 📋 Mathlib.RepresentationTheory.Homological.ContCohomology.Basic
{k : Type u_1} {G : Type u_2} [Ring k] [Group G] [TopologicalSpace k] [TopologicalSpace G] [IsTopologicalGroup G] (A : TopRep k G) (n : ℕ) : HomologicalComplex.cycles A.homogeneousCochains n ⟶ HomologicalComplex.homology A.homogeneousCochains n - ContinuousCohomology.π_map 📋 Mathlib.RepresentationTheory.Homological.ContCohomology.Functoriality
{k : Type u} {G H : Type v} [Ring k] [TopologicalSpace k] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [Group H] [TopologicalSpace H] [IsTopologicalGroup H] {X : TopRep k G} {Y : TopRep k H} (φ : H →ₜ* G) (f : TopRep.res (↑φ) X ⟶ Y) (n : ℕ) : CategoryTheory.CategoryStruct.comp (ContinuousCohomology.π X n) (ContinuousCohomology.map φ f n) = CategoryTheory.CategoryStruct.comp (ContinuousCohomology.cocyclesMap φ f n) (ContinuousCohomology.π Y n) - ContinuousCohomology.π_map_assoc 📋 Mathlib.RepresentationTheory.Homological.ContCohomology.Functoriality
{k : Type u} {G H : Type v} [Ring k] [TopologicalSpace k] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [Group H] [TopologicalSpace H] [IsTopologicalGroup H] {X : TopRep k G} {Y : TopRep k H} (φ : H →ₜ* G) (f : TopRep.res (↑φ) X ⟶ Y) (n : ℕ) {Z : TopModuleCat k} (h : continuousCohomology n Y ⟶ Z) : CategoryTheory.CategoryStruct.comp (ContinuousCohomology.π X n) (CategoryTheory.CategoryStruct.comp (ContinuousCohomology.map φ f n) h) = CategoryTheory.CategoryStruct.comp (ContinuousCohomology.cocyclesMap φ f n) (CategoryTheory.CategoryStruct.comp (ContinuousCohomology.π Y n) h) - Rep.FiniteCyclicGroup.resolution_quasiIso 📋 Mathlib.RepresentationTheory.Homological.FiniteCyclic
(k : Type u) {G : Type u} [CommRing k] [CommGroup G] [Fintype G] (g : G) (hg : ∀ (x : G), x ∈ Subgroup.zpowers g) : QuasiIso (Rep.FiniteCyclicGroup.resolution.π k g) - Rep.standardComplex.instQuasiIsoNatεToSingle₀ 📋 Mathlib.RepresentationTheory.Homological.Resolution
(k G : Type u) [CommRing k] [Monoid G] : QuasiIso (Rep.standardComplex.εToSingle₀ k G) - Rep.barResolution.extIso 📋 Mathlib.RepresentationTheory.Homological.Resolution
(k G : Type u) [CommRing k] [Group G] (V : Rep.{u, u, u} k G) (n : ℕ) : ((Ext k (Rep.{u, u, u} k G) n).obj (Opposite.op (Rep.trivial k G k))).obj V ≅ HomologicalComplex.homology ((Rep.barComplex k G).linearYonedaObj k V) n - Rep.standardResolution.extIso 📋 Mathlib.RepresentationTheory.Homological.Resolution
(k G : Type u) [CommRing k] [Group G] (V : Rep.{u, u, u} k G) (n : ℕ) : ((Ext k (Rep.{u, u, u} k G) n).obj (Opposite.op (Rep.trivial k G k))).obj V ≅ HomologicalComplex.homology ((Rep.standardComplex k G).linearYonedaObj k V) n - Rep.standardComplex.quasiIso_forget₂_εToSingle₀ 📋 Mathlib.RepresentationTheory.Homological.Resolution
(k G : Type u) [CommRing k] [Monoid G] : QuasiIso (((CategoryTheory.forget₂ (Rep.{u, u, u} k G) (ModuleCat k)).mapHomologicalComplex (ComplexShape.down ℕ)).map (Rep.standardComplex.εToSingle₀ k G)) - groupCohomologyIso 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.Basic
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (n : ℕ) (P : CategoryTheory.ProjectiveResolution (Rep.trivial k G k)) : groupCohomology A n ≅ HomologicalComplex.homology (P.complex.linearYonedaObj k A) n - groupCohomology.isoShortComplexH1 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : HomologicalComplex.sc (groupCohomology.inhomogeneousCochains A) 1 ≅ groupCohomology.shortComplexH1 A - groupCohomology.isoShortComplexH2 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : HomologicalComplex.sc (groupCohomology.inhomogeneousCochains A) 2 ≅ groupCohomology.shortComplexH2 A - groupCohomology.isoShortComplexH1_hom 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupCohomology.isoShortComplexH1 A).hom = CategoryTheory.CategoryStruct.comp ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.up ℕ) 0 1 2 groupCohomology.isoShortComplexH1._proof_1 groupCohomology.isoShortComplexH1._proof_2).hom.app (groupCohomology.inhomogeneousCochains A)) (CategoryTheory.ShortComplex.isoMk (groupCohomology.cochainsIso₀ A) (groupCohomology.cochainsIso₁ A) (groupCohomology.cochainsIso₂ A) ⋯ ⋯).hom - groupCohomology.isoShortComplexH2_hom 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupCohomology.isoShortComplexH2 A).hom = CategoryTheory.CategoryStruct.comp ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.up ℕ) 1 2 3 groupCohomology.isoShortComplexH2._proof_1 groupCohomology.isoShortComplexH2._proof_2).hom.app (groupCohomology.inhomogeneousCochains A)) (CategoryTheory.ShortComplex.isoMk (groupCohomology.cochainsIso₁ A) (groupCohomology.cochainsIso₂ A) (groupCohomology.cochainsIso₃ A) ⋯ ⋯).hom - groupCohomology.isoShortComplexH1_inv 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupCohomology.isoShortComplexH1 A).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homMk (groupCohomology.cochainsIso₀ A).inv (groupCohomology.cochainsIso₁ A).inv (groupCohomology.cochainsIso₂ A).inv ⋯ ⋯) ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.up ℕ) 0 1 2 groupCohomology.isoShortComplexH1._proof_1 groupCohomology.isoShortComplexH1._proof_2).inv.app (groupCohomology.inhomogeneousCochains A)) - groupCohomology.isoShortComplexH2_inv 📋 Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupCohomology.isoShortComplexH2 A).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homMk (groupCohomology.cochainsIso₁ A).inv (groupCohomology.cochainsIso₂ A).inv (groupCohomology.cochainsIso₃ A).inv ⋯ ⋯) ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.up ℕ) 1 2 3 groupCohomology.isoShortComplexH2._proof_1 groupCohomology.isoShortComplexH2._proof_2).inv.app (groupCohomology.inhomogeneousCochains A)) - groupHomologyIso 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Basic
{k G : Type u} [CommRing k] [Group G] [DecidableEq G] (A : Rep.{u, u, u} k G) (n : ℕ) (P : CategoryTheory.ProjectiveResolution (Rep.trivial k G k)) : groupHomology A n ≅ HomologicalComplex.homology (HomologicalComplex.coinvariantsTensorObj A P.complex) n - Rep.torIso 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.Basic
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) {B : Rep.{u, u, u} k G} (P : CategoryTheory.ProjectiveResolution B) (n : ℕ) : ((Rep.Tor k G n).obj A).obj B ≅ HomologicalComplex.homology (HomologicalComplex.coinvariantsTensorObj A P.complex) n - groupHomology.isoShortComplexH1 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : HomologicalComplex.sc (groupHomology.inhomogeneousChains A) 1 ≅ groupHomology.shortComplexH1 A - groupHomology.isoShortComplexH2 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : HomologicalComplex.sc (groupHomology.inhomogeneousChains A) 2 ≅ groupHomology.shortComplexH2 A - groupHomology.opcyclesIso₀ 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : HomologicalComplex.opcycles (groupHomology.inhomogeneousChains A) 0 ≅ (Rep.coinvariantsFunctor k G).obj A - groupHomology.isoShortComplexH1_hom 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupHomology.isoShortComplexH1 A).hom = CategoryTheory.CategoryStruct.comp ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.down ℕ) 2 1 0 groupHomology.isoShortComplexH1._proof_1 groupHomology.isoShortComplexH1._proof_2).hom.app (groupHomology.inhomogeneousChains A)) (CategoryTheory.ShortComplex.isoMk (groupHomology.chainsIso₂ A) (groupHomology.chainsIso₁ A) (groupHomology.chainsIso₀ A) ⋯ ⋯).hom - groupHomology.isoShortComplexH2_hom 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupHomology.isoShortComplexH2 A).hom = CategoryTheory.CategoryStruct.comp ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.down ℕ) 3 2 1 groupHomology.isoShortComplexH2._proof_1 groupHomology.isoShortComplexH2._proof_2).hom.app (groupHomology.inhomogeneousChains A)) (CategoryTheory.ShortComplex.isoMk (groupHomology.chainsIso₃ A) (groupHomology.chainsIso₂ A) (groupHomology.chainsIso₁ A) ⋯ ⋯).hom - groupHomology.pOpcycles_comp_opcyclesIso_hom 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0) (groupHomology.opcyclesIso₀ A).hom = CategoryTheory.CategoryStruct.comp (groupHomology.chainsIso₀ A).hom ((Rep.coinvariantsMk k G).app A) - groupHomology.isoShortComplexH1_inv 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupHomology.isoShortComplexH1 A).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homMk (groupHomology.chainsIso₂ A).inv (groupHomology.chainsIso₁ A).inv (groupHomology.chainsIso₀ A).inv ⋯ ⋯) ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.down ℕ) 2 1 0 groupHomology.isoShortComplexH1._proof_1 groupHomology.isoShortComplexH1._proof_2).inv.app (groupHomology.inhomogeneousChains A)) - groupHomology.isoShortComplexH2_inv 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : (groupHomology.isoShortComplexH2 A).inv = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homMk (groupHomology.chainsIso₃ A).inv (groupHomology.chainsIso₂ A).inv (groupHomology.chainsIso₁ A).inv ⋯ ⋯) ((HomologicalComplex.natIsoSc' (ModuleCat k) (ComplexShape.down ℕ) 3 2 1 groupHomology.isoShortComplexH2._proof_1 groupHomology.isoShortComplexH2._proof_2).inv.app (groupHomology.inhomogeneousChains A)) - groupHomology.pOpcycles_comp_opcyclesIso_hom_assoc 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) {Z : ModuleCat k} (h : (Rep.coinvariantsFunctor k G).obj A ⟶ Z) : CategoryTheory.CategoryStruct.comp (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0) (CategoryTheory.CategoryStruct.comp (groupHomology.opcyclesIso₀ A).hom h) = CategoryTheory.CategoryStruct.comp (groupHomology.chainsIso₀ A).hom (CategoryTheory.CategoryStruct.comp ((Rep.coinvariantsMk k G).app A) h) - groupHomology.coinvariantsMk_comp_opcyclesIso₀_inv 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) : CategoryTheory.CategoryStruct.comp ((Rep.coinvariantsMk k G).app A) (groupHomology.opcyclesIso₀ A).inv = CategoryTheory.CategoryStruct.comp (groupHomology.chainsIso₀ A).inv (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0) - groupHomology.coinvariantsMk_comp_opcyclesIso₀_inv_assoc 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) {Z : ModuleCat k} (h : HomologicalComplex.opcycles (groupHomology.inhomogeneousChains A) 0 ⟶ Z) : CategoryTheory.CategoryStruct.comp ((Rep.coinvariantsMk k G).app A) (CategoryTheory.CategoryStruct.comp (groupHomology.opcyclesIso₀ A).inv h) = CategoryTheory.CategoryStruct.comp (groupHomology.chainsIso₀ A).inv (CategoryTheory.CategoryStruct.comp (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0) h) - groupHomology.pOpcycles_comp_opcyclesIso_hom_apply 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (x : (Fin 0 → G) →₀ ↑A) : (CategoryTheory.ConcreteCategory.hom (groupHomology.opcyclesIso₀ A).hom) ((CategoryTheory.ConcreteCategory.hom (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0)) x) = (Representation.Coinvariants.mk A.ρ) ((CategoryTheory.ConcreteCategory.hom (groupHomology.chainsIso₀ A).hom) x) - groupHomology.coinvariantsMk_comp_opcyclesIso₀_inv_apply 📋 Mathlib.RepresentationTheory.Homological.GroupHomology.LowDegree
{k G : Type u} [CommRing k] [Group G] (A : Rep.{u, u, u} k G) (x : ↑((CategoryTheory.forget₂ (Rep.{u, u, u} k G) (ModuleCat k)).obj A)) : (CategoryTheory.ConcreteCategory.hom (groupHomology.opcyclesIso₀ A).inv) ((Representation.Coinvariants.mk A.ρ) x) = (CategoryTheory.ConcreteCategory.hom (HomologicalComplex.pOpcycles (groupHomology.inhomogeneousChains A) 0)) ((CategoryTheory.ConcreteCategory.hom (groupHomology.chainsIso₀ A).inv) x)
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