Singular cohomology functor (dualization of the singular chain complex) #
This file builds a functorial singular cohomology theory by dualizing Mathlib's singular chain complex functor.
Pinned Mathlib (v4.28.0, commit 8f9d9cff6bd728b17a24e163c9402775d9e6a365)
has no packaged singular cohomology theory (no singularCohomologyFunctor,
no named Hⁿ(X; M), no cup product, no universal coefficient theorem). It does,
however, provide every building block needed to construct singular cohomology
with coefficients in a module by dualizing the existing singular chain complex:
AlgebraicTopology.singularChainComplexFunctor— the singular chainsC_•(X), covariantly functorial inX;HomologicalComplex.opFunctor/Functor.op— make the construction contravariant inX(so the pullbackf^*comes for free, structurally);CategoryTheory.linearYoneda— the dualizingHom(-, M)intoR-modules;Functor.mapHomologicalComplex— apply the dualizer objectwise;HomologicalComplex.homologyFunctor— taken-th (co)homology.
Construction #
For a commutative ring R and a coefficient module M : ModuleCat R, the
singular cochain complex functor is the composite
singularCochainComplexFunctor R M
: TopCatᵒᵖ ⥤ CochainComplex (ModuleCat R) ℕ
:= ((singularChainComplexFunctor (ModuleCat R)).obj M).op
⋙ HomologicalComplex.opFunctor _ _
⋙ ((linearYoneda R (ModuleCat R)).obj M).mapHomologicalComplex _
and the singular cohomology functor in degree n is
singularCohomologyFunctor R M n
: TopCatᵒᵖ ⥤ ModuleCat R
:= singularCochainComplexFunctor R M ⋙ HomologicalComplex.homologyFunctor _ _ n.
The codomain is recorded as CochainComplex (ModuleCat R) ℕ rather than
HomologicalComplex (ModuleCat R) (ComplexShape.down ℕ).symm; these are
definitionally equal since (ComplexShape.down ℕ).symm = ComplexShape.up ℕ
by rfl, so no shape-isomorphism lemma is needed.
Conventions #
- Coefficients.
M : ModuleCat Ris the coefficient module; the coefficient ring isR. The relevant downstream case isR = ZMod 2, for which the abbreviationsingularCohomologyZMod2fixesM = ModuleCat.of (ZMod 2) (ZMod 2). - Contravariance. The functor is contravariant in the space: a continuous
map
f : X → Ybecomes aTopCatmorphismTopCat.ofHom f : X ⟶ Y, whose opposite(TopCat.ofHom f).op : Opposite.op Y ⟶ Opposite.op Xis sent by the functor to the pullbackf^* : Hⁿ(Y; M) → Hⁿ(X; M). - Functoriality. Identities and composites are preserved
(
singularCohomologyFunctor_map_id,singularCohomologyFunctor_map_comp), and equal morphisms induce equal pullbacks (singularCohomologyFunctor_map_congr). These are the genericCategoryTheory.Functorlaws on the composite.
Scope #
This is the construction layer only (the analogue of PR-coh1a in the design
inventories). It does not include homotopy invariance, the universal
coefficient theorem, any cohomology computation, or the cup product; those remain
downstream work.
The singular cochain complex functor with coefficients in a module
M : ModuleCat R, obtained by dualizing the singular chain complex functor.
It sends a space X (as an object of TopCatᵒᵖ) to the cochain complex
Hom(C_•(X), M) and is contravariant in X: a continuous map induces a cochain
map in the opposite direction. The codomain CochainComplex (ModuleCat R) ℕ is
definitionally HomologicalComplex (ModuleCat R) (ComplexShape.down ℕ).symm,
since (ComplexShape.down ℕ).symm = ComplexShape.up ℕ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The n-th singular cohomology functor Hⁿ(-; M) : TopCatᵒᵖ ⥤ ModuleCat R
with coefficients in a module M : ModuleCat R, obtained by taking n-th
homology of the singular cochain complex Hom(C_•(X), M).
Contravariance in the space is structural: a continuous map f induces the
pullback f^* : Hⁿ(Y; M) → Hⁿ(X; M) via the functor's action on (TopCat.ofHom f).op.
Equations
Instances For
Functoriality: the singular cohomology functor preserves composition. Note
that, being contravariant in the space, this reverses the order of the induced
pullbacks at the level of TopCat.
The n-th singular cohomology functor with ZMod 2 coefficients,
Hⁿ(-; ZMod 2) : TopCatᵒᵖ ⥤ ModuleCat (ZMod 2). This is the coefficient target
needed for the downstream odd-degree / real projective space work.
Equations
Instances For
The singular cochain complex functor with ZMod 2 coefficients.