Documentation

TauCeti.AlgebraicTopology.Homotopy.Relative.Basic

Relative homotopy sets of based pairs #

Let X be a based pair (X, A, a₀), with A ↪ X a topological pair and a₀ ∈ A. This file defines the relative homotopy set π_{n+1}(X, A, a₀) in the cubical model that Mathlib uses for HomotopyGroup, where n is the cardinality of an index type N.

A relative cube is a continuous map p : I × I^N → X that sends the face {0} × I^N into A, and the rest of the boundary of the cube — the opposite face {1} × I^N and the sides I × ∂I^N — to a₀. This is the classical description of relative homotopy classes as maps (I^{n+1}, ∂I^{n+1}, J^n) → (X, A, a₀); see Hatcher, Algebraic Topology, Section 4.1, where the face mapped to A is also the one where the distinguished coordinate vanishes. Two relative cubes are homotopic when they are joined by a homotopy through relative cubes, which is Mathlib's ContinuousMap.HomotopicWith for the relative-cube predicate. Unlike homotopy of generalized loops, such a homotopy is not stationary on the face {0} × I^N: it may move inside A there.

The resulting type TauCeti.RelHomotopyGroup N X is pointed by the class of the constant cube. Its group structure in dimensions at least two is not constructed here; in particular nothing here makes π_2(X, A, a₀) commutative.

A morphism of based pairs acts by postcomposition, functorially, giving the functor TauCeti.RelHomotopyGroup.functor N : BasedTopPair ⥤ Pointed. Restricting a relative cube to the face {0} × I^N gives a generalized loop in A based at a₀, and hence the boundary map π_{n+1}(X, A, a₀) → π_n(A, a₀), which is natural in the based pair. Finally, a relative cube that lies entirely in A is trivial, by pushing it towards the face {1} × I^N (the easy half of the compression criterion); in particular π_{n+1}(X, X, x₀) is trivial.

Main declarations #

The relative cubes of the based pair X = (X, A, a₀): continuous maps I × I^N → X sending the face {0} × I^N into A, and the face {1} × I^N and the sides I × ∂I^N to a₀.

Instances For
    @[instance_reducible]
    @[simp]
    theorem TauCeti.RelGenLoop.coe_coe {N : Type v} {X : BasedTopPair} (p : ↑(RelGenLoop N X)) :
    ⇑↑p = ⇑p
    theorem TauCeti.RelGenLoop.ext {N : Type v} {X : BasedTopPair} {p q : ↑(RelGenLoop N X)} (h : ∀ (y : ↑unitInterval × (N → ↑unitInterval)), p y = q y) :
    p = q
    theorem TauCeti.RelGenLoop.ext_iff {N : Type v} {X : BasedTopPair} {p q : ↑(RelGenLoop N X)} :
    p = q ↔ ∀ (y : ↑unitInterval × (N → ↑unitInterval)), p y = q y

    The relative cube given by a continuous map I × I^N → X that sends the face {0} × I^N into the subspace, and the face {1} × I^N and the sides I × ∂I^N to the basepoint.

    Instances For
      @[simp]
      theorem TauCeti.RelGenLoop.coe_mk {N : Type v} {X : BasedTopPair} (p : C(↑unitInterval × (N → ↑unitInterval), ↑TopPair.fst)) (h₀ : ∀ (t : N → ↑unitInterval), p (0, t) ∈ Set.range ⇑(CategoryTheory.ConcreteCategory.hom TopPair.map)) (h₁ : ∀ (s : ↑unitInterval) (t : N → ↑unitInterval), s = 1 ∨ t ∈ Cube.boundary N → p (s, t) = (CategoryTheory.ConcreteCategory.hom TopPair.map) X.basepoint) :
      ↑(mk p h₀ h₁) = p
      @[simp]
      theorem TauCeti.RelGenLoop.mk_apply {N : Type v} {X : BasedTopPair} (p : C(↑unitInterval × (N → ↑unitInterval), ↑TopPair.fst)) (h₀ : ∀ (t : N → ↑unitInterval), p (0, t) ∈ Set.range ⇑(CategoryTheory.ConcreteCategory.hom TopPair.map)) (h₁ : ∀ (s : ↑unitInterval) (t : N → ↑unitInterval), s = 1 ∨ t ∈ Cube.boundary N → p (s, t) = (CategoryTheory.ConcreteCategory.hom TopPair.map) X.basepoint) (y : ↑unitInterval × (N → ↑unitInterval)) :
      (mk p h₀ h₁) y = p y

      A relative cube sends the face {0} × I^N into the subspace.

      @[simp]

      A relative cube sends the face {1} × I^N to the basepoint.

      A relative cube sends the sides I × ∂I^N to the basepoint.

      theorem TauCeti.RelGenLoop.apply_update {N : Type v} {X : BasedTopPair} [DecidableEq N] (p : ↑(RelGenLoop N X)) (s : ↑unitInterval) (t : N → ↑unitInterval) (j : N) {a : ↑unitInterval} (ha : a = 0 ∨ a = 1) :

      A relative cube sends the faces t j = 0 and t j = 1 to the basepoint.

      The constant relative cube at the basepoint.

      Instances For

        Homotopy through relative cubes #

        def TauCeti.RelGenLoop.Homotopic {N : Type v} {X : BasedTopPair} (p q : ↑(RelGenLoop N X)) :

        Two relative cubes are homotopic if they are joined by a homotopy all of whose stages are relative cubes. On the face {0} × I^N the homotopy may move inside the subspace.

        Instances For
          theorem TauCeti.RelGenLoop.homotopic_iff {N : Type v} {X : BasedTopPair} {p q : ↑(RelGenLoop N X)} :
          Homotopic p q ↔ (↑p).HomotopicWith ↑q fun (x : C(↑unitInterval × (N → ↑unitInterval), ↑TopPair.fst)) => x ∈ RelGenLoop N X

          The characteristic property of Homotopic: a homotopy through relative cubes is a homotopy of the underlying continuous maps all of whose stages are relative cubes.

          theorem TauCeti.RelGenLoop.Homotopic.symm {N : Type v} {X : BasedTopPair} ⦃p q : ↑(RelGenLoop N X)⦄ (h : Homotopic p q) :
          theorem TauCeti.RelGenLoop.Homotopic.trans {N : Type v} {X : BasedTopPair} ⦃p q r : ↑(RelGenLoop N X)⦄ (h₀ : Homotopic p q) (h₁ : Homotopic q r) :
          @[instance_reducible]

          Homotopy through relative cubes, as a setoid.

          Functoriality #

          Postcomposing with the ambient component of a morphism of based pairs preserves relative cubes.

          def TauCeti.RelGenLoop.map {N : Type v} {X Y : BasedTopPair} (f : X ⟶ Y) (p : ↑(RelGenLoop N X)) :
          ↑(RelGenLoop N Y)

          A morphism of based pairs sends relative cubes to relative cubes by postcomposition.

          Instances For
            @[simp]
            theorem TauCeti.RelGenLoop.map_apply {N : Type v} {X Y : BasedTopPair} (f : X ⟶ Y) (p : ↑(RelGenLoop N X)) (y : ↑unitInterval × (N → ↑unitInterval)) :
            @[simp]
            theorem TauCeti.RelGenLoop.map_map {N : Type v} {X Y Z : BasedTopPair} (f : X ⟶ Y) (g : Y ⟶ Z) (p : ↑(RelGenLoop N X)) :
            @[simp]
            theorem TauCeti.RelGenLoop.map_const {N : Type v} {X Y : BasedTopPair} (f : X ⟶ Y) :
            theorem TauCeti.RelGenLoop.Homotopic.map {N : Type v} {X Y : BasedTopPair} {p q : ↑(RelGenLoop N X)} (h : Homotopic p q) (f : X ⟶ Y) :

            Postcomposition preserves homotopy through relative cubes.

            The face in the subspace #

            noncomputable def TauCeti.RelGenLoop.boundary {N : Type v} {X : BasedTopPair} (p : ↑(RelGenLoop N X)) :

            The restriction of a relative cube to the face {0} × I^N, as a generalized loop in the subspace based at the basepoint.

            Instances For

              Restricting to the face {0} × I^N commutes with the action of morphisms of based pairs.

              A homotopy through relative cubes restricts on the face {0} × I^N to a homotopy of generalized loops in the subspace, relative to the cube boundary.

              A relative cube with all of its values in the subspace is homotopic, through relative cubes, to the constant cube: push it towards the face {1} × I^N.

              def TauCeti.RelHomotopyGroup (N : Type v) (X : BasedTopPair) :
              Type (max u v)

              The relative homotopy set π_{n+1}(X, A, a₀) of a based pair X = (X, A, a₀), where n is the cardinality of N: relative cubes I × I^N → X up to homotopy through relative cubes.

              Instances For

                The class of a relative cube.

                Instances For
                  def TauCeti.RelHomotopyGroup.lift {N : Type v} {X : BasedTopPair} {β : Sort u_1} (f : ↑(RelGenLoop N X) → β) (hf : ∀ (p q : ↑(RelGenLoop N X)), RelGenLoop.Homotopic p q → f p = f q) :
                  RelHomotopyGroup N X → β

                  Lift a function on relative cubes that is invariant under homotopy through relative cubes to the relative homotopy set.

                  Instances For
                    @[simp]
                    theorem TauCeti.RelHomotopyGroup.lift_mk {N : Type v} {X : BasedTopPair} {β : Sort u_1} (f : ↑(RelGenLoop N X) → β) (hf : ∀ (p q : ↑(RelGenLoop N X)), RelGenLoop.Homotopic p q → f p = f q) (p : ↑(RelGenLoop N X)) :
                    lift f hf (mk p) = f p
                    def TauCeti.RelHomotopyGroup.lift₂ {N : Type v} {X : BasedTopPair} {N' : Type u_1} {X' : BasedTopPair} {β : Sort u_2} (f : ↑(RelGenLoop N X) → ↑(RelGenLoop N' X') → β) (hf : ∀ (p₁ : ↑(RelGenLoop N X)) (q₁ : ↑(RelGenLoop N' X')) (p₂ : ↑(RelGenLoop N X)) (q₂ : ↑(RelGenLoop N' X')), RelGenLoop.Homotopic p₁ p₂ → RelGenLoop.Homotopic q₁ q₂ → f p₁ q₁ = f p₂ q₂) :
                    RelHomotopyGroup N X → RelHomotopyGroup N' X' → β

                    Lift a function of two relative cubes that is invariant under homotopy through relative cubes in each argument to a function of two relative homotopy classes.

                    Instances For
                      @[simp]
                      theorem TauCeti.RelHomotopyGroup.lift₂_mk {N : Type v} {X : BasedTopPair} {N' : Type u_1} {X' : BasedTopPair} {β : Sort u_2} (f : ↑(RelGenLoop N X) → ↑(RelGenLoop N' X') → β) (hf : ∀ (p₁ : ↑(RelGenLoop N X)) (q₁ : ↑(RelGenLoop N' X')) (p₂ : ↑(RelGenLoop N X)) (q₂ : ↑(RelGenLoop N' X')), RelGenLoop.Homotopic p₁ p₂ → RelGenLoop.Homotopic q₁ q₂ → f p₁ q₁ = f p₂ q₂) (p : ↑(RelGenLoop N X)) (q : ↑(RelGenLoop N' X')) :
                      lift₂ f hf (mk p) (mk q) = f p q
                      @[instance_reducible]

                      The relative homotopy set is pointed by the class of the constant cube.

                      The map on relative homotopy sets induced by a morphism of based pairs.

                      Instances For
                        @[simp]
                        theorem TauCeti.RelHomotopyGroup.map_mk {N : Type v} {X Y : BasedTopPair} (f : X ⟶ Y) (p : ↑(RelGenLoop N X)) :
                        map f (mk p) = mk (RelGenLoop.map f p)
                        @[simp]
                        theorem TauCeti.RelHomotopyGroup.map_map {N : Type v} {X Y Z : BasedTopPair} (f : X ⟶ Y) (g : Y ⟶ Z) (a : RelHomotopyGroup N X) :

                        If a based pair X is a retract of a based pair Y, and the relative homotopy set of Y is trivial, then so is the relative homotopy set of X: the map induced by the inclusion is injective, since the retraction induces a left inverse.

                        Relative homotopy sets as a functor from based pairs to pointed types.

                        Instances For
                          @[simp]
                          @[simp]
                          theorem TauCeti.RelHomotopyGroup.functor_map_toFun (N : Type v) {X✝ Y✝ : BasedTopPair} (f : X✝ ⟶ Y✝) (a✝ : RelHomotopyGroup N X✝) :
                          ((functor N).map f).toFun a✝ = map f a✝

                          The boundary map π_{n+1}(X, A, a₀) → π_n(A, a₀), restricting a relative cube to the face that lies in the subspace.

                          Instances For

                            The boundary map is natural in the based pair.

                            A relative cube with all of its values in the subspace represents the distinguished class.

                            If the subspace is all of the space, every relative homotopy class is trivial.