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₁ : 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₁ : X} (hx₀ : x₀ = x₁) :
          theorem ContinuousMap.Homotopy.heq_path_of_eq_image {X₁ : TopCat} {X₂ : TopCat} {Y : TopCat} {f : C(X₁, Y)} {g : C(X₂, Y)} {x₀ : X₁} {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₁ : TopCat} {X₂ : TopCat} {Y : TopCat} {f : C(X₁, Y)} {g : C(X₂, Y)} {x₀ : X₁} {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 : TopCat} {Y : TopCat} {f : C(X, Y)} {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
            @[simp]
            theorem ContinuousMap.Homotopy.ulift_apply {X : TopCat} {Y : TopCat} {f : C(X, Y)} {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
              def ContinuousMap.Homotopy.diagonalPath {X : TopCat} {Y : TopCat} {f : C(X, Y)} {g : C(X, Y)} (H : f.Homotopy g) {x₀ : X} {x₁ : X} (p : FundamentalGroupoid.fromTop x₀ FundamentalGroupoid.fromTop x₁) :

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

              Equations
              Instances For
                def ContinuousMap.Homotopy.diagonalPath' {X : TopCat} {Y : TopCat} {f : C(X, Y)} {g : C(X, Y)} (H : f.Homotopy g) {x₀ : X} {x₁ : X} (p : FundamentalGroupoid.fromTop x₀ FundamentalGroupoid.fromTop x₁) :

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

                Equations
                Instances For
                  theorem ContinuousMap.Homotopy.eq_diag_path {X : TopCat} {Y : TopCat} {f : C(X, Y)} {g : C(X, Y)} (H : f.Homotopy g) {x₀ : X} {x₁ : X} (p : FundamentalGroupoid.fromTop x₀ FundamentalGroupoid.fromTop x₁) :
                  CategoryTheory.CategoryStruct.comp ((FundamentalGroupoid.fundamentalGroupoidFunctor.map f).map p) H.evalAt x₁ = H.diagonalPath' p CategoryTheory.CategoryStruct.comp H.evalAt x₀ ((FundamentalGroupoid.fundamentalGroupoidFunctor.map g).map p) = H.diagonalPath' p

                  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
                    • One or more equations did not get rendered due to their size.
                    Instances For