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 fromXtoY. 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).