Cochain tensor-product infrastructure for the cup product #
Registers the additive and sign instances needed to tensor chain and cochain
complexes over ModuleCat, and packages the singular cochain tensor square with
its functoriality laws. This is the algebraic substrate consumed by the
Alexander–Whitney and cup-product modules; the diagonal itself is constructed
in those later modules rather than in this file.
1. Coefficient-category wiring (gap U6) #
The chain/cochain monoidal structure on HomologicalComplex C c requires the
additivity of curriedTensor C both in its argument object and as a functor.
Both follow from MonoidalPreadditive C but are not registered upstream.
For a preadditive monoidal category with MonoidalPreadditive, tensoring on
the left by a fixed object is an additive functor. This is the
((curriedTensor C).obj X).Additive side condition required by
HomologicalComplex.monoidalCategory; it holds because
(curriedTensor C).obj X is definitionally tensorLeft X.
For a preadditive monoidal category with MonoidalPreadditive, the currying
functor curriedTensor C : C ⥤ C ⥤ C is itself additive. This is the
(curriedTensor C).Additive side condition required by
HomologicalComplex.monoidalCategory; additivity in the first variable is
MonoidalPreadditive.add_tensor componentwise.
2. Tensor signs for the cochain shape ComplexShape.up ℕ #
Mathlib registers TensorSigns for down ℕ and up ℤ, but not for up ℕ, the
shape of the singular cochain complex. We supply it with the same (-1)^•
convention as the chain case.
The ComplexShape.TensorSigns instance for the cochain shape
ComplexShape.up ℕ, using the sign ε n = (-1)^n. This instance makes
HomologicalComplex.monoidalCategory apply to
CochainComplex (ModuleCat R) ℕ.
Equations
- One or more equations did not get rendered due to their size.
The Koszul sign of ComplexShape.up ℕ at index n is (-1)^n.
3. The singular cochain tensor square C^•(X) ⊗ C^•(X) #
With the wiring of §1–§2 in place, the tensor product of the singular cochain
complex with itself is a genuine cochain complex, functorial in X. This is the
domain of a cup product (a map C^•(X) ⊗ C^•(X) → C^•(X)), and its
functorial pullback is the naturality substrate for f^*(a ⌣ b) = f^* a ⌣ f^* b.
The tensor square of the singular cochain complex with coefficients in
M : ModuleCat R, i.e. C^•(X; M) ⊗ C^•(X; M) as a CochainComplex (ModuleCat R) ℕ.
This is the cochain-level domain of a cup product ⌣ : C^•(X) ⊗ C^•(X) → C^•(X).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The functorial pullback on the cochain tensor square: a continuous map
(packaged as f : X ⟶ Y in TopCatᵒᵖ) induces f^* ⊗ f^* on the tensor
squares. This is MonoidalCategory.tensorHom applied to the cochain pullback
(singularCochainComplexFunctor R M).map f with itself.
Equations
- One or more equations did not get rendered due to their size.
Instances For
4. ZMod 2 specializations #
The downstream RPⁿ work uses ZMod 2 coefficients, where the Koszul sign is
trivial (-1 = 1). These are thin abbreviations of the general definitions.
The tensor square of the singular F₂-cochain complex,
C^•(X; F₂) ⊗ C^•(X; F₂).
Equations
Instances For
The functorial pullback on the F₂-cochain tensor square.