Documentation

TauCeti.Algebra.Homology.Monoidal.Slant

Slant products of cochains with chains #

Let K, L and T be chain complexes of modules over a commutative ring k, indexed by ℕ, and let D : K ⊗ L ⟶ T be a chain map, for instance the shuffle map C(X) ⊗ C(Y) ⟶ C(X × Y) of singular chains. A chain z ∈ K_p and a cochain φ : T_n ⟶ P, for p + q = n, have the slant product φ / z : L_q ⟶ P, the cochain

(φ / z)(v) = φ (D (z ⊗ v)).

Since D is a chain map and the tensor product carries the Koszul signs, the coboundary of the slant product by a chain z of degree p is δ(φ / z) = (-1)^p (δφ / z - φ / ∂z) (TauCeti.ChainComplex.d_comp_slantCochain_zero, TauCeti.ChainComplex.slantCochain_d_comp_succ and TauCeti.ChainComplex.slantCochain_d_zero, which keep track of the degrees in ℕ). Hence a cocycle slanted by a cycle is a cocycle, a coboundary slanted by a cycle is a coboundary, and a cocycle slanted by a boundary is a coboundary, so the slant product descends to a k-bilinear map

Hₚ(K) × Hⁿ(Hom(T, P)) ⟶ H^q(Hom(L, P))

(TauCeti.ChainComplex.slant). It satisfies the evaluation law ⟨φ / x, y⟩ = ⟨φ, D_*(x × y)⟩ for homology classes x ∈ Hₚ(K) and y ∈ H_q(L) (TauCeti.ChainComplex.kronecker_slant), where x × y is the homology cross product HomologicalComplex.homologyCross, and it is natural along maps of the triples (K, L, T) compatible with the chain maps D (TauCeti.ChainComplex.slant_naturality).

Slanting by a cycle z of degree zero is a pullback: if v ↦ e (D (z ⊗ v)) is a chain map c : L ⟶ T' for some chain map e : T ⟶ T', then e^* φ / [z] = c^* φ (TauCeti.ChainComplex.slant_homologyπ_zero_homologyMap).

The slant product of singular cohomology, Hⁿ(X × Y) × Hₚ(X) ⟶ H^q(Y), is the case where D is the shuffle map; it produces, for instance, the classes c₁(U) / γ ∈ H¹(Y) of a line bundle U on X × Y and loops γ in X.

For D the identity of K ⊗ L, the slant product computes cup products of cochains on the two factors: (a ⌣ b) / x is b with its coefficients changed along n ↦ μ (⟨a, x⟩ ⊗ n) (TauCeti.ChainComplex.slant_cup), and it vanishes when the degrees of a and x differ (TauCeti.ChainComplex.slant_cup_of_ne). Conversely, when the terms and the homology of K are projective, a class of Hⁿ(Hom(K ⊗ L, P)) is determined by its slant products by the homology classes of K (TauCeti.ChainComplex.eq_zero_of_forall_slant_eq_zero). Indeed K is then homotopy equivalent to a complex K' of projectives with zero differentials (HomologicalComplex.exists_homotopyEquiv_d_eq_zero). A cocycle c of Hom(K' ⊗ L, P) is a family of maps K'_p ⟶ Hom(L_q, P) into the cocycles of L; when its slant classes vanish these maps land in the coboundaries, and lift, K'_p being projective, to maps into Hom(L_{q-1}, P) which assemble into a cochain with coboundary c. With no hypothesis on L, these two facts are the algebraic content of the Künneth theorem for the cohomology of a product one of whose factors has finitely generated projective homology.

Main definitions and results #

References #

noncomputable def TauCeti.ChainComplex.slantCochain (k : Type u) [CommRing k] {K L T : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] (D : HomologicalComplex.tensorObj K L ⟶ T) {P : ModuleCat k} (p q n : ℕ) (h : p + q = n) :
↑(K.X p) →ₗ[k] (T.X n ⟶ P) →ₗ[k] L.X q ⟶ P

The slant product of a chain and a cochain along D : K ⊗ L ⟶ T: for p + q = n, the k-bilinear map sending a chain z ∈ K_p and a cochain φ : T_n ⟶ P to the cochain v ↦ φ (D (z ⊗ v)) on L_q (TauCeti.ChainComplex.slantCochain_apply).

Instances For
    @[simp]

    The slant product φ / z evaluates φ on D (z ⊗ v).

    theorem TauCeti.ChainComplex.d_comp_slantCochain_zero {k : Type u} [CommRing k] {K L T : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] (D : HomologicalComplex.tensorObj K L ⟶ T) {P : ModuleCat k} (q : ℕ) (z : ↑(K.X 0)) (φ : T.X q ⟶ P) :
    CategoryTheory.CategoryStruct.comp (L.d (q + 1) q) (((slantCochain k D 0 q q ⋯) z) φ) = ((slantCochain k D 0 (q + 1) (q + 1) ⋯) z) (CategoryTheory.CategoryStruct.comp (T.d (q + 1) q) φ)

    The boundary formula for the slant product by a chain of degree zero: the coboundary of φ / z is δφ / z.

    theorem TauCeti.ChainComplex.slantCochain_d_comp_succ {k : Type u} [CommRing k] {K L T : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] (D : HomologicalComplex.tensorObj K L ⟶ T) {P : ModuleCat k} (p s n : ℕ) (h : p + 1 + s = n) (w : ↑(K.X (p + 1))) (φ : T.X n ⟶ P) :
    ((slantCochain k D (p + 1) (s + 1) (n + 1) ⋯) w) (CategoryTheory.CategoryStruct.comp (T.d (n + 1) n) φ) = ((slantCochain k D p (s + 1) n ⋯) ((CategoryTheory.ConcreteCategory.hom (K.d (p + 1) p)) w)) φ + (-1) ^ (p + 1) • CategoryTheory.CategoryStruct.comp (L.d (s + 1) s) (((slantCochain k D (p + 1) s n h) w) φ)

    The boundary formula for the slant product by a chain of positive degree: for a chain w ∈ K_{p+1} and a cochain φ of T, δφ / w = φ / ∂w + (-1)^(p+1) δ(φ / w).

    theorem TauCeti.ChainComplex.slantCochain_d_zero {k : Type u} [CommRing k] {K L T : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] (D : HomologicalComplex.tensorObj K L ⟶ T) {P : ModuleCat k} (p : ℕ) (w : ↑(K.X (p + 1))) (φ : T.X p ⟶ P) :
    ((slantCochain k D p 0 p ⋯) ((CategoryTheory.ConcreteCategory.hom (K.d (p + 1) p)) w)) φ = ((slantCochain k D (p + 1) 0 (p + 1) ⋯) w) (CategoryTheory.CategoryStruct.comp (T.d (p + 1) p) φ)

    The slant product by a boundary, in degree zero of L: for a chain w ∈ K_{p+1}, φ / ∂w = δφ / w on L_0.

    Naturality of the slant product of chains and cochains: if chain maps f : K' ⟶ K, g : L' ⟶ L and e : T' ⟶ T satisfy (f ⊗ g) ≫ D = D' ≫ e, then slanting the pulled-back cochain by z along D' is pulling back along g the slant by f z along D.

    The slant product of a cycle and a cocycle: the slant product TauCeti.ChainComplex.slantCochain of the underlying chain and cochain, which is a cocycle by the boundary formulas (TauCeti.ChainComplex.iCycles_slantCycles).

    Instances For
      @[simp]

      On underlying chains and cochains, the slant product of a cycle and a cocycle is the slant product of the chain and the cochain.

      The slant product on homology and cohomology, Hₚ(K) × Hⁿ(Hom(T, P)) ⟶ H^q(Hom(L, P)) for p + q = n, along the chain map D : K ⊗ L ⟶ T: the class of φ / z on the classes of a cycle z and a cocycle φ (TauCeti.ChainComplex.slant_homologyπ).

      Instances For
        @[simp]

        The slant product on classes: the slant product of the classes of a cycle and a cocycle is the class of their slant product.

        The evaluation law of the slant product, ⟨φ / x, y⟩ = ⟨φ, D_*(x × y)⟩: the Kronecker pairing of the slant product φ / x with a class y ∈ H_q(L) is the Kronecker pairing of φ with the image under D of the homology cross product x × y ∈ Hₙ(K ⊗ L).

        The slant product by a cycle of degree zero: let z be a cycle of degree zero, e : T ⟶ T' a chain map and c : L ⟶ T' a chain map with c (v) = e (D (z ⊗ v)) in degree q. Then e^* φ / [z] = c^* φ for every class φ ∈ H^q(Hom(T', P)). For the shuffle map of singular chains, z a point of X and e induced by the projection X × Y ⟶ Y, the composite v ↦ e (D (z ⊗ v)) is the identity, so slanting a class pulled back from Y by a point returns it (TopCat.singularSlant_homologyπ_singularCohomologyMap_snd).

        Naturality of the slant product: if chain maps f : K' ⟶ K, g : L' ⟶ L and e : T' ⟶ T satisfy (f ⊗ g) ≫ D = D' ≫ e, then e^* φ / x = g^* (φ / f_* x) for classes x ∈ Hₚ(K') and φ ∈ Hⁿ(Hom(T, P)).

        The slant product along a composite: for a chain map e : T ⟶ T', slanting along D ≫ e is slanting along D after pulling the cochain back along e.

        theorem TauCeti.ChainComplex.slantCochain_comp {k : Type u} [CommRing k] {K L T : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] (D : HomologicalComplex.tensorObj K L ⟶ T) {P P' : ModuleCat k} (g : P ⟶ P') (p q n : ℕ) (h : p + q = n) (z : ↑(K.X p)) (φ : T.X n ⟶ P) :

        The slant product of chains and cochains commutes with changing the coefficients of the cochain along g : P ⟶ P'.

        Naturality of the slant product in the coefficients: for g : P ⟶ P', g_* φ / x = g_* (φ / x).

        The slant product of a cup product of cochains, along the identity of K ⊗ L: slanting φ ⌣ ψ by z ∈ K_p gives ψ followed by the coefficient map n ↦ μ (φ z ⊗ n).

        theorem TauCeti.ChainComplex.slantCochain_cupCochain_of_ne {k : Type u} [CommRing k] {K L : ChainComplex (ModuleCat k) ℕ} [HomologicalComplex.HasTensor K L] {P M N : ModuleCat k} (μ : CategoryTheory.MonoidalCategoryStruct.tensorObj M N ⟶ P) {p q p' q' n : ℕ} (h : p + q = n) (h' : p' + q' = n) (hp : p' ≠ p) (z : ↑(K.X p')) (φ : K.X p ⟶ M) (ψ : L.X q ⟶ N) :

        The slant product of a cup product of cochains of degrees p and q by a chain of degree p' ≠ p vanishes.

        @[simp]

        The slant product of a cup product of classes, along the identity of K ⊗ L: (a ⌣ b) / x is the class b with its coefficients changed along n ↦ μ (⟨a, x⟩ ⊗ n). For coefficients in the ring itself and μ the multiplication, this is ⟨a, x⟩ • b.

        @[simp]

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

        Slant products detect the cohomology of a tensor product: if the terms and the homology objects of K are projective, a class φ of Hⁿ(Hom(K ⊗ L, P)) whose slant products φ / x ∈ H^q(Hom(L, P)) by all homology classes x ∈ Hₚ(K), p + q = n, vanish is zero. There is no hypothesis on L.