Documentation

TauCeti.AlgebraicTopology.SimplicialSet.Cochains.Basic

Simplicial cochains as functions on simplices #

For a ring k and a k-module M, evaluation on the unit chain of each simplex identifies Hom_k(C_n(K; k), M) with functions from the n-simplices of K to M. This identification is integral-linear, including for noncommutative rings. The cochain differential becomes the alternating sum of values on faces, and pullback becomes precomposition on simplices.

The construction uses Mathlib's SSet.isColimitChainComplexXCofan and Cofan.IsColimit.desc, the coproduct universal property also used by TauCeti.chainsDesc. These coordinates allow comparison of coefficient rings without changing cochain values. Over a commutative ring they are k-linear (TauCeti.cochainValuesLinearEquiv).

References #

noncomputable def TauCeti.cochainValuesEquiv (k : Type w) [Ring k] (M : ModuleCat k) (K : SSet) (n : ℕ) :
((K.chainComplex ↧k).X n ⟶ M) ≃ₗ[ℤ] K.obj (Opposite.op { len := n }) → ↑M

Evaluation on unit simplex chains identifies simplicial cochains with functions on simplices, as modules over the integers.

Instances For
    @[simp]
    theorem TauCeti.cochainValuesEquiv_apply (k : Type w) [Ring k] (M : ModuleCat k) (K : SSet) (n : ℕ) (φ : (K.chainComplex ↧k).X n ⟶ M) (σ : K.obj (Opposite.op { len := n })) :

    The value coordinate of a cochain is its value on the unit chain of the simplex.

    @[simp]
    theorem TauCeti.cochainValuesEquiv_symm_apply (k : Type w) [Ring k] (M : ModuleCat k) (K : SSet) (n : ℕ) (v : K.obj (Opposite.op { len := n }) → ↑M) (σ : K.obj (Opposite.op { len := n })) (a : k) :

    The cochain with prescribed values evaluates a simplex with coefficient a to a times its prescribed value.

    theorem TauCeti.cochainValuesEquiv_d (k : Type w) [Ring k] (M : ModuleCat k) (K : SSet) (n : ℕ) (φ : (K.chainComplex ↧k).X n ⟶ M) (σ : K.obj (Opposite.op { len := n + 1 })) :

    The cochain differential, in simplex coordinates, is the alternating sum over faces.

    theorem TauCeti.cochainValuesEquiv_chainComplexMap (k : Type w) [Ring k] (M : ModuleCat k) (K : SSet) {L : SSet} (f : K ⟶ L) (n : ℕ) (φ : (L.chainComplex ↧k).X n ⟶ M) (σ : K.obj (Opposite.op { len := n })) :

    Pullback of cochains is precomposition of their value functions with the simplicial map.

    noncomputable def TauCeti.cochainValuesLinearEquiv (k : Type w) [CommRing k] (M : ModuleCat k) (K : SSet) (n : ℕ) :
    ((K.chainComplex ↧k).X n ⟶ M) ≃ₗ[k] K.obj (Opposite.op { len := n }) → ↑M

    For a commutative ring k, the identification TauCeti.cochainValuesEquiv of cochains with functions on simplices is k-linear.

    Instances For
      @[simp]
      theorem TauCeti.coe_cochainValuesLinearEquiv (k : Type w) [CommRing k] (M : ModuleCat k) (K : SSet) (n : ℕ) :
      @[simp]
      theorem TauCeti.cochainValuesEquiv_linearYonedaObj_d (k : Type w) [CommRing k] (M : ModuleCat k) (K : SSet) (n : ℕ) (φ : ↑(((K.chainComplex ↧k).linearYonedaObj k M).X n)) (σ : K.obj (Opposite.op { len := n + 1 })) :

      The values of the coboundary of a cochain in Hom(C(K; k), M) are alternating sums of its values on faces.