Documentation

TauCeti.AlgebraicTopology.Cohomology.Slant

The slant product in singular cohomology #

For spaces X and Y, modules R, S, T and M over a commutative ring k and a coefficient map u : R ⊗ S ⟶ T, the slant product

Hₚ(X; R) × Hⁿ(X × Y; T, M) ⟶ H^q(Y; S, M), p + q = n,

sends a homology class x of X and a cohomology class φ of the product to the class φ / x on Y represented by the cochain σ ↦ φ (u_*(z × σ)), where z is a cycle representing x and z × σ is the shuffle product of singular chains. It is the slant product of chains and cochains TauCeti.ChainComplex.slant along the shuffle map followed by u, with X as the first factor.

The slant product satisfies the evaluation law ⟨φ / x, y⟩ = ⟨φ, u_*(x × y)⟩ (TopCat.singularKronecker_singularSlant), where x × y is the homology cross product TopCat.singularHomologyCross; on the classes of a cycle and a cocycle it is the class of the slant product of representatives (TopCat.singularSlant_homologyπ), and it is natural, (f × g)^* φ / x = g^* (φ / f_* x) (TopCat.singularSlant_naturality).

Slant products by homology classes turn a cohomology class on a product into classes on the second factor. For a line bundle U on X × Y with first Chern class c₁(U) ∈ H²(X × Y; ℤ), the slant by the class of a point of X is a class of degree two on Y, and the slant by a loop in X is a class of degree one on Y; these are the point and loop classes of universal line bundles over moduli spaces.

On classes pulled back from one factor the slant product is computed by the cohomology of a point:

So if a class on X × Y is pr₁^* e + φ, for instance the first Chern class c₁(pr₁^* E ⊗ U) = pr₁^* c₁(E) + c₁(U) of a line bundle twisted by a line bundle E on X, then its slant products by the point class (p = 0, q = 2) and by loops (p = 1, q = 1) are those of φ: the class pr₁^* e contributes to neither. Classes pulled back from Y survive the slant by a point and are killed by the slant by a loop.

Slant products of cohomology cross products are computed by the Kronecker pairing: for a ∈ Hᵖ(X; R, M), b ∈ H^q(Y; S, N) and a pairing μ : M ⊗ N ⟶ P, the slant of a × b by x ∈ Hₚ(X; R) is b with its coefficients changed along n ↦ μ (⟨a, x⟩ ⊗ n) (TopCat.singularSlant_singularCross; for a with coefficients in k and the scalar multiplication k ⊗ N ⟶ N as pairing, (a × b) / x = ⟨a, x⟩ • b, TopCat.singularSlant_singularCross_leftUnitor), and the slant by a class of another degree vanishes (TopCat.singularSlant_singularCross_of_ne). Conversely, when R and the homology modules Hₚ(X; R) are projective, a class of Hⁿ(X × Y; R ⊗ S, M) is determined by its slant products by the homology classes of X (TopCat.eq_zero_of_forall_singularSlant_eq_zero), whatever the space Y. Through Eilenberg–Zilber both statements are those of the tensor product of singular chain complexes, TauCeti.ChainComplex.slant_cup and TauCeti.ChainComplex.eq_zero_of_forall_slant_eq_zero. Together they give the Künneth theorem for the cohomology of a product one of whose factors has finitely generated projective homology, TopCat.singularCohomologyKunnethIso.

Along the multiplication k ⊗ k ≅ k these results characterize the classes of Hⁿ(X × Y; M) pulled back from Y, for X path-connected with projective homology and x₀ ∈ X: slanting by the class [x₀] of the point returns a pulled-back class, pr₂^* b / [x₀] = b (TopCat.singularSlant_singularHomology₀Section_singularCohomologyMap_snd), and a class φ whose slant products by all classes of positive degree vanish is pr₂^* (φ / [x₀]) (TopCat.singularCohomologyMap_snd_singularSlant_of_forall_ne_zero). The slant products of a cup product pr₁^* a ⌣ pr₂^* c are those of the cross product a × c (TopCat.singularSlant_singularCup_singularCohomologyMap_fst_snd).

Main definitions and results #

References #

The slant product Hₚ(X; R) × Hⁿ(X × Y; T, M) ⟶ H^q(Y; S, M) for p + q = n, along the coefficient map u : R ⊗ S ⟶ T: the slant product of chains and cochains along the shuffle map C(X; R) ⊗ C(Y; S) ⟶ C(X × Y; R ⊗ S) followed by the map induced by u.

Instances For

    The slant product of singular cohomology is the slant product of chains and cochains along the shuffle map followed by the coefficient map.

    The evaluation law of the slant product, ⟨φ / x, y⟩ = ⟨φ, u_*(x × y)⟩: the Kronecker pairing of the slant product φ / x ∈ H^q(Y; S, M) with a class y ∈ H_q(Y; S) is the Kronecker pairing of φ with the image under u of the homology cross product x × y ∈ Hₙ(X × Y; R ⊗ S).

    Naturality of the slant product in both spaces: for continuous maps f : X ⟶ X' and g : Y ⟶ Y', (f × g)^* φ / x = g^* (φ / f_* x).

    Naturality of the slant product in the coefficients: for coefficient maps u : R ⊗ S ⟶ T and f : T ⟶ T', slanting along u the class f^* φ, whose cochains are those of φ precomposed with the chain map induced by f, is slanting φ along u ≫ f.

    Naturality of the slant product in the coefficients: for a map of coefficient modules g : M ⟶ M', g_* φ / x = g_* (φ / x).

    @[simp]

    A class pulled back from the first factor has no slant products in positive codegree: for a ∈ Hⁿ(X; T, M) and x ∈ Hₚ(X; R) with p + q = n and q ≠ 0, pr₁^* a / x = 0. In particular pr₁^* a contributes nothing to the slant products by the class of a point (p = 0) or by a loop (p = 1) of a class of degree two.

    @[simp]

    A class pulled back from the second factor has no slant products by classes of positive degree: for b ∈ Hⁿ(Y; T, M) and x ∈ Hₚ(X; R) with p + q = n and p ≠ 0, pr₂^* b / x = 0. In particular pr₂^* b has no slant products by loops.

    The slant product of a class pulled back from the second factor by the class of a point: let z be the singular 0-cycle of X given by a singular vertex x with coefficient r ∈ R, and let c : S ⟶ T be the coefficient map s ↦ u (r ⊗ s). Then for b ∈ H^q(Y; T, M), pr₂^* b / [z] = c^* b ∈ H^q(Y; S, M), the class b with its coefficients changed along c.

    Slanting a class pulled back from the second factor by a point returns the class: for the singular 0-cycle z of X given by a singular vertex with coefficient r, and a coefficient map u : R ⊗ S ⟶ S with u (r ⊗ s) = s, such as the unit 1 of a ring R = S = k and the multiplication k ⊗ k ⟶ k, pr₂^* b / [z] = b for every b ∈ H^q(Y; S, M).

    Slanting a class pulled back from the second factor by the class of a point returns the class: pr₂^* b / [x₀] = b for the class [x₀] ∈ H₀(X; R) of a point x₀ with coefficient r (TauCeti.singularHomology₀Section), along a coefficient map u : R ⊗ S ⟶ S with u (r ⊗ s) = s.

    The slant product through Eilenberg–Zilber: slanting a class φ of X × Y by x is slanting its image shuffle^* φ in the cohomology of Hom(C(X; R) ⊗ C(Y; S), M) by x along the identity.

    The slant product of a cross product: for a ∈ Hᵖ(X; R, M), b ∈ H^q(Y; S, N), a pairing μ : M ⊗ N ⟶ P and x ∈ Hₚ(X; R), the slant (a × b) / x is b with its coefficients changed along n ↦ μ (⟨a, x⟩ ⊗ n). For coefficients in k and μ the multiplication, (a × b) / x is ⟨a, x⟩ • b.

    @[simp]
    theorem TopCat.singularSlant_singularCross_of_ne {k : Type w} [CommRing k] {R S : ModuleCat k} (X Y : TopCat) {M N : ModuleCat k} (P : ModuleCat k) (μ : CategoryTheory.MonoidalCategoryStruct.tensorObj M N ⟶ P) {p q p' q' n : ℕ} (h : p + q = n) (h' : p' + q' = n) (hp : p' ≠ p) (x : ↑(((AlgebraicTopology.singularHomologyFunctor (ModuleCat k) p').obj R).obj X)) (a : ↑(TopCat.singularCohomology R k M X p)) (b : ↑(TopCat.singularCohomology S k N Y q)) :

    The slant product of a cross product of classes of degrees p and q by a homology class of degree p' ≠ p vanishes.

    Slant products detect the cohomology of a product: if the coefficient module R and the homology modules Hₚ(X; R) are projective, a class φ ∈ Hⁿ(X × Y; R ⊗ S, M) whose slant products φ / x ∈ H^q(Y; S, M) by all classes x ∈ Hₚ(X; R), p + q = n, vanish is zero. There is no hypothesis on Y.

    Slant products along an isomorphism detect the cohomology of a product: if R and the homology modules Hₚ(X; R) are projective and u : R ⊗ S ⟶ T is an isomorphism, a class φ ∈ Hⁿ(X × Y; T, M) whose slant products along u by all classes of Hₚ(X; R) vanish is zero. For R = S = T = k and u the multiplication k ⊗ k ≅ k, this applies to the cohomology of X × Y with coefficients in M, computed from the singular chains with coefficients in k.

    A class with no slant products in positive degree is pulled back: let X be path-connected with projective homology and x₀ ∈ X. If φ ∈ Hⁿ(X × Y; M) has φ / x = 0 for every class x ∈ Hₚ(X; k) with p ≠ 0, then φ = pr₂^* (φ / [x₀]).

    Classes pulled back from the second factor: for X path-connected with projective homology, a class φ ∈ Hⁿ(X × Y; M) is pulled back from Y if and only if its slant products by all classes of Hₚ(X; k) with p ≠ 0 vanish.

    theorem TopCat.singularSlant_singularCup_singularCohomologyMap_fst_snd {k : Type w} [CommRing k] (M : ModuleCat k) (X Y : TopCat) {p q n : ℕ} (h : p + q = n) (a : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) X p)) (b : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k M Y q)) {p' q' : ℕ} (h' : p' + q' = n) (x : ↑(((AlgebraicTopology.singularHomologyFunctor (ModuleCat k) p').obj (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k))).obj X)) :

    The slant product of a cup product of pulled-back classes: for a ∈ Hᵖ(X; k) and b ∈ H^q(Y; M), the slant product of pr₁^* a ⌣ pr₂^* b ∈ Hⁿ(X × Y; M) along k ⊗ k ≅ k is the slant product of the cross product a × b, which TopCat.singularSlant_singularCross_leftUnitor and TopCat.singularSlant_singularCross_of_ne compute.

    theorem TopCat.singularSlant_singularHomology₀Section_singularCohomologyMap_snd_add_singularCup {k : Type w} [CommRing k] (M : ModuleCat k) (X Y : TopCat) (x : ↑X) {p q n : ℕ} (h : p + q = n) (hp : p ≠ 0) (a : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) X p)) (b : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k M Y n)) (c : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k M Y q)) :

    Slanting pr₂^* b + pr₁^* a ⌣ pr₂^* c by a point: for a ∈ Hᵖ(X; k) with p ≠ 0, the slant product of pr₂^* b + pr₁^* a ⌣ pr₂^* c ∈ Hⁿ(X × Y; M) by the class [x] ∈ H₀(X; k) of a point is b.

    theorem TopCat.singularSlant_singularCohomologyMap_snd_add_singularCup {k : Type w} [CommRing k] (M : ModuleCat k) (X Y : TopCat) {p q n : ℕ} (h : p + q = n) (hp : p ≠ 0) (x : ↑(((AlgebraicTopology.singularHomologyFunctor (ModuleCat k) p).obj (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k))).obj X)) (a : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) X p)) (b : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k M Y n)) (c : ↑(TopCat.singularCohomology (CategoryTheory.MonoidalCategoryStruct.tensorUnit (ModuleCat k)) k M Y q)) :

    Slanting pr₂^* b + pr₁^* a ⌣ pr₂^* c in the degree of a: for a ∈ Hᵖ(X; k) with p ≠ 0 and x ∈ Hₚ(X; k), the slant product of pr₂^* b + pr₁^* a ⌣ pr₂^* c ∈ Hⁿ(X × Y; M) by x is ⟨a, x⟩ • c.