Documentation

Mathlib.Algebra.Homology.ShortComplex.Preadditive

Homology of preadditive categories #

In this file, it is shown that if C is a preadditive category, then ShortComplex C is a preadditive category.

Equations
  • CategoryTheory.ShortComplex.instAddCommGroupHomShortComplexPreadditiveHasZeroMorphismsToQuiverToCategoryStructInstCategoryShortComplex = AddCommGroup.mk
@[simp]
theorem CategoryTheory.ShortComplex.add_τ₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ + φ').τ₁ = φ.τ₁ + φ'.τ₁
@[simp]
theorem CategoryTheory.ShortComplex.add_τ₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ + φ').τ₂ = φ.τ₂ + φ'.τ₂
@[simp]
theorem CategoryTheory.ShortComplex.add_τ₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ + φ').τ₃ = φ.τ₃ + φ'.τ₃
@[simp]
theorem CategoryTheory.ShortComplex.sub_τ₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ - φ').τ₁ = φ.τ₁ - φ'.τ₁
@[simp]
theorem CategoryTheory.ShortComplex.sub_τ₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ - φ').τ₂ = φ.τ₂ - φ'.τ₂
@[simp]
theorem CategoryTheory.ShortComplex.sub_τ₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (φ : S₁ S₂) (φ' : S₁ S₂) :
(φ - φ').τ₃ = φ.τ₃ - φ'.τ₃
Equations
  • CategoryTheory.ShortComplex.instPreadditiveShortComplexPreadditiveHasZeroMorphismsInstCategoryShortComplex = { homGroup := inferInstance, add_comp := , comp_add := }

Given a left homology map data for morphism φ, this is the induced left homology map data for .

Equations
Instances For

    Given left homology map data for morphisms φ and φ', this is the induced left homology map data for φ + φ'.

    Equations
    Instances For

      Given a right homology map data for morphism φ, this is the induced right homology map data for .

      Equations
      Instances For

        Given right homology map data for morphisms φ and φ', this is the induced right homology map data for φ + φ'.

        Equations
        Instances For

          Given homology map data for morphisms φ and φ', this is the induced homology map data for φ + φ'.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem CategoryTheory.ShortComplex.Homotopy.ext {C : Type u_1} :
            ∀ {inst : CategoryTheory.Category.{u_2, u_1} C} {inst_1 : CategoryTheory.Preadditive C} {S₁ S₂ : CategoryTheory.ShortComplex C} {φ₁ φ₂ : S₁ S₂} (x y : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂), x.h₀ = y.h₀x.h₁ = y.h₁x.h₂ = y.h₂x.h₃ = y.h₃x = y
            theorem CategoryTheory.ShortComplex.Homotopy.ext_iff {C : Type u_1} :
            ∀ {inst : CategoryTheory.Category.{u_2, u_1} C} {inst_1 : CategoryTheory.Preadditive C} {S₁ S₂ : CategoryTheory.ShortComplex C} {φ₁ φ₂ : S₁ S₂} (x y : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂), x = y x.h₀ = y.h₀ x.h₁ = y.h₁ x.h₂ = y.h₂ x.h₃ = y.h₃

            A homotopy between two morphisms of short complexes S₁ ⟶ S₂ consists of various maps and conditions which will be sufficient to show that they induce the same morphism in homology.

            Instances For
              @[simp]
              theorem CategoryTheory.ShortComplex.nullHomotopic_τ₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
              (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).τ₂ = CategoryTheory.CategoryStruct.comp h₁ S₂.f + CategoryTheory.CategoryStruct.comp S₁.g h₂
              @[simp]
              theorem CategoryTheory.ShortComplex.nullHomotopic_τ₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
              (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).τ₃ = CategoryTheory.CategoryStruct.comp h₂ S₂.g + h₃
              @[simp]
              theorem CategoryTheory.ShortComplex.nullHomotopic_τ₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
              (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).τ₁ = h₀ + CategoryTheory.CategoryStruct.comp S₁.f h₁
              def CategoryTheory.ShortComplex.nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
              S₁ S₂

              Constructor for null homotopic morphisms, see also Homotopy.ofNullHomotopic and Homotopy.eq_add_nullHomotopic.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The obvious homotopy between two equal morphisms of short complexes.

                Equations
                Instances For

                  The symmetry of homotopy between morphisms of short complexes.

                  Equations
                  Instances For

                    If two maps of short complexes are homotopic, their opposites also are.

                    Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.ShortComplex.Homotopy.trans_h₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} (h₁₂ : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h₂₃ : CategoryTheory.ShortComplex.Homotopy φ₂ φ₃) :
                      (CategoryTheory.ShortComplex.Homotopy.trans h₁₂ h₂₃).h₁ = h₁₂.h₁ + h₂₃.h₁
                      @[simp]
                      theorem CategoryTheory.ShortComplex.Homotopy.trans_h₀ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} (h₁₂ : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h₂₃ : CategoryTheory.ShortComplex.Homotopy φ₂ φ₃) :
                      (CategoryTheory.ShortComplex.Homotopy.trans h₁₂ h₂₃).h₀ = h₁₂.h₀ + h₂₃.h₀
                      @[simp]
                      theorem CategoryTheory.ShortComplex.Homotopy.trans_h₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} (h₁₂ : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h₂₃ : CategoryTheory.ShortComplex.Homotopy φ₂ φ₃) :
                      (CategoryTheory.ShortComplex.Homotopy.trans h₁₂ h₂₃).h₂ = h₁₂.h₂ + h₂₃.h₂
                      @[simp]
                      theorem CategoryTheory.ShortComplex.Homotopy.trans_h₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} (h₁₂ : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h₂₃ : CategoryTheory.ShortComplex.Homotopy φ₂ φ₃) :
                      (CategoryTheory.ShortComplex.Homotopy.trans h₁₂ h₂₃).h₃ = h₁₂.h₃ + h₂₃.h₃

                      The transitivity of homotopy between morphisms of short complexes.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem CategoryTheory.ShortComplex.Homotopy.add_h₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                        (CategoryTheory.ShortComplex.Homotopy.add h h').h₃ = h.h₃ + h'.h₃
                        @[simp]
                        theorem CategoryTheory.ShortComplex.Homotopy.add_h₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                        (CategoryTheory.ShortComplex.Homotopy.add h h').h₁ = h.h₁ + h'.h₁
                        @[simp]
                        theorem CategoryTheory.ShortComplex.Homotopy.add_h₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                        (CategoryTheory.ShortComplex.Homotopy.add h h').h₂ = h.h₂ + h'.h₂
                        @[simp]
                        theorem CategoryTheory.ShortComplex.Homotopy.add_h₀ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                        (CategoryTheory.ShortComplex.Homotopy.add h h').h₀ = h.h₀ + h'.h₀
                        def CategoryTheory.ShortComplex.Homotopy.add {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                        CategoryTheory.ShortComplex.Homotopy (φ₁ + φ₃) (φ₂ + φ₄)

                        Homotopy between morphisms of short complexes is compatible with addition.

                        Equations
                        • CategoryTheory.ShortComplex.Homotopy.add h h' = { h₀ := h.h₀ + h'.h₀, h₀_f := , h₁ := h.h₁ + h'.h₁, h₂ := h.h₂ + h'.h₂, h₃ := h.h₃ + h'.h₃, g_h₃ := , comm₁ := , comm₂ := , comm₃ := }
                        Instances For
                          @[simp]
                          theorem CategoryTheory.ShortComplex.Homotopy.sub_h₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                          (CategoryTheory.ShortComplex.Homotopy.sub h h').h₃ = h.h₃ - h'.h₃
                          @[simp]
                          theorem CategoryTheory.ShortComplex.Homotopy.sub_h₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                          (CategoryTheory.ShortComplex.Homotopy.sub h h').h₂ = h.h₂ - h'.h₂
                          @[simp]
                          theorem CategoryTheory.ShortComplex.Homotopy.sub_h₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                          (CategoryTheory.ShortComplex.Homotopy.sub h h').h₁ = h.h₁ - h'.h₁
                          @[simp]
                          theorem CategoryTheory.ShortComplex.Homotopy.sub_h₀ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                          (CategoryTheory.ShortComplex.Homotopy.sub h h').h₀ = h.h₀ - h'.h₀
                          def CategoryTheory.ShortComplex.Homotopy.sub {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} {φ₁ : S₁ S₂} {φ₂ : S₁ S₂} {φ₃ : S₁ S₂} {φ₄ : S₁ S₂} (h : CategoryTheory.ShortComplex.Homotopy φ₁ φ₂) (h' : CategoryTheory.ShortComplex.Homotopy φ₃ φ₄) :
                          CategoryTheory.ShortComplex.Homotopy (φ₁ - φ₃) (φ₂ - φ₄)

                          Homotopy between morphisms of short complexes is compatible with substraction.

                          Equations
                          • CategoryTheory.ShortComplex.Homotopy.sub h h' = { h₀ := h.h₀ - h'.h₀, h₀_f := , h₁ := h.h₁ - h'.h₁, h₂ := h.h₂ - h'.h₂, h₃ := h.h₃ - h'.h₃, g_h₃ := , comm₁ := , comm₂ := , comm₃ := }
                          Instances For

                            Homotopy between morphisms of short complexes is compatible with precomposition.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Homotopy between morphisms of short complexes is compatible with postcomposition.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                Homotopy between morphisms of short complexes is compatible with composition.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The homotopy between morphisms in ShortComplex Cᵒᵖ that is induced by a homotopy between morphisms in ShortComplex C.

                                  Equations
                                  • CategoryTheory.ShortComplex.Homotopy.op h = { h₀ := h.h₃.op, h₀_f := , h₁ := h.h₂.op, h₂ := h.h₁.op, h₃ := h.h₀.op, g_h₃ := , comm₁ := , comm₂ := , comm₃ := }
                                  Instances For

                                    The homotopy between morphisms in ShortComplex C that is induced by a homotopy between morphisms in ShortComplex Cᵒᵖ.

                                    Equations
                                    • CategoryTheory.ShortComplex.Homotopy.unop h = { h₀ := h.h₃.unop, h₀_f := , h₁ := h.h₂.unop, h₂ := h.h₁.unop, h₃ := h.h₀.unop, g_h₃ := , comm₁ := , comm₂ := , comm₃ := }
                                    Instances For

                                      Equivalence expressing that two morphisms are homotopic iff their difference is homotopic to zero.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic_h₃ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                        (CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).h₃ = h₃
                                        @[simp]
                                        theorem CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic_h₁ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                        (CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).h₁ = h₁
                                        @[simp]
                                        theorem CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic_h₀ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                        (CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).h₀ = h₀
                                        @[simp]
                                        theorem CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic_h₂ {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                        (CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃).h₂ = h₂
                                        def CategoryTheory.ShortComplex.Homotopy.ofNullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :

                                        A morphism constructed with nullHomotopic is homotopic to zero.

                                        Equations
                                        Instances For
                                          def CategoryTheory.ShortComplex.LeftHomologyMapData.ofNullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (H₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁) (H₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :

                                          The left homology map data expressing that null homotopic maps induce the zero morphism in left homology.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            def CategoryTheory.ShortComplex.RightHomologyMapData.ofNullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (H₁ : CategoryTheory.ShortComplex.RightHomologyData S₁) (H₂ : CategoryTheory.ShortComplex.RightHomologyData S₂) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :

                                            The right homology map data expressing that null homotopic maps induce the zero morphism in right homology.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.leftHomologyMap'_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (H₁ : CategoryTheory.ShortComplex.LeftHomologyData S₁) (H₂ : CategoryTheory.ShortComplex.LeftHomologyData S₂) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              CategoryTheory.ShortComplex.leftHomologyMap' (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃) H₁ H₂ = 0
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.rightHomologyMap'_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (H₁ : CategoryTheory.ShortComplex.RightHomologyData S₁) (H₂ : CategoryTheory.ShortComplex.RightHomologyData S₂) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              CategoryTheory.ShortComplex.rightHomologyMap' (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃) H₁ H₂ = 0
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.homologyMap'_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] {S₁ : CategoryTheory.ShortComplex C} {S₂ : CategoryTheory.ShortComplex C} (H₁ : CategoryTheory.ShortComplex.HomologyData S₁) (H₂ : CategoryTheory.ShortComplex.HomologyData S₂) (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              CategoryTheory.ShortComplex.homologyMap' (CategoryTheory.ShortComplex.nullHomotopic S₁ S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃) H₁ H₂ = 0
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.leftHomologyMap_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) [CategoryTheory.ShortComplex.HasLeftHomology S₁] [CategoryTheory.ShortComplex.HasLeftHomology S₂] (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.rightHomologyMap_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) [CategoryTheory.ShortComplex.HasRightHomology S₁] [CategoryTheory.ShortComplex.HasRightHomology S₂] (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              @[simp]
                                              theorem CategoryTheory.ShortComplex.homologyMap_nullHomotopic {C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] (S₁ : CategoryTheory.ShortComplex C) (S₂ : CategoryTheory.ShortComplex C) [CategoryTheory.ShortComplex.HasHomology S₁] [CategoryTheory.ShortComplex.HasHomology S₂] (h₀ : S₁.X₁ S₂.X₁) (h₀_f : CategoryTheory.CategoryStruct.comp h₀ S₂.f = 0) (h₁ : S₁.X₂ S₂.X₁) (h₂ : S₁.X₃ S₂.X₂) (h₃ : S₁.X₃ S₂.X₃) (g_h₃ : CategoryTheory.CategoryStruct.comp S₁.g h₃ = 0) :
                                              theorem CategoryTheory.ShortComplex.HomotopyEquiv.ext_iff {C : Type u_1} :
                                              ∀ {inst : CategoryTheory.Category.{u_2, u_1} C} {inst_1 : CategoryTheory.Preadditive C} {S₁ S₂ : CategoryTheory.ShortComplex C} (x y : CategoryTheory.ShortComplex.HomotopyEquiv S₁ S₂), x = y x.hom = y.hom x.inv = y.inv HEq x.homotopyHomInvId y.homotopyHomInvId HEq x.homotopyInvHomId y.homotopyInvHomId
                                              theorem CategoryTheory.ShortComplex.HomotopyEquiv.ext {C : Type u_1} :
                                              ∀ {inst : CategoryTheory.Category.{u_2, u_1} C} {inst_1 : CategoryTheory.Preadditive C} {S₁ S₂ : CategoryTheory.ShortComplex C} (x y : CategoryTheory.ShortComplex.HomotopyEquiv S₁ S₂), x.hom = y.homx.inv = y.invHEq x.homotopyHomInvId y.homotopyHomInvIdHEq x.homotopyInvHomId y.homotopyInvHomIdx = y

                                              An homotopy equivalence between two short complexes S₁ and S₂ consists of morphisms hom : S₁ ⟶ S₂ and inv : S₂ ⟶ S₁ such that both compositions hominv and invhom are homotopic to the identity.

                                              Instances For

                                                The homotopy equivalence from a short complex to itself that is induced by the identity.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  The inverse of a homotopy equivalence.

                                                  Equations
                                                  Instances For

                                                    The composition of homotopy equivalences.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For