Documentation

Mathlib.Algebra.Homology.HomotopyCategory.MappingCocone

The mapping cocone #

Given a morphism φ : K ⟶ L of cochain complexes, the mapping cone allows to obtain a triangle K ⟶ L ⟶ mappingCone φ ⟶ .... In this file, we define the mapping cocone, which fits in a rotated triangle: mappingCocone φ ⟶ K ⟶ L ⟶ ....

The mapping cocone of a morphism φ : K ⟶ L of cochain complexes: it is (mappingCone φ)⟦(-1 : ℤ)⟧.

Instances For

    The second projection in Cochain (mappingCocone φ) L (-1).

    Instances For

      The left inclusion in Cochain K (mappingCocone φ) 0.

      Instances For

        The right inclusion in Cocycle L (mappingCocone φ) 1.

        Instances For

          Constructor for cochains from mappingCocone.

          Instances For
            @[simp]
            theorem CochainComplex.mappingCocone.inl_v_descCochain_v {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ) (hpq : p + m = q) :
            CategoryTheory.CategoryStruct.comp ((inl φ).v p p ) ((descCochain φ α β h).v p q hpq) = α.v p q hpq
            @[simp]
            theorem CochainComplex.mappingCocone.inl_v_descCochain_v_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ) (hpq : p + m = q) {Z : C} (h✝ : M.X q Z) :
            @[simp]
            theorem CochainComplex.mappingCocone.inr_v_descCochain_v {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ) (hpq : p + 1 = q) (r : ) (hr : q + m = r) :
            CategoryTheory.CategoryStruct.comp ((↑(inr φ)).v p q hpq) ((descCochain φ α β h).v q r hr) = β.v p r
            @[simp]
            theorem CochainComplex.mappingCocone.inr_v_descCochain_v_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) (p q : ) (hpq : p + 1 = q) (r : ) (hr : q + m = r) {Z : C} (h✝ : M.X r Z) :
            @[simp]
            theorem CochainComplex.mappingCocone.inl_comp_descCochain {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) :
            (inl φ).comp (descCochain φ α β h) = α
            @[simp]
            theorem CochainComplex.mappingCocone.inr_comp_descCochain {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) :
            (↑(inr φ)).comp (descCochain φ α β h) = β
            theorem CochainComplex.mappingCocone.δ_descCochain {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cochain L M n) (h : m + 1 = n) (n' : ) (hn' : n + 1 = n') :
            HomComplex.δ m n (descCochain φ α β h) = (HomComplex.Cochain.ofHom (fst φ)).comp (HomComplex.δ m n α + m.negOnePow (HomComplex.Cochain.ofHom φ).comp β ) + (snd φ).comp (HomComplex.δ n n' β)
            noncomputable def CochainComplex.mappingCocone.descCocycle {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cocycle L M n) (h : m + 1 = n) (hαβ : HomComplex.δ m n α + m.negOnePow (HomComplex.Cochain.ofHom φ).comp β = 0) :

            Constructor for cocycles from mappingCocone.

            Instances For
              @[simp]
              theorem CochainComplex.mappingCocone.descCocycle_coe {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain K M m) (β : HomComplex.Cocycle L M n) (h : m + 1 = n) (hαβ : HomComplex.δ m n α + m.negOnePow (HomComplex.Cochain.ofHom φ).comp β = 0) :
              (descCocycle φ α β h hαβ) = descCochain φ α (↑β) h

              Constructor for morphisms from mappingCocone.

              Instances For
                @[simp]
                theorem CochainComplex.mappingCocone.inl_v_desc_f {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } (α : HomComplex.Cochain K M 0) (β : HomComplex.Cocycle L M 1) (hαβ : HomComplex.δ 0 1 α + (HomComplex.Cochain.ofHom φ).comp β = 0) (p : ) :
                CategoryTheory.CategoryStruct.comp ((inl φ).v p p ) ((desc φ α β hαβ).f p) = α.v p p
                @[simp]
                theorem CochainComplex.mappingCocone.inr_v_desc_f {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } (α : HomComplex.Cochain K M 0) (β : HomComplex.Cocycle L M 1) (hαβ : HomComplex.δ 0 1 α + (HomComplex.Cochain.ofHom φ).comp β = 0) (p q : ) (hpq : p + 1 = q) :
                CategoryTheory.CategoryStruct.comp ((↑(inr φ)).v p q hpq) ((desc φ α β hαβ).f q) = (↑β).v p q hpq
                @[simp]
                theorem CochainComplex.mappingCocone.inr_v_desc_f_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } (α : HomComplex.Cochain K M 0) (β : HomComplex.Cocycle L M 1) (hαβ : HomComplex.δ 0 1 α + (HomComplex.Cochain.ofHom φ).comp β = 0) (p q : ) (hpq : p + 1 = q) {Z : C} (h : M.X q Z) :

                Constructor for cochains to mappingCocone.

                Instances For
                  @[simp]
                  theorem CochainComplex.mappingCocone.liftCochain_v_fst_f {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (p₁ p₂ : ) (h₁₂ : p₁ + n = p₂) :
                  CategoryTheory.CategoryStruct.comp ((liftCochain φ α β h).v p₁ p₂ h₁₂) ((fst φ).f p₂) = α.v p₁ p₂ h₁₂
                  @[simp]
                  theorem CochainComplex.mappingCocone.liftCochain_v_fst_f_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (p₁ p₂ : ) (h₁₂ : p₁ + n = p₂) {Z : C} (h✝ : K.X p₂ Z) :
                  CategoryTheory.CategoryStruct.comp ((liftCochain φ α β h).v p₁ p₂ h₁₂) (CategoryTheory.CategoryStruct.comp ((fst φ).f p₂) h✝) = CategoryTheory.CategoryStruct.comp (α.v p₁ p₂ h₁₂) h✝
                  @[simp]
                  theorem CochainComplex.mappingCocone.liftCochain_v_snd_v {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (p₁ p₂ p₃ : ) (h₁₂ : p₁ + n = p₂) (h₂₃ : p₂ + -1 = p₃) :
                  CategoryTheory.CategoryStruct.comp ((liftCochain φ α β h).v p₁ p₂ h₁₂) ((snd φ).v p₂ p₃ h₂₃) = β.v p₁ p₃
                  @[simp]
                  theorem CochainComplex.mappingCocone.liftCochain_v_snd_v_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (p₁ p₂ p₃ : ) (h₁₂ : p₁ + n = p₂) (h₂₃ : p₂ + -1 = p₃) {Z : C} (h✝ : L.X p₃ Z) :
                  CategoryTheory.CategoryStruct.comp ((liftCochain φ α β h).v p₁ p₂ h₁₂) (CategoryTheory.CategoryStruct.comp ((snd φ).v p₂ p₃ h₂₃) h✝) = CategoryTheory.CategoryStruct.comp (β.v p₁ p₃ ) h✝
                  @[simp]
                  theorem CochainComplex.mappingCocone.liftCochain_comp_snd {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) :
                  (liftCochain φ α β h).comp (snd φ) = β
                  theorem CochainComplex.mappingCocone.δ_liftCochain {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cochain M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (n' : ) (hn' : n + 1 = n') :
                  HomComplex.δ n n' (liftCochain φ α β h) = (HomComplex.δ n n' α).comp (inl φ) - (HomComplex.δ m n β + α.comp (HomComplex.Cochain.ofHom φ) ).comp (↑(inr φ)) hn'
                  noncomputable def CochainComplex.mappingCocone.liftCocycle {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cocycle M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (hαβ : HomComplex.δ m n β + (↑α).comp (HomComplex.Cochain.ofHom φ) = 0) :

                  Constructor for cocycles to mappingCocone.

                  Instances For
                    @[simp]
                    theorem CochainComplex.mappingCocone.liftCocycle_coe {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } {n m : } (α : HomComplex.Cocycle M K n) (β : HomComplex.Cochain M L m) (h : m + 1 = n) (hαβ : HomComplex.δ m n β + (↑α).comp (HomComplex.Cochain.ofHom φ) = 0) :
                    (liftCocycle φ α β h hαβ) = liftCochain φ (↑α) β h

                    Constructor for morphisms to mappingCocone.

                    Instances For
                      @[simp]
                      theorem CochainComplex.mappingCocone.lift_f_snd_v {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {K L : CochainComplex C } (φ : K L) [HomologicalComplex.HasHomotopyCofiber φ] {M : CochainComplex C } (α : M K) (β : HomComplex.Cochain M L (-1)) (hαβ : HomComplex.δ (-1) 0 β + HomComplex.Cochain.ofHom (CategoryTheory.CategoryStruct.comp α φ) = 0) (p q : ) (hpq : p + -1 = q) :
                      CategoryTheory.CategoryStruct.comp ((lift φ α β hαβ).f p) ((snd φ).v p q hpq) = β.v p q hpq

                      Given a morphism φ : K ⟶ L of cochain complexes, this is the triangle mappingCocone φ ⟶ K ⟶ L ⟶ ....

                      Instances For

                        Rotating the triangle mappingCocone.triangle φ gives a triangle that is isomorphic to mappingCone.triangle φ.

                        Instances For