Documentation

TauCeti.AlgebraicTopology.Homotopy.Hurewicz.One.Basic

The Hurewicz theorem in degree one #

For a path-connected space X with a base point x, the Hurewicz map sends a loop at x to the homology class of the singular 1-simplex it defines, and it identifies the abelianization of the fundamental group π₁(X, x) with the first singular homology group H₁(X; ℤ) (TauCeti.HurewiczOne.hurewiczHomologyAddEquiv).

The proof is the one of Hatcher, Theorem 2A.1, carried out on the singular chains with integer coefficients through the element-level interface of TauCeti.AlgebraicTopology.Singular.ModuleChains.Basic. Paths γ : I → X are read as singular 1-simplices along the parameter of the standard 1-simplex, and three kinds of explicit singular 2-simplices give the relations:

So the Hurewicz map is a well-defined homomorphism π₁(X, x) → H₁(X; ℤ) (TauCeti.HurewiczOne.hurewicz₁).

Conversely, a function f on path classes that is additive under concatenation induces a homomorphism out of H₁(X; ℤ) sending the class of a cycle Σ nᵢ σᵢ to Σ nᵢ f [σᵢ] (TauCeti.HurewiczOne.H₁.liftPathClass): it vanishes on boundaries because the three edges of a singular 2-simplex are images of paths in the simply connected standard simplex. The inverse of the Hurewicz map is induced in this way by sending a path class from y to z to the class of the loop that runs along a chosen path from x to y, along the class, and back from z. It inverts the Hurewicz map because conjugation is trivial in the abelianization. Conversely, the loop through a singular 1-simplex σ differs from σ by the chains of the chosen paths at its endpoints, which cancel on cycles.

The homology group is first described as the explicit homology ShortComplex.moduleCatLeftHomologyData of the short complex C₂ → C₁ → C₀, that is 1-cycles modulo boundaries (TauCeti.HurewiczOne.H₁), and then identified with the homology of the singular chain complex (TauCeti.HurewiczOne.H₁AddEquivHomology).

Main definitions and results #

References #

@[reducible, inline]

The short complex C₂ → C₁ → C₀ of the singular chains of X.

Instances For
    @[reducible, inline]
    noncomputable abbrev TauCeti.HurewiczOne.boundaries₁ (X : TopCat) :

    The boundaries among the singular 1-chains of X.

    Instances For

      The chain of a constant map is a boundary.

      The chain of a concatenation of paths differs from the sum of the chains of the two paths by a boundary.

      The chains of homotopic paths differ by a boundary.

      The Hurewicz map #

      @[reducible, inline]
      noncomputable abbrev TauCeti.HurewiczOne.cycles₁ (X : TopCat) :

      The singular 1-cycles of X, the kernel of the differential of sc₁ X.

      Instances For
        @[reducible, inline]
        noncomputable abbrev TauCeti.HurewiczOne.H₁ (X : TopCat) :

        The first singular homology group of X with integer coefficients, as the explicit homology cycles₁ X ⧸ boundaries of sc₁ X in ModuleCat ℤ.

        Instances For

          A 1-chain is a cycle when its boundary vanishes.

          noncomputable def TauCeti.HurewiczOne.H₁.mk {X : TopCat} :
          ↥(cycles₁ X) →+ ↑(H₁ X)

          The class in H₁ X of a 1-cycle, as an additive map. (It is not stated as a ℤ-linear map: instance search on the cycles would find AddCommGroup.toIntModule, which is only propositionally equal to their submodule structure.)

          Instances For
            theorem TauCeti.HurewiczOne.H₁.mk_eq_mk_iff {X : TopCat} (c c' : ↥(cycles₁ X)) :
            mk c = mk c' ↔ ↑c - ↑c' ∈ boundaries₁ X
            theorem TauCeti.HurewiczOne.H₁.addMonoidHom_ext {X : TopCat} {A : Type u_1} [AddZeroClass A] {f g : ↑(H₁ X) →+ A} (h : ∀ (c : ↥(cycles₁ X)), f (mk c) = g (mk c)) :
            f = g

            Two additive maps out of H₁ X agree once they agree on the classes of 1-cycles.

            theorem TauCeti.HurewiczOne.H₁.addMonoidHom_ext_iff {X : TopCat} {A : Type u_1} [AddZeroClass A] {f g : ↑(H₁ X) →+ A} :
            f = g ↔ ∀ (c : ↥(cycles₁ X)), f (mk c) = g (mk c)
            noncomputable def TauCeti.HurewiczOne.loopClass {X : TopCat} {x : ↑X} (γ : Path x x) :
            ↑(H₁ X)

            The homology class of the chain of a loop.

            Instances For
              theorem TauCeti.HurewiczOne.loopClass_eq_of_apply_eq {X : TopCat} {x y : ↑X} (γ : Path x x) (γ' : Path y y) (hγ : ∀ (t : ↑unitInterval), γ t = γ' t) :

              Loops with the same values have the same homology class, even when their base points are not syntactically equal.

              @[simp]
              @[simp]
              theorem TauCeti.HurewiczOne.loopClass_trans {X : TopCat} {x : ↑X} (γ δ : Path x x) :
              noncomputable def TauCeti.HurewiczOne.hurewicz₁ (X : TopCat) (x : ↑X) :

              The Hurewicz map in degree one: a loop is sent to the homology class of its chain.

              Instances For

                Homomorphisms out of the first homology group #

                noncomputable def TauCeti.HurewiczOne.H₁.lift {X : TopCat} {A : Type} [AddCommGroup A] (f : ↑(((singularChains ℤ).obj X).X 1) →ₗ[ℤ] A) (hf : ∀ (y : ↑(((singularChains ℤ).obj X).X 2)), f ((CategoryTheory.ConcreteCategory.hom (((singularChains ℤ).obj X).d 2 1)) y) = 0) :
                ↑(H₁ X) →+ A

                The homomorphism out of H₁ X induced by a linear map on the singular 1-chains which vanishes on boundaries.

                Instances For
                  @[simp]
                  theorem TauCeti.HurewiczOne.H₁.lift_mk {X : TopCat} {A : Type} [AddCommGroup A] (f : ↑(((singularChains ℤ).obj X).X 1) →ₗ[ℤ] A) (hf : ∀ (y : ↑(((singularChains ℤ).obj X).X 2)), f ((CategoryTheory.ConcreteCategory.hom (((singularChains ℤ).obj X).d 2 1)) y) = 0) (c : ↥(cycles₁ X)) :
                  (lift f hf) (mk c) = f ↑c
                  theorem TauCeti.HurewiczOne.chainsDesc_path₁_d {X : TopCat} {A : Type} [AddCommGroup A] {f : {y z : ↑X} → Path.Homotopic.Quotient y z → A} (hf : ∀ {y z w : ↑X} (p : Path.Homotopic.Quotient y z) (q : Path.Homotopic.Quotient z w), f (p.trans q) = f p + f q) (y : ↑(((singularChains ℤ).obj X).X 2)) :

                  An additive function on path classes kills the boundaries of singular 2-simplices: the three edges of a singular 2-simplex are images of paths in the simply connected standard simplex.

                  noncomputable def TauCeti.HurewiczOne.H₁.liftPathClass {X : TopCat} {A : Type} [AddCommGroup A] {f : {y z : ↑X} → Path.Homotopic.Quotient y z → A} (hf : ∀ {y z w : ↑X} (p : Path.Homotopic.Quotient y z) (q : Path.Homotopic.Quotient z w), f (p.trans q) = f p + f q) :
                  ↑(H₁ X) →+ A

                  The homomorphism out of H₁ X induced by a function f on path classes that is additive under concatenation: the class of a cycle Σ nᵢ σᵢ is sent to Σ nᵢ f [σᵢ].

                  Instances For
                    @[simp]
                    theorem TauCeti.HurewiczOne.H₁.liftPathClass_mk {X : TopCat} {A : Type} [AddCommGroup A] {f : {y z : ↑X} → Path.Homotopic.Quotient y z → A} (hf : ∀ {y z w : ↑X} (p : Path.Homotopic.Quotient y z) (q : Path.Homotopic.Quotient z w), f (p.trans q) = f p + f q) (c : ↥(cycles₁ X)) :
                    @[simp]
                    theorem TauCeti.HurewiczOne.H₁.liftPathClass_loopClass {X : TopCat} {A : Type} [AddCommGroup A] {f : {y z : ↑X} → Path.Homotopic.Quotient y z → A} (hf : ∀ {y z w : ↑X} (p : Path.Homotopic.Quotient y z) (q : Path.Homotopic.Quotient z w), f (p.trans q) = f p + f q) {x : ↑X} (γ : Path x x) :

                    The homomorphism out of H₁ X induced by an additive function f on path classes sends the class of a loop to the value of f on its class.

                    The inverse map #

                    noncomputable def TauCeti.HurewiczOne.hurewiczAb {X : TopCat} (x : ↑X) :

                    The Hurewicz map on the abelianized fundamental group, written additively.

                    Instances For
                      @[simp]

                      On the abelianization, the Hurewicz map is induced by TauCeti.HurewiczOne.hurewicz₁.

                      The Hurewicz theorem in degree one: for a path-connected space, the Hurewicz map identifies the abelianized fundamental group with the first homology group, written as the explicit homology of the short complex C₂ → C₁ → C₀.

                      Instances For
                        @[simp]

                        The inverse of the Hurewicz isomorphism sends the class of a loop to its class in the abelianized fundamental group.

                        Comparison with the homology of the singular chain complex #

                        The explicit homology H₁ X of sc₁ X is the first homology group of the singular chain complex.

                        Instances For

                          The identification of H₁ X with the homology of the singular chain complex sends the class of a cycle c to the homology class of the cycle of the complex lying over c.

                          The identification of H₁ X with the homology of the singular chain complex sends the class of a loop to the homology class of a cycle of the complex lying over the chain of the loop.

                          Two additive maps out of the first homology group of the singular chain complex agree once they agree on the classes of 1-cycles.

                          The Hurewicz isomorphism #

                          The Hurewicz theorem in degree one: for a path-connected space X with a base point x, the Hurewicz map identifies the abelianization of π₁(X, x) with H₁(X; ℤ), the first homology group of the singular chain complex of X with integer coefficients.

                          Instances For