Documentation

TauCeti.AlgebraicTopology.Singular.Kunneth.Basic

The Künneth theorem for singular homology over a field and with projective homology #

For topological spaces X and Y and coefficient objects R and S, the homology cross products Hₚ(X; R) ⊗ H_q(Y; S) ⟶ Hₙ(X × Y; R ⊗ S) with p + q = n (TopCat.singularHomologyCross) assemble into the Künneth map

⨁_{p + q = n} Hₚ(X; R) ⊗ H_q(Y; S) ⟶ Hₙ(X × Y; R ⊗ S),

whose source is the degree n part of the tensor product of the graded objects H(X; R) and H(Y; S). It is the algebraic Künneth map HomologicalComplex.homologyKunneth of the singular chain complexes followed by the map induced by the shuffle map, and it is natural in both spaces and in both coefficient objects. Since the shuffle map is a chain homotopy equivalence (Eilenberg–Zilber), the Künneth map is an isomorphism exactly when the algebraic Künneth map of the singular chain complexes is.

For modules M and N over a commutative ring k, the algebraic Künneth map is an isomorphism when the cycles of the singular chain complexes C(X; M) and C(Y; N) split off their terms and their homology splits off their cycles (HomologicalComplex.isIso_homologyKunneth_of_isSplitMono_of_isSplitEpi). This gives the Künneth theorem: the cross product induces an isomorphism

⨁_{p + q = n} Hₚ(X; M) ⊗ H_q(Y; N) ≅ Hₙ(X × Y; M ⊗ N).

The splitting hypotheses hold in two standard situations.

Over any commutative ring, with projective coefficients, it follows that Hₙ(X × Y; M ⊗ N) is free whenever the homology modules of X and Y are, of finite rank ∑_{p + q = n} rank Hₚ(X; M) · rank H_q(Y; N) when the factors have finite rank.

Main definitions and results #

References #

noncomputable def TopCat.singularHomologyKunneth {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] :

The Künneth map ⨁_{p + q = n} Hₚ(X; R) ⊗ H_q(Y; S) ⟶ Hₙ(X × Y; R ⊗ S), whose restriction to the summand Hₚ(X; R) ⊗ H_q(Y; S) is the homology cross product TopCat.singularHomologyCross.

Instances For

    The Künneth map is the algebraic Künneth map of the singular chain complexes followed by the map induced by the shuffle map.

    @[simp]
    theorem TopCat.ι_singularHomologyKunneth {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] (p q : ℕ) (h : p + q = n) :

    The Künneth map restricts to the homology cross product on each summand.

    @[simp]
    theorem TopCat.ι_singularHomologyKunneth_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] (p q : ℕ) (h : p + q = n) {Z : C} (h✝ : ((AlgebraicTopology.singularHomologyFunctor C n).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj R S)).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y) ⟶ Z) :

    The Künneth map restricts to the homology cross product on each summand.

    @[simp]
    theorem TopCat.singularHomologyKunneth_comp_homologyMap_alexanderWhitney {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] :

    The Künneth map under Eilenberg–Zilber: following the Künneth map by the map induced by the Alexander–Whitney map gives the algebraic Künneth map of the singular chain complexes.

    theorem TopCat.singularHomologyKunneth_comp_homologyMap_alexanderWhitney_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] {Z : C} (h : HomologicalComplex.homology (CategoryTheory.MonoidalCategoryStruct.tensorObj ((toSSet.obj X).chainComplex R) ((toSSet.obj Y).chainComplex S)) n ⟶ Z) :

    The Künneth map under Eilenberg–Zilber: following the Künneth map by the map induced by the Alexander–Whitney map gives the algebraic Künneth map of the singular chain complexes.

    The Künneth map is an isomorphism exactly when the algebraic Künneth map of the singular chain complexes is, since the shuffle map is a chain homotopy equivalence.

    theorem TopCat.singularHomologyKunneth_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] {X Y X' Y' : TopCat} (f : X ⟶ X') (g : Y ⟶ Y') (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X').chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y').chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y').chainComplex S).X ((ComplexShape.down ℕ).prev q)))] :

    Naturality of the Künneth map in both spaces.

    theorem TopCat.singularHomologyKunneth_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] {X Y X' Y' : TopCat} (f : X ⟶ X') (g : Y ⟶ Y') (R S : C) (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X').chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y').chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y').chainComplex S).X ((ComplexShape.down ℕ).prev q)))] {Z : C} (h : ((AlgebraicTopology.singularHomologyFunctor C n).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj R S)).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X' Y') ⟶ Z) :

    Naturality of the Künneth map in both spaces.

    theorem TopCat.singularHomologyKunneth_coefficient_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) {R S R' S' : C} (φ : R ⟶ R') (ψ : S ⟶ S') (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R') p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S') q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S').X ((ComplexShape.down ℕ).prev q)))] :

    Naturality of the Künneth map in both coefficient objects.

    theorem TopCat.singularHomologyKunneth_coefficient_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.MonoidalPreadditive C] [CategoryTheory.Limits.HasCoproducts C] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorLeft T)] [∀ (T : C) (J : Type w), CategoryTheory.Limits.PreservesColimitsOfShape (CategoryTheory.Discrete J) (CategoryTheory.MonoidalCategory.tensorRight T)] (X Y : TopCat) {R S R' S' : C} (φ : R ⟶ R') (ψ : S ⟶ S') (n : ℕ) [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R) p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S) q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S).X ((ComplexShape.down ℕ).prev q)))] [∀ (p : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorLeft (HomologicalComplex.homology ((toSSet.obj X).chainComplex R') p))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (HomologicalComplex.cycles ((toSSet.obj Y).chainComplex S') q))] [∀ (q : ℕ), CategoryTheory.Limits.PreservesColimitsOfShape CategoryTheory.Limits.WalkingParallelPair (CategoryTheory.MonoidalCategory.tensorRight (((toSSet.obj Y).chainComplex S').X ((ComplexShape.down ℕ).prev q)))] {Z : C} (h : ((AlgebraicTopology.singularHomologyFunctor C n).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj R' S')).obj (CategoryTheory.MonoidalCategoryStruct.tensorObj X Y) ⟶ Z) :

    Naturality of the Künneth map in both coefficient objects.

    The Künneth theorem for split singular chains: if the cycles of the singular chain complexes C(X; M) and C(Y; N) split off their terms and their homology splits off their cycles, the Künneth map ⨁_{p + q = n} Hₚ(X; M) ⊗ H_q(Y; N) ⟶ Hₙ(X × Y; M ⊗ N) is an isomorphism. This holds for semisimple modules M and N over a commutative ring k, for instance any modules over a field, since the singular chain modules are then semisimple.

    The Künneth isomorphism ⨁_{p + q = n} Hₚ(X; M) ⊗ H_q(Y; N) ≅ Hₙ(X × Y; M ⊗ N), induced by the homology cross product, when the cycles of the singular chain complexes split off their terms and their homology splits off their cycles; for instance for semisimple modules M and N over a commutative ring, such as any modules over a field.

    Instances For

      The Künneth map is a split monomorphism when the cycles of the singular chain complexes C(X; M) and C(Y; N) split off their terms; for instance for projective modules M and N over a principal ideal domain, where these hypotheses are found by instance search (HomologicalComplex.isSplitMono_iCycles_of_isPrincipalIdealRing). The retraction depends on chosen splittings of the cycles and need not be natural in X and Y.

      The Künneth theorem with projective homology: if the cycles of the singular chain complexes C(X; M) and C(Y; N) split off their terms and the singular homology modules Hₚ(X; M) and H_q(Y; N) are all projective, the Künneth map ⨁_{p + q = n} Hₚ(X; M) ⊗ H_q(Y; N) ⟶ Hₙ(X × Y; M ⊗ N) is an isomorphism. Over a principal ideal domain, with projective M and N, the IsSplitMono hypotheses on the cycles are found by instance search (HomologicalComplex.isSplitMono_iCycles_of_isPrincipalIdealRing).

      The Künneth theorem with projective homology over any commutative ring: for projective coefficient modules M and N, if the singular homology modules Hₚ(X; M) and H_q(Y; N) are all projective, the Künneth map ⨁_{p + q = n} Hₚ(X; M) ⊗ H_q(Y; N) ⟶ Hₙ(X × Y; M ⊗ N) is an isomorphism. The singular chain modules are then projective, and so are their cycles, which split off (ChainComplex.isSplitMono_iCycles_of_projective_homology).

      The Künneth isomorphism with coefficients in the ring: ⨁_{p + q = n} Hₚ(X; k) ⊗ H_q(Y; k) ≅ Hₙ(X × Y; k) over a commutative semisimple ring k, for instance a field. It is the Künneth isomorphism for M = N = k followed by the map induced by the unitor k ⊗ k ≅ k.

      Instances For
        @[simp]

        On the summand Hₚ(X; k) ⊗ H_q(Y; k), the Künneth isomorphism with coefficients in the ring is the homology cross product followed by the map induced by the unitor k ⊗ k ≅ k.

        A product of acyclic spaces is acyclic. Over a commutative semisimple ring k, for instance a field, if X and Y have vanishing singular homology with coefficients in k in every positive degree, then so does X × Y: in positive total degree, every summand Hₚ(X; k) ⊗ H_q(Y; k) of the Künneth isomorphism has a factor of positive degree.

        With projective coefficients, the singular homology of a product of spaces with free homology is free.

        With projective coefficients, the singular homology of a product of spaces with free homology of finite rank has finite rank.

        The ranks of the homology of a product. Over a nontrivial commutative ring, with projective coefficients, if X and Y have free homology of finite rank, then rank Hₙ(X × Y; M ⊗ N) = ∑_{p + q = n} rank Hₚ(X; M) · rank H_q(Y; N), by the Künneth theorem.