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.HomotopyEquivis 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 : ContinuousMap.Homotopic (ContinuousMap.comp self.invFun self.toFun) (ContinuousMap.id X)
- right_inv : ContinuousMap.Homotopic (ContinuousMap.comp self.toFun self.invFun) (ContinuousMap.id Y)
Instances For
Equations
- One or more equations did not get rendered due to their size.
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: TODO: drop this definition.
Equations
- ↑e = ⇑e.toFun
Instances For
Equations
- ContinuousMap.HomotopyEquiv.instCoeFunHomotopyEquivForAll = { coe := ContinuousMap.HomotopyEquiv.toFun' }
Any homeomorphism is a homotopy equivalence.
Equations
- Homeomorph.toHomotopyEquiv h = { toFun := Homeomorph.toContinuousMap h, invFun := Homeomorph.toContinuousMap (Homeomorph.symm h), left_inv := ⋯, right_inv := ⋯ }
Instances For
If X is homotopy equivalent to Y, then Y is homotopy equivalent to X.
Equations
- ContinuousMap.HomotopyEquiv.symm h = { 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.
Instances For
Any topological space is homotopy equivalent to itself.
Instances For
If X is homotopy equivalent to Y, and Y is homotopy equivalent to Z, then X is homotopy
equivalent to Z.
Equations
- ContinuousMap.HomotopyEquiv.trans h₁ h₂ = { toFun := ContinuousMap.comp h₂.toFun h₁.toFun, invFun := ContinuousMap.comp h₁.invFun 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
- ContinuousMap.HomotopyEquiv.prodCongr h₁ h₂ = { toFun := ContinuousMap.prodMap h₁.toFun h₂.toFun, invFun := ContinuousMap.prodMap h₁.invFun 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.