mathlib documentation


Homotopic maps induce naturally isomorphic functors #

Main definitions #

Implementation notes #

The path 0 ⟶ 1 in I

def unit_interval.upath01  :
path {down := 0} {down := 1}

The path 0 ⟶ 1 in ulift I

noncomputable def continuous_map.homotopy.hcast {X : Top} {x₀ x₁ : X} (hx : x₀ = x₁) :

Abbreviation for eq_to_hom that accepts points in a topological space

theorem continuous_map.homotopy.hcast_def {X : Top} {x₀ x₁ : X} (hx₀ : x₀ = x₁) :
theorem continuous_map.homotopy.heq_path_of_eq_image {X₁ X₂ Y : Top} {f : C(X₁, Y)} {g : C(X₂, Y)} {x₀ x₁ : X₁} {x₂ x₃ : X₂} {p : path x₀ x₁} {q : path x₂ x₃} (hfg : ∀ (t : unit_interval), 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

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

    | \      |
H₀  |   \ d  |  H₁
    |     \  |

Here, H₀ = H.eval_at 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 (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.

noncomputable def continuous_map.homotopy.ulift_map {X Y : Top} {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)

theorem continuous_map.homotopy.ulift_apply {X Y : Top} {f g : C(X, Y)} (H : f.homotopy g) (i : ulift unit_interval) (x : X) :
(H.ulift_map) (i, x) = H (i.down, x)

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

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


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

Instances for fundamental_groupoid_functor.homotopic_maps_nat_iso