Documentation

Mathlib.AlgebraicTopology.FundamentalGroupoid.InducedMaps

Homotopic maps induce naturally isomorphic functors #

Main definitions #

Implementation notes #

The path 0 ⟶ 1 in I

Equations
    Instances For
      def unitInterval.upath01 :
      Path { down := 0 } { down := 1 }

      The path 0 ⟶ 1 in ULift I

      Equations
        Instances For

          The homotopy path class of 0 → 1 in ULift I

          Equations
            Instances For
              @[reducible, inline]
              abbrev ContinuousMap.Homotopy.hcast {X : TopCat} {x₀ x₁ : X} (hx : x₀ = x₁) :

              Abbreviation for eqToHom that accepts points in a topological space

              Equations
                Instances For
                  @[simp]
                  theorem ContinuousMap.Homotopy.hcast_def {X : TopCat} {x₀ x₁ : X} (hx₀ : x₀ = x₁) :
                  theorem ContinuousMap.Homotopy.heq_path_of_eq_image {X₁ X₂ Y : TopCat} {f : C(X₁, Y)} {g : C(X₂, Y)} {x₀ x₁ : X₁} {x₂ x₃ : X₂} {p : Path x₀ x₁} {q : Path x₂ x₃} (hfg : ∀ (t : unitInterval), f (p t) = g (q t)) :

                  If f(p(t) = g(q(t)) for two paths p and q, then the induced path homotopy classes f(p) and g(p) are the same as well, despite having a priori different types

                  theorem ContinuousMap.Homotopy.eq_path_of_eq_image {X₁ X₂ Y : TopCat} {f : C(X₁, Y)} {g : C(X₂, Y)} {x₀ x₁ : X₁} {x₂ x₃ : X₂} {p : Path x₀ x₁} {q : Path x₂ x₃} (hfg : ∀ (t : unitInterval), f (p t) = g (q t)) :

                  These definitions set up the following diagram, for each path p:

                          f(p)
                      *--------*
                      | \      |
                  H₀  |   \ d  |  H₁
                      |     \  |
                      *--------*
                          g(p)
                  

                  Here, H₀ = H.evalAt x₀ is the path from f(x₀) to g(x₀), and similarly for H₁. Similarly, f(p) denotes the path in Y that the induced map f takes p, and similarly for g(p).

                  Finally, d, the diagonal path, is H(0 ⟶ 1, p), the result of the induced H on Path.Homotopic.prod (0 ⟶ 1) p, where (0 ⟶ 1) denotes the path from 0 to 1 in I.

                  It is clear that the diagram commutes (H₀ ≫ g(p) = d = f(p) ≫ H₁), but unfortunately, many of the paths do not have defeq starting/ending points, so we end up needing some casting.

                  def ContinuousMap.Homotopy.uliftMap {X Y : TopCat} {f g : C(X, Y)} (H : f.Homotopy g) :

                  Interpret a homotopy H : C(I × X, Y) as a map C(ULift I × X, Y)

                  Equations
                    Instances For
                      theorem ContinuousMap.Homotopy.ulift_apply {X Y : TopCat} {f g : C(X, Y)} (H : f.Homotopy g) (i : ULift.{u, 0} unitInterval) (x : X) :
                      H.uliftMap (i, x) = H (i.down, x)
                      @[reducible, inline]

                      An abbreviation for prodToProdTop, with some types already in place to help the typechecker. In particular, the first path should be on the ulifted unit interval.

                      Equations
                        Instances For

                          The diagonal path d of a homotopy H on a path p

                          Equations
                            Instances For

                              The diagonal path, but starting from f x₀ and going to g x₁

                              Equations
                                Instances For

                                  Given a homotopy H : f ∼ g, we have an associated natural isomorphism between the induced functors f and g

                                  Equations
                                    Instances For

                                      Homotopy equivalent topological spaces have equivalent fundamental groupoids.

                                      Equations
                                        Instances For