Documentation

Mathlib.AlgebraicTopology.EilenbergSteenrod

Eilenberg-Steenrod homology theories #

In this file we introduce the Eilenberg-Steenrod axioms for homology theories.

The data for a homology theory is bundled in a structure HomologyPretheory consisting of functors Hₚ i : TopPair ⥤ C and H i : TopCat ⥤ C which represent the ith relative and regular homology, respectively, (indexed by a ComplexShape) and a proof that they agree on TopCat. They also require boundary morphisms δ i j : Hₚ i ⟶ proj₂ ⋙ H j for the long exact sequence of topological pairs. These are nonzero only if c.Rel i j.

We introduce a type class for each axiom:

In addition, there are bundled type classes IsExtraordinaryEilenbergSteenrod with the homotopy-invariance, excision, additivity, and pair sequence axioms and IsEilenbergSteenrod which extends the former by the dimension axiom.

structure TopPair.HomologyPretheory (C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} (c : ComplexShape ι) :
Type (max (max (max (u + 1) u_1) u_2) v_1)

A HomologyPretheory is the data of an Eilenberg-Steenrod homology theory.

Instances For
    theorem TopPair.HomologyPretheory.ext {C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Limits.HasZeroMorphisms C} {ι : Type u_2} {c : ComplexShape ι} {x y : HomologyPretheory C c} (Hₚ : x.Hₚ = y.Hₚ) (H : x.H = y.H) (iso : x.iso ≍ y.iso) (δ : x.δ ≍ y.δ) :
    x = y
    structure TopPair.HomologyPretheory.Hom {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (HP HP' : HomologyPretheory C c) :
    Type (max (max (u + 1) u_2) v_1)

    A morphism in the category HomologyPretheory.

    Instances For
      theorem TopPair.HomologyPretheory.Hom.ext {C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Limits.HasZeroMorphisms C} {ι : Type u_2} {c : ComplexShape ι} {HP HP' : HomologyPretheory C c} {x y : HP.Hom HP'} (homₚ : x.homₚ = y.homₚ) (hom : x.hom = y.hom) :
      x = y
      theorem TopPair.HomologyPretheory.Hom.ext_iff {C : Type u_1} {inst✝ : CategoryTheory.Category.{v_1, u_1} C} {inst✝¹ : CategoryTheory.Limits.HasZeroMorphisms C} {ι : Type u_2} {c : ComplexShape ι} {HP HP' : HomologyPretheory C c} {x y : HP.Hom HP'} :
      x = y ↔ x.homₚ = y.homₚ ∧ x.hom = y.hom
      @[simp]
      @[reducible, inline]

      The map H i X.fst ⟶ Hₚ i X induced by the inclusion.

      Equations
      Instances For
        @[implicit_reducible]

        The forgetful functor that sends a HomologyPretheory to it's relative homology functor Hₚ.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[reducible, inline]

          The isomorphism of relative homology that is part of an isomorphism of HomologyPretheorys.

          Equations
          Instances For
            @[implicit_reducible]

            The forgetful functor that sends a HomologyPretheory to it's homology functor H.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem TopPair.HomologyPretheory.hFunctor_map {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (i : ι) {X✝ Y✝ : HomologyPretheory C c} (f : X✝ ⟶ Y✝) :
              (hFunctor i).map f = f.hom i
              @[reducible, inline]
              abbrev TopPair.HomologyPretheory.hIsoOfIso {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} {HP HP' : HomologyPretheory C c} (e : HP ≅ HP') (i : ι) :
              HP.H i ≅ HP'.H i

              The isomorphism of absolute homology that is part of an isomorphism of HomologyPretheorys.

              Equations
              Instances For

                A HomologyPretheory is homotopy-invariant if its homology functor Hₚ takes homotopic maps to the same map in homology

                Instances

                  A HomologyPretheory has the excision-isomorphism, if cutting out a sufficiently nice subspace U from a space X yields an isomorphism Hₚ i X ≅ Hₚ i (X \ U).

                  Instances

                    A HomologyPretheory is additive if its homology functor preserves coproducts.

                    Instances

                      This imposes that a HomologyPretheory has the long exact sequence of topological pairs ⋯ ⟶ H (c.next i) X.fst ⟶ Hₚ (c.next i) X) ⟶ H i X.snd ⟶ H i X.fst ⟶ ⋯.

                      Instances

                        An extraordinary Eilenberg-Steenrod homology theory requires the homotopy, excision, additivity, and exactness axioms.

                        • isHomotopyInvariant : HP.IsHomotopyInvariant

                          Invariance of an extraordinary Eilenberg-Steenrod homology theory on homotopic maps.

                        • hasExcisionIso : HP.HasExcisionIso

                          Excision axiom of an extraordinary Eilenberg-Steenrod homology theory.

                        • isAdditive : HP.IsAdditive

                          An extraordinary Eilenberg-Steenrod homology functor preserves coproducts.

                        • hasPairSequence : HP.HasPairSequence

                          The long exact sequence of topological pairs in an extraordinary Eilenberg-Steenrod homology theory.

                        Instances

                          A HomologyPretheory on ComplexShape.down ℕ has the dimension axiom if it is trivial on the terminal space for n > 0.

                          Instances

                            An Eilenberg-Steenrod homology theory is an extraordinary Eilenberg-Steenrod homology theory which additionally satisfies the dimension axiom.

                            Instances