Homotopy equivalences between topological spaces #
In this file, we define homotopy equivalences between topological spaces X
and Y
as a pair of
functions f : C(X, Y)
and g : C(Y, X)
such that f.comp g
and g.comp f
are both homotopic
to ContinuousMap.id
.
Main definitions #
ContinuousMap.HomotopyEquiv
is the type of homotopy equivalences between topological spaces.
Notation #
We introduce the notation X ≃ₕ Y
for ContinuousMap.HomotopyEquiv X Y
in the ContinuousMap
locale.
A homotopy equivalence between topological spaces X
and Y
are a pair of functions
toFun : C(X, Y)
and invFun : C(Y, X)
such that toFun.comp invFun
and invFun.comp toFun
are both homotopic to corresponding identity maps.
- left_inv : (self.invFun.comp self.toFun).Homotopic (ContinuousMap.id X)
- right_inv : (self.toFun.comp self.invFun).Homotopic (ContinuousMap.id Y)
Instances For
Equations
- ContinuousMap.«term_≃ₕ_» = Lean.ParserDescr.trailingNode `ContinuousMap.«term_≃ₕ_» 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃ₕ ") (Lean.ParserDescr.cat `term 26))
Instances For
Coercion of a HomotopyEquiv
to function. While the Lean 4 way is to unfold coercions, this
auxiliary definition will make porting of Lean 3 code easier.
Porting note (https://github.com/leanprover-community/mathlib4/issues/11215): TODO: drop this definition.
Equations
- ↑e = ⇑e.toFun
Instances For
Equations
- ContinuousMap.HomotopyEquiv.instCoeFunForall = { coe := ContinuousMap.HomotopyEquiv.toFun' }
Any homeomorphism is a homotopy equivalence.
Equations
- h.toHomotopyEquiv = { toFun := ↑h, invFun := ↑h.symm, left_inv := ⋯, right_inv := ⋯ }
Instances For
If X
is homotopy equivalent to Y
, then Y
is homotopy equivalent to X
.
Equations
- h.symm = { toFun := h.invFun, invFun := h.toFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
Instances For
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
Instances For
Any topological space is homotopy equivalent to itself.
Equations
- ContinuousMap.HomotopyEquiv.refl X = (Homeomorph.refl X).toHomotopyEquiv
Instances For
If X
is homotopy equivalent to Y
, and Y
is homotopy equivalent to Z
, then X
is homotopy
equivalent to Z
.
Equations
- h₁.trans h₂ = { toFun := h₂.toFun.comp h₁.toFun, invFun := h₁.invFun.comp h₂.invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
If X
is homotopy equivalent to Y
and Z
is homotopy equivalent to Z'
, then X × Z
is
homotopy equivalent to Z × Z'
.
Equations
- h₁.prodCongr h₂ = { toFun := h₁.toFun.prodMap h₂.toFun, invFun := h₁.invFun.prodMap h₂.invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
If X i
is homotopy equivalent to Y i
for each i
, then the space of functions (a.k.a. the
indexed product) ∀ i, X i
is homotopy equivalent to ∀ i, Y i
.
Equations
- One or more equations did not get rendered due to their size.