The singular chain cross product
× : S_p(X) × S_q(Y) → S_{p+q}(X × Y) as a bilinear map, defined on generators
by applying the universal model cross product to each pair of simplices and
extending freely. This is the underlying construction for Theorem 6.2.
Instances For
Naturality of the cross product: for continuous maps f : X → X' and
g : Y → Y', the cross product commutes with the induced maps on singular
chains, i.e. f_*(a) × g_*(b) = (f × g)_*(a × b). This is the naturality
part of Theorem 6.2.
The Leibniz rule for the cross product: the boundary of a cross product
chain satisfies d(a × b) = (da) × b + (-1)^p · a × (db). This is the
graded-derivation part of Theorem 6.2.
Left normalization for the cross product: for any point x ∈ X and any
chain b ∈ S_q(Y), the cross product c_x^0 × b agrees with the chain
obtained by pushing b forward along the inclusion y ↦ (x, y). This is
the left-normalization clause of Theorem 6.2.
Right normalization for the cross product: for any point y ∈ Y and any
chain a ∈ S_p(X), the cross product a × c_y^0 agrees with the chain
obtained by pushing a forward along the inclusion x ↦ (x, y). This is
the right-normalization clause of Theorem 6.2.
Theorem 6.2: there exists a singular chain cross product
× : S_p(X) × S_q(Y) → S_{p+q}(X × Y) satisfying naturality, bilinearity,
the Leibniz rule, and the normalization conditions. The witness is built
from crossProductMap together with the four preceding lemmas.
A chain homotopy between the singular-chain maps induced by two
continuous maps f0, f1 : X → Y: a sequence of homomorphisms
hom n : S_n(X) → S_{n+1}(Y) satisfying the chain-homotopy identity
d ∘ hom + hom ∘ d = f1_* - f0_*. This is the chain-level homotopy
witnessing Theorem 6.1 / Proposition 5.11.
- chain_htpy (n : ℕ) (s : SingularChains (n + 1) X) : (boundaryMap (n + 1) Y) ((self.hom (n + 1)) s) + (self.hom n) ((boundaryMap n X) s) = (SingularChains.map f1) s - (SingularChains.map f0) s
Instances For
The bottom inclusion X → X × I given by x ↦ (x, 0).
Instances For
The top inclusion X → X × I given by x ↦ (x, 1).
Instances For
A natural chain homotopy between the singular-chain maps induced by the
two inclusions inclusion0, inclusion1 : X → X × I. The data consists of
homomorphisms S_n(X) → S_{n+1}(X × I) satisfying the chain-homotopy
identity and a naturality square in X. This is the universal ingredient
used to build chain homotopies from continuous homotopies in Theorem 6.1.
- hom (X : Type) [TopologicalSpace X] (n : ℕ) : SingularChains n X →+ SingularChains (n + 1) (X × ↑unitInterval)
- chain_htpy (X : Type) [TopologicalSpace X] (n : ℕ) (s : SingularChains (n + 1) X) : (boundaryMap (n + 1) (X × ↑unitInterval)) ((self.hom X (n + 1)) s) + (self.hom X n) ((boundaryMap n X) s) = (SingularChains.map (inclusion1 X)) s - (SingularChains.map (inclusion0 X)) s
- naturality (X X' : Type) [TopologicalSpace X] [TopologicalSpace X'] (g : C(X', X)) (n : ℕ) (s : SingularChains n X') : (SingularChains.map (g.prodMap (ContinuousMap.id ↑unitInterval))) ((self.hom X' n) s) = (self.hom X n) ((SingularChains.map g) s)
Instances For
Functoriality of the singular-chain map: the chain map induced by a composition of continuous maps is the composition of the induced chain maps.
The singular boundary map commutes with the chain map induced by a
continuous map; equivalently, SingularChains.map f is a chain map.
The fundamental singular 1-simplex ι₁ : Δ¹ → I given on barycentric
coordinates (t₀, t₁) by (t₀, t₁) ↦ t₁.
Instances For
The 0-th face of iotaSimplex is the constant simplex at 1.
The 1-st face of iotaSimplex is the constant simplex at 0.
The boundary of the fundamental 1-simplex ι₁ on I is
c₁⁰ - c₀⁰, the difference of the constant 0-simplices at the endpoints.
The right-product-inclusion at the endpoint 1 ∈ I agrees with
inclusion1.
The right-product-inclusion at the endpoint 0 ∈ I agrees with
inclusion0.
Existence of a natural chain homotopy between the two inclusions
X → X × I. The witness is built by crossing with the fundamental
1-simplex ι₁ on I and using the Leibniz rule and normalization of
the singular chain cross product. This is the chain-level engine behind
Theorem 6.1.
Theorem 6.1: a continuous homotopy h : f0 ≃ f1 : X → Y determines a
natural chain homotopy f0_* ≃ f1_* : S_*(X) → S_*(Y). The chain homotopy
is constructed by composing the universal chain homotopy for the inclusions
X → X × I (cf. NaturalChainHomotopyInclusions) with the homotopy
h.