Documentation

TauCeti.AlgebraicTopology.Cohomology.MayerVietoris.Basic

The Mayer–Vietoris sequence in singular cohomology #

Let U and V be open subsets of a topological space X with U ∪ V = X, let R and M be objects of a k-linear abelian category with coproducts, and write Hⁿ(-) for singular cohomology Hⁿ(-; R, M), the cohomology of Hom(C(-; R), M). This file constructs the Mayer–Vietoris long exact sequence ⋯ ⟶ Hⁿ(X) ⟶ Hⁿ(U) ⊞ Hⁿ(V) ⟶ Hⁿ(U ∩ V) ⟶ Hⁿ⁺¹(X) ⟶ ⋯, whose first map is (j_U^*, j_V^*) and whose second map is i_U^* - i_V^*, the i and j being the inclusions. These are the maps dual to the maps j_U + j_V and (i_U, -i_V) of the Mayer–Vietoris sequence in singular homology. The connecting morphism is natural in maps of covered spaces.

The construction dualizes the one in homology. For a pushout square of simplicial sets

     t
 X₁  ⟶  X₂
l|       |r
 v       v
 X₃  ⟶  X₄
     b

whose top map is a monomorphism, the Mayer–Vietoris short exact sequence of chain complexes is split in each degree, so applying Hom(-, M) keeps it short exact (SSet.shortExact_mayerVietorisCochainShortComplex). Its cohomology sequence is a long exact sequence ⋯ ⟶ Hⁿ(X₄) ⟶ Hⁿ(X₂) ⊞ Hⁿ(X₃) ⟶ Hⁿ(X₁) ⟶ Hⁿ⁺¹(X₄) ⟶ ⋯, natural in maps of pushout squares. For the singular simplicial sets of U ∩ V, U, V and the subcomplex of singular simplices of X lying in U or in V, the small-chain theorem identifies the cohomology of that subcomplex with the singular cohomology of X (TauCeti.smallSingularCohomologyIso).

Main definitions and results #

References #

@[reducible, inline]
noncomputable abbrev SSet.mayerVietorisCochainShortComplex {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq t l r b) :

The cochain Mayer–Vietoris sequence Hom(C(X₄), M) ⟶ Hom(C(X₂), M) ⊞ Hom(C(X₃), M) ⟶ Hom(C(X₁), M) of a commutative square of simplicial sets, with first map (r^*, b^*) and second map t^* - l^*. It is the image under Hom(-, M) of the chain Mayer–Vietoris sequence, once Hom(C(X₂) ⊞ C(X₃), M) is identified with Hom(C(X₂), M) ⊞ Hom(C(X₃), M).

Instances For
    theorem SSet.shortExact_mayerVietorisCochainShortComplex {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] :

    The cochain Mayer–Vietoris short exact sequence. For a pushout square of simplicial sets whose top map is a monomorphism, the cochain Mayer–Vietoris sequence is short exact.

    The long exact sequence of a pushout square #

    The first map Hⁿ(X₄) ⟶ Hⁿ(X₂) ⊞ Hⁿ(X₃) of the cochain Mayer–Vietoris sequence, with components r^* and b^*.

    Instances For

      The second map Hⁿ(X₂) ⊞ Hⁿ(X₃) ⟶ Hⁿ(X₁) of the cochain Mayer–Vietoris sequence, the difference t^* - l^*.

      Instances For
        @[simp]
        theorem SSet.mayerVietorisCochainToBiprod_fromBiprod {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.CommSq t l r b) (n : ℕ) :

        The first map of the cochain Mayer–Vietoris sequence is natural in maps of squares.

        The second map of the cochain Mayer–Vietoris sequence is natural in maps of squares.

        noncomputable def SSet.mayerVietorisCochainδ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :

        The cochain Mayer–Vietoris connecting morphism Hⁿ(X₁) ⟶ Hᵐ(X₄), where n + 1 = m: the connecting morphism of the cochain Mayer–Vietoris short exact sequence.

        Instances For
          theorem SSet.mayerVietorisCochainδ_def {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :
          mayerVietorisCochainδ R k M sq n m h = ⋯.δ n m ⋯

          The cochain Mayer–Vietoris connecting morphism is the connecting morphism of the cochain Mayer–Vietoris short exact sequence.

          @[simp]
          theorem SSet.mayerVietorisCochainδ_toBiprod {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :
          @[simp]
          @[simp]
          theorem SSet.mayerVietorisCochainFromBiprod_δ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :
          @[simp]
          theorem SSet.mayerVietorisCochainFromBiprod_δ_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) {Z : ModuleCat k} (h✝ : HomologicalComplex.homology ((X₄.chainComplex R).linearYonedaObj k M) m ⟶ Z) :
          theorem SSet.mayerVietorisCochain_exact₁ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :

          Exactness of the cochain Mayer–Vietoris sequence at Hᵐ(X₄).

          theorem SSet.mayerVietorisCochain_exact₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n : ℕ) :

          Exactness of the cochain Mayer–Vietoris sequence at Hⁿ(X₂) ⊞ Hⁿ(X₃).

          theorem SSet.mayerVietorisCochain_exact₃ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (n m : ℕ) (h : n + 1 = m := by lia) :

          Exactness of the cochain Mayer–Vietoris sequence at Hⁿ(X₁).

          theorem SSet.mono_mayerVietorisCochainToBiprod_zero {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] :

          The map H⁰(X₄) ⟶ H⁰(X₂) ⊞ H⁰(X₃) at the start of the cochain Mayer–Vietoris sequence is a monomorphism.

          theorem SSet.mayerVietorisCochainδ_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} {Y₁ Y₂ Y₃ Y₄ : SSet} {t' : Y₁ ⟶ Y₂} {l' : Y₁ ⟶ Y₃} {r' : Y₂ ⟶ Y₄} {b' : Y₃ ⟶ Y₄} (φ₁ : X₁ ⟶ Y₁) (φ₂ : X₂ ⟶ Y₂) (φ₃ : X₃ ⟶ Y₃) (φ₄ : X₄ ⟶ Y₄) (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (sq' : CategoryTheory.IsPushout t' l' r' b') [CategoryTheory.Mono t'] (ht : CategoryTheory.CategoryStruct.comp t φ₂ = CategoryTheory.CategoryStruct.comp φ₁ t') (hl : CategoryTheory.CategoryStruct.comp l φ₃ = CategoryTheory.CategoryStruct.comp φ₁ l') (hr : CategoryTheory.CategoryStruct.comp r φ₄ = CategoryTheory.CategoryStruct.comp φ₂ r') (hb : CategoryTheory.CategoryStruct.comp b φ₄ = CategoryTheory.CategoryStruct.comp φ₃ b') (n m : ℕ) (h : n + 1 = m := by lia) :

          Naturality of the cochain Mayer–Vietoris connecting morphism in maps of pushout squares.

          theorem SSet.mayerVietorisCochainδ_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X₁ X₂ X₃ X₄ : SSet} {t : X₁ ⟶ X₂} {l : X₁ ⟶ X₃} {r : X₂ ⟶ X₄} {b : X₃ ⟶ X₄} {Y₁ Y₂ Y₃ Y₄ : SSet} {t' : Y₁ ⟶ Y₂} {l' : Y₁ ⟶ Y₃} {r' : Y₂ ⟶ Y₄} {b' : Y₃ ⟶ Y₄} (φ₁ : X₁ ⟶ Y₁) (φ₂ : X₂ ⟶ Y₂) (φ₃ : X₃ ⟶ Y₃) (φ₄ : X₄ ⟶ Y₄) (sq : CategoryTheory.IsPushout t l r b) [CategoryTheory.Mono t] (sq' : CategoryTheory.IsPushout t' l' r' b') [CategoryTheory.Mono t'] (ht : CategoryTheory.CategoryStruct.comp t φ₂ = CategoryTheory.CategoryStruct.comp φ₁ t') (hl : CategoryTheory.CategoryStruct.comp l φ₃ = CategoryTheory.CategoryStruct.comp φ₁ l') (hr : CategoryTheory.CategoryStruct.comp r φ₄ = CategoryTheory.CategoryStruct.comp φ₂ r') (hb : CategoryTheory.CategoryStruct.comp b φ₄ = CategoryTheory.CategoryStruct.comp φ₃ b') (n m : ℕ) (h : n + 1 = m := by lia) {Z : ModuleCat k} (h✝ : HomologicalComplex.homology ((X₄.chainComplex R).linearYonedaObj k M) m ⟶ Z) :

          Naturality of the cochain Mayer–Vietoris connecting morphism in maps of pushout squares.

          noncomputable def TauCeti.smallSingularCohomologyIso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {ι : Type u_2} (U : ι → Set ↑X) (hU : ∀ (i : ι), IsOpen (U i)) (hcov : ⋃ (i : ι), U i = Set.univ) (n : ℕ) :

          The isomorphism on singular cohomology induced by restricting cochains to the chains subordinate to an open cover. It is dual to TauCeti.smallSingularHomologyIso.

          Instances For
            @[simp]
            theorem TauCeti.smallSingularCohomologyIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {ι : Type u_2} (U : ι → Set ↑X) (hU : ∀ (i : ι), IsOpen (U i)) (hcov : ⋃ (i : ι), U i = Set.univ) (n : ℕ) :

            The small-chain cohomology isomorphism is the map induced by the inclusion of the singular simplices subordinate to the cover.

            theorem TauCeti.quasiIso_cochainComplexMap_smallSingularSubcomplex_ι {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {ι : Type u_2} (U : ι → Set ↑X) (hU : ∀ (i : ι), IsOpen (U i)) (hcov : ⋃ (i : ι), U i = Set.univ) :

            Restricting singular cochains to the chains subordinate to an open cover is a quasi-isomorphism, since the inclusion of those chains is a chain homotopy equivalence.

            theorem TauCeti.smallSingularCohomologyIso_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {ι : Type u_2} (U : ι → Set ↑X) (hU : ∀ (i : ι), IsOpen (U i)) (hcov : ⋃ (i : ι), U i = Set.univ) {κ : Type u_3} {Y : TopCat} (V : κ → Set ↑Y) (f : X ⟶ Y) (r : ι → κ) (hf : ∀ (i : ι), Set.MapsTo (⇑(CategoryTheory.ConcreteCategory.hom f)) (U i) (V (r i))) (hV : ∀ (j : κ), IsOpen (V j)) (hcovV : ⋃ (j : κ), V j = Set.univ) (n : ℕ) :

            The small-chain cohomology isomorphism is natural under maps carrying members of one cover into members of another.

            The first map Hⁿ(X) ⟶ Hⁿ(U) ⊞ Hⁿ(V) of the Mayer–Vietoris sequence in singular cohomology, with components the restrictions j_U^* and j_V^* along the inclusions.

            Instances For
              noncomputable def TopCat.singularCohomologyMayerVietorisFromBiprod {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} (U V : Set ↑X) (n : ℕ) :
              TopCat.singularCohomology R k M (↧↑U) n ⊞ TopCat.singularCohomology R k M (↧↑V) n ⟶ TopCat.singularCohomology R k M (↧↑(U ∩ V)) n

              The second map Hⁿ(U) ⊞ Hⁿ(V) ⟶ Hⁿ(U ∩ V) of the Mayer–Vietoris sequence in singular cohomology, the difference i_U^* - i_V^* of the restrictions along the inclusions of U ∩ V. It is dual to the map (i_U, -i_V) of the homology sequence.

              Instances For

                The long exact sequence of an open cover by two sets #

                noncomputable def TopCat.singularCohomologyMayerVietorisδ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) (n m : ℕ) (h : n + 1 = m := by lia) :
                TopCat.singularCohomology R k M (↧↑(U ∩ V)) n ⟶ TopCat.singularCohomology R k M X m

                The Mayer–Vietoris connecting morphism Hⁿ(U ∩ V) ⟶ Hᵐ(X) in singular cohomology, where n + 1 = m, for an open cover of X by U and V. It is the connecting morphism of the cochain Mayer–Vietoris sequence of the singular simplices lying in U, in V and in U or V, followed by the inverse of the restriction isomorphism from the cohomology of X.

                Instances For
                  @[simp]

                  Followed by restriction to the singular simplices lying in U or in V, the Mayer–Vietoris connecting morphism is the connecting morphism of the cochain Mayer–Vietoris sequence of those simplices. Since that restriction is an isomorphism on cohomology, this characterizes it.

                  @[simp]

                  Followed by restriction to the singular simplices lying in U or in V, the Mayer–Vietoris connecting morphism is the connecting morphism of the cochain Mayer–Vietoris sequence of those simplices. Since that restriction is an isomorphism on cohomology, this characterizes it.

                  @[simp]
                  theorem TopCat.singularCohomologyMayerVietorisδ_toBiprod {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) (n m : ℕ) (h : n + 1 = m := by lia) :
                  @[simp]
                  theorem TopCat.singularCohomologyMayerVietoris_exact₁ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) (n m : ℕ) (h : n + 1 = m := by lia) :
                  { X₁ := TopCat.singularCohomology R k M (↧↑(U ∩ V)) n, X₂ := TopCat.singularCohomology R k M X m, X₃ := TopCat.singularCohomology R k M (↧↑U) m ⊞ TopCat.singularCohomology R k M (↧↑V) m, f := singularCohomologyMayerVietorisδ R k M hU hV hUV n m h, g := singularCohomologyMayerVietorisToBiprod R k M U V m, zero := ⋯ }.Exact

                  Exactness of the Mayer–Vietoris sequence at Hᵐ(X).

                  theorem TopCat.singularCohomologyMayerVietoris_exact₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) (n : ℕ) :
                  { X₁ := TopCat.singularCohomology R k M X n, X₂ := TopCat.singularCohomology R k M (↧↑U) n ⊞ TopCat.singularCohomology R k M (↧↑V) n, X₃ := TopCat.singularCohomology R k M (↧↑(U ∩ V)) n, f := singularCohomologyMayerVietorisToBiprod R k M U V n, g := singularCohomologyMayerVietorisFromBiprod R k M U V n, zero := ⋯ }.Exact

                  Exactness of the Mayer–Vietoris sequence at Hⁿ(U) ⊞ Hⁿ(V).

                  theorem TopCat.singularCohomologyMayerVietoris_exact₃ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) (n m : ℕ) (h : n + 1 = m := by lia) :
                  { X₁ := TopCat.singularCohomology R k M (↧↑U) n ⊞ TopCat.singularCohomology R k M (↧↑V) n, X₂ := TopCat.singularCohomology R k M (↧↑(U ∩ V)) n, X₃ := TopCat.singularCohomology R k M X m, f := singularCohomologyMayerVietorisFromBiprod R k M U V n, g := singularCohomologyMayerVietorisδ R k M hU hV hUV n m h, zero := ⋯ }.Exact

                  Exactness of the Mayer–Vietoris sequence at Hⁿ(U ∩ V).

                  The map H⁰(X) ⟶ H⁰(U) ⊞ H⁰(V) at the start of the Mayer–Vietoris sequence is a monomorphism.

                  theorem TopCat.singularCohomologyMayerVietorisδ_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) {Y : TopCat} {U' V' : Set ↑Y} (hU' : IsOpen U') (hV' : IsOpen V') (hUV' : U' ∪ V' = Set.univ) (f : X ⟶ Y) (hfU : Set.MapsTo (⇑(CategoryTheory.ConcreteCategory.hom f)) U U') (hfV : Set.MapsTo (⇑(CategoryTheory.ConcreteCategory.hom f)) V V') (n m : ℕ) (h : n + 1 = m := by lia) :

                  Naturality of the Mayer–Vietoris connecting morphism. A map f : X ⟶ Y carrying U into U' and V into V' commutes with the connecting morphisms, where U ∩ V ⟶ U' ∩ V' is the restriction of f.

                  theorem TopCat.singularCohomologyMayerVietorisδ_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasCoproducts C] [CategoryTheory.Abelian C] (R : C) (k : Type u_1) [Ring k] [CategoryTheory.Linear k C] (M : C) {X : TopCat} {U V : Set ↑X} (hU : IsOpen U) (hV : IsOpen V) (hUV : U ∪ V = Set.univ) {Y : TopCat} {U' V' : Set ↑Y} (hU' : IsOpen U') (hV' : IsOpen V') (hUV' : U' ∪ V' = Set.univ) (f : X ⟶ Y) (hfU : Set.MapsTo (⇑(CategoryTheory.ConcreteCategory.hom f)) U U') (hfV : Set.MapsTo (⇑(CategoryTheory.ConcreteCategory.hom f)) V V') (n m : ℕ) (h : n + 1 = m := by lia) {Z : ModuleCat k} (h✝ : TopCat.singularCohomology R k M X m ⟶ Z) :

                  Naturality of the Mayer–Vietoris connecting morphism. A map f : X ⟶ Y carrying U into U' and V into V' commutes with the connecting morphisms, where U ∩ V ⟶ U' ∩ V' is the restriction of f.