Homeomorphisms #
This file defines homeomorphisms between two topological spaces. They are bijections with both
directions continuous. We denote homeomorphisms with the notation ≃ₜ
.
Main definitions #
Homeomorph X Y
: The type of homeomorphisms fromX
toY
. This type can be denoted using the following notation:X ≃ₜ Y
.
Main results #
- Pretty much every topological property is preserved under homeomorphisms.
Homeomorph.homeomorphOfContinuousOpen
: A continuous bijection that is an open map is a homeomorphism.
Homeomorphism between X
and Y
, also called topological isomorphism
- toFun : X → Y
- invFun : Y → X
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
- continuous_toFun : Continuous self.toFun
The forward map of a homeomorphism is a continuous function.
- continuous_invFun : Continuous self.invFun
The inverse map of a homeomorphism is a continuous function.
Instances For
Homeomorphism between X
and Y
, also called topological isomorphism
Equations
- «term_≃ₜ_» = Lean.ParserDescr.trailingNode `term_≃ₜ_ 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃ₜ ") (Lean.ParserDescr.cat `term 26))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Homeomorph.instCoeFunHomeomorphForAll = { coe := DFunLike.coe }
The unique homeomorphism between two empty types.
Equations
- Homeomorph.empty = let src := Equiv.equivOfIsEmpty X Y; Homeomorph.mk src
Instances For
Inverse of a homeomorphism.
Equations
- Homeomorph.symm h = Homeomorph.mk h.symm
Instances For
See Note [custom simps projection]
Equations
Instances For
Identity map as a homeomorphism.
Equations
Instances For
Composition of two homeomorphisms.
Equations
- Homeomorph.trans h₁ h₂ = Homeomorph.mk (h₁.trans h₂.toEquiv)
Instances For
Change the homeomorphism f
to make the inverse function definitionally equal to g
.
Equations
- Homeomorph.changeInv f g hg = Homeomorph.mk { toFun := ⇑f, invFun := g, left_inv := (_ : Function.LeftInverse g ⇑f), right_inv := (_ : Function.RightInverse g ⇑f) }
Instances For
Homeomorphism given an embedding.
Equations
- Homeomorph.ofEmbedding f hf = Homeomorph.mk (Equiv.ofInjective f (_ : Function.Injective f))
Instances For
If h : X → Y
is a homeomorphism, h(s)
is compact iff s
is.
If h : X → Y
is a homeomorphism, h⁻¹(s)
is compact iff s
is.
If h : X → Y
is a homeomorphism, s
is σ-compact iff h(s)
is.
If h : X → Y
is a homeomorphism, h⁻¹(s)
is σ-compact iff s
is.
If the codomain of a homeomorphism is a locally connected space, then the domain is also a locally connected space.
If a bijective map e : X ≃ Y
is continuous and open, then it is a homeomorphism.
Equations
Instances For
A homeomorphism h : X ≃ₜ Y
lifts to a homeomorphism between subtypes corresponding to
predicates p : X → Prop
and q : Y → Prop
so long as p = q ∘ h
.
Equations
- Homeomorph.subtype h h_iff = let src := Equiv.subtypeEquiv h.toEquiv h_iff; Homeomorph.mk src
Instances For
A homeomorphism h : X ≃ₜ Y
lifts to a homeomorphism between sets s : Set X
and t : Set Y
whenever h
maps s
onto t
.
Equations
- Homeomorph.sets h h_eq = Homeomorph.subtype h (_ : ∀ (x : X), x ∈ s ↔ x ∈ fun (x : X) => t (h x))
Instances For
If two sets are equal, then they are homeomorphic.
Equations
Instances For
Sum of two homeomorphisms.
Equations
- Homeomorph.sumCongr h₁ h₂ = Homeomorph.mk (Equiv.sumCongr h₁.toEquiv h₂.toEquiv)
Instances For
Product of two homeomorphisms.
Equations
- Homeomorph.prodCongr h₁ h₂ = Homeomorph.mk (Equiv.prodCongr h₁.toEquiv h₂.toEquiv)
Instances For
X × Y
is homeomorphic to Y × X
.
Equations
- Homeomorph.prodComm X Y = Homeomorph.mk (Equiv.prodComm X Y)
Instances For
(X × Y) × Z
is homeomorphic to X × (Y × Z)
.
Equations
- Homeomorph.prodAssoc X Y Z = Homeomorph.mk (Equiv.prodAssoc X Y Z)
Instances For
X × {*}
is homeomorphic to X
.
Equations
Instances For
{*} × X
is homeomorphic to X
.
Equations
Instances For
If both X
and Y
have a unique element, then X ≃ₜ Y
.
Equations
- Homeomorph.homeomorphOfUnique X Y = let src := Equiv.equivOfUnique X Y; Homeomorph.mk src
Instances For
Equiv.piCongrLeft
as a homeomorphism: this is the natural homeomorphism
Π i, Y (e i) ≃ₜ Π j, Y j
obtained from a bijection ι ≃ ι'
.
Equations
Instances For
Equiv.piCongrRight
as a homeomorphism: this is the natural homeomorphism
Π i, Y₁ i ≃ₜ Π j, Y₂ i
obtained from homeomorphisms Y₁ i ≃ₜ Y₂ i
for each i
.
Equations
- Homeomorph.piCongrRight F = Homeomorph.mk (Equiv.piCongrRight fun (i : ι) => (F i).toEquiv)
Instances For
Equiv.piCongr
as a homeomorphism: this is the natural homeomorphism
Π i₁, Y₁ i ≃ₜ Π i₂, Y₂ i₂
obtained from a bijection ι₁ ≃ ι₂
and homeomorphisms
Y₁ i₁ ≃ₜ Y₂ (e i₁)
for each i₁ : ι₁
.
Equations
Instances For
(X ⊕ Y) × Z
is homeomorphic to X × Z ⊕ Y × Z
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
X × (Y ⊕ Z)
is homeomorphic to X × Y ⊕ X × Z
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Σ i, X i) × Y
is homeomorphic to Σ i, (X i × Y)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If ι
has a unique element, then ι → X
is homeomorphic to X
.
Equations
- Homeomorph.funUnique ι X = Homeomorph.mk (Equiv.funUnique ι X)
Instances For
Homeomorphism between dependent functions Π i : Fin 2, X i
and X 0 × X 1
.
Equations
Instances For
Homeomorphism between X² = Fin 2 → X
and X × X
.
Equations
- Homeomorph.finTwoArrow = let src := Homeomorph.piFinTwo fun (x : Fin 2) => X; Homeomorph.mk (finTwoArrowEquiv X)
Instances For
A subset of a topological space is homeomorphic to its image under a homeomorphism.
Equations
- Homeomorph.image e s = Homeomorph.mk (Equiv.image e.toEquiv s)
Instances For
s ×ˢ t
is homeomorphic to s × t
.
Equations
- Homeomorph.Set.prod s t = Homeomorph.mk (Equiv.Set.prod s t)
Instances For
The topological space Π i, Y i
can be split as a product by separating the indices in ι
depending on whether they satisfy a predicate p or not.
Equations
Instances For
A product of topological spaces can be split as the binary product of one of the spaces and the product of all the remaining spaces.
Equations
- Homeomorph.piSplitAt i Y = Homeomorph.mk (Equiv.piSplitAt i Y)
Instances For
A product of copies of a topological space can be split as the binary product of one copy and the product of all the remaining copies.
Equations
- Homeomorph.funSplitAt Y i = Homeomorph.piSplitAt i fun (a : ι) => Y
Instances For
An equiv between topological spaces respecting openness is a homeomorphism.
Equations
- Equiv.toHomeomorph e he = Homeomorph.mk e
Instances For
An inducing equiv between topological spaces is a homeomorphism.
Equations
Instances For
Continuous equivalences from a compact space to a T2 space are homeomorphisms.
This is not true when T2 is weakened to T1
(see Continuous.homeoOfEquivCompactToT2.t1_counterexample
).