Skip to content

Commit

Permalink
feat(topology/homotopy/contractible): a few convenience lemmas (#14710)
Browse files Browse the repository at this point in the history
If `X` and `Y` are homotopy equivalent spaces, then one is
contractible if and only if the other one is contractible.
  • Loading branch information
urkud committed Jun 14, 2022
1 parent 05aa960 commit 16728b3
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions src/topology/homotopy/contractible.lean
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,8 @@ open_locale continuous_map
class contractible_space (X : Type*) [topological_space X] : Prop :=
(hequiv_unit [] : nonempty (X ≃ₕ unit))


variables (X : Type*) [topological_space X] [contractible_space X]

lemma id_nullhomotopic : (continuous_map.id X).nullhomotopic :=
lemma id_nullhomotopic (X : Type*) [topological_space X] [contractible_space X] :
(continuous_map.id X).nullhomotopic :=
begin
obtain ⟨hv⟩ := contractible_space.hequiv_unit X,
use hv.inv_fun (),
Expand All @@ -64,10 +62,29 @@ begin
{ exact h.symm, }, { convert homotopic.refl (continuous_map.id unit), ext, },
end

variables {X Y : Type*} [topological_space X] [topological_space Y]

protected lemma continuous_map.homotopy_equiv.contractible_space [contractible_space Y]
(e : X ≃ₕ Y) :
contractible_space X :=
⟨(contractible_space.hequiv_unit Y).map e.trans⟩

protected lemma continuous_map.homotopy_equiv.contractible_space_iff (e : X ≃ₕ Y) :
contractible_space X ↔ contractible_space Y :=
by { introI h, exact e.symm.contractible_space }, by { introI h, exact e.contractible_space }⟩

protected lemma homeomorph.contractible_space [contractible_space Y] (e : X ≃ₜ Y) :
contractible_space X :=
e.to_homotopy_equiv.contractible_space

protected lemma homeomorph.contractible_space_iff (e : X ≃ₜ Y) :
contractible_space X ↔ contractible_space Y :=
e.to_homotopy_equiv.contractible_space_iff

namespace contractible_space

@[priority 100]
instance : path_connected_space X :=
instance [contractible_space X] : path_connected_space X :=
begin
obtain ⟨p, ⟨h⟩⟩ := id_nullhomotopic X,
have : ∀ x, joined p x := λ x, ⟨(h.eval_at x).symm⟩,
Expand Down

0 comments on commit 16728b3

Please sign in to comment.