# mathlibdocumentation

topology.homeomorph

# 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 α β: The type of homeomorphisms from α to β. This type can be denoted using the following notation: α ≃ₜ β.

# Main results #

• Pretty much every topological property is preserved under homeomorphisms.
• homeomorph.homeomorph_of_continuous_open: A continuous bijection that is an open map is a homeomorphism.
@[nolint]
structure homeomorph (α : Type u_5) (β : Type u_6)  :
Type (max u_5 u_6)

Homeomorphism between α and β, also called topological isomorphism

@[instance]
def homeomorph.has_coe_to_fun {α : Type u_1} {β : Type u_2}  :
has_coe_to_fun ≃ₜ β) (λ (_x : α ≃ₜ β), α → β)
Equations
@[simp]
theorem homeomorph.homeomorph_mk_coe {α : Type u_1} {β : Type u_2} (a : α β) (b : . "continuity'") (c : . "continuity'") :
@[simp]
theorem homeomorph.coe_to_equiv {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
def homeomorph.symm {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
β ≃ₜ α

Inverse of a homeomorphism.

Equations
def homeomorph.simps.apply {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
α → β

See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.

Equations
def homeomorph.simps.symm_apply {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
β → α
Equations
theorem homeomorph.to_equiv_injective {α : Type u_1} {β : Type u_2}  :
@[ext]
theorem homeomorph.ext {α : Type u_1} {β : Type u_2} {h h' : α ≃ₜ β} (H : ∀ (x : α), h x = h' x) :
h = h'
def homeomorph.refl (α : Type u_1)  :
α ≃ₜ α

Identity map as a homeomorphism.

Equations
@[simp]
theorem homeomorph.refl_apply (α : Type u_1)  :
def homeomorph.trans {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h₁ : α ≃ₜ β) (h₂ : β ≃ₜ γ) :
α ≃ₜ γ

Composition of two homeomorphisms.

Equations
@[simp]
theorem homeomorph.homeomorph_mk_coe_symm {α : Type u_1} {β : Type u_2} (a : α β) (b : . "continuity'") (c : . "continuity'") :
@[simp]
theorem homeomorph.refl_symm {α : Type u_1}  :
theorem homeomorph.continuous {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.continuous_symm {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
@[simp]
theorem homeomorph.apply_symm_apply {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (x : β) :
h ((h.symm) x) = x
@[simp]
theorem homeomorph.symm_apply_apply {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (x : α) :
(h.symm) (h x) = x
theorem homeomorph.bijective {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.injective {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.surjective {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
def homeomorph.change_inv {α : Type u_1} {β : Type u_2} (f : α ≃ₜ β) (g : β → α) (hg : f) :
α ≃ₜ β

Change the homeomorphism f to make the inverse function definitionally equal to g.

Equations
@[simp]
theorem homeomorph.symm_comp_self {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
@[simp]
theorem homeomorph.self_comp_symm {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
@[simp]
theorem homeomorph.range_coe {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.image_symm {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.preimage_symm {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
=
@[simp]
theorem homeomorph.image_preimage {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (s : set β) :
h '' (h ⁻¹' s) = s
@[simp]
theorem homeomorph.preimage_image {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (s : set α) :
h ⁻¹' (h '' s) = s
theorem homeomorph.inducing {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.induced_eq {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
_inst_2 = _inst_1
theorem homeomorph.quotient_map {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.coinduced_eq {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
_inst_1 = _inst_2
theorem homeomorph.embedding {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
def homeomorph.of_embedding {α : Type u_1} {β : Type u_2} (f : α → β) (hf : embedding f) :

Homeomorphism given an embedding.

Equations
theorem homeomorph.second_countable_topology {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.compact_image {α : Type u_1} {β : Type u_2} {s : set α} (h : α ≃ₜ β) :
theorem homeomorph.compact_preimage {α : Type u_1} {β : Type u_2} {s : set β} (h : α ≃ₜ β) :
theorem homeomorph.compact_space {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.t2_space {α : Type u_1} {β : Type u_2} [t2_space α] (h : α ≃ₜ β) :
theorem homeomorph.dense_embedding {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
@[simp]
theorem homeomorph.is_open_preimage {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) {s : set β} :
@[simp]
theorem homeomorph.is_open_image {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) {s : set α} :
@[simp]
theorem homeomorph.is_closed_preimage {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) {s : set β} :
@[simp]
theorem homeomorph.is_closed_image {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) {s : set α} :
theorem homeomorph.preimage_closure {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (s : set β) :
theorem homeomorph.image_closure {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (s : set α) :
theorem homeomorph.is_open_map {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.is_closed_map {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
theorem homeomorph.closed_embedding {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) :
@[simp]
theorem homeomorph.map_nhds_eq {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (x : α) :
(𝓝 x) = 𝓝 (h x)
theorem homeomorph.symm_map_nhds_eq {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (x : α) :
theorem homeomorph.nhds_eq_comap {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (x : α) :
𝓝 x = (𝓝 (h x))
@[simp]
theorem homeomorph.comap_nhds_eq {α : Type u_1} {β : Type u_2} (h : α ≃ₜ β) (y : β) :
(𝓝 y) = 𝓝 ((h.symm) y)
def homeomorph.homeomorph_of_continuous_open {α : Type u_1} {β : Type u_2} (e : α β) (h₁ : continuous e) (h₂ : is_open_map e) :
α ≃ₜ β

If an bijective map e : α ≃ β is continuous and open, then it is a homeomorphism.

Equations
@[simp]
theorem homeomorph.comp_continuous_on_iff {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h : α ≃ₜ β) (f : γ → α) (s : set γ) :
@[simp]
theorem homeomorph.comp_continuous_iff {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h : α ≃ₜ β) {f : γ → α} :
@[simp]
theorem homeomorph.comp_continuous_iff' {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h : α ≃ₜ β) {f : β → γ} :
@[simp]
theorem homeomorph.comp_is_open_map_iff {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h : α ≃ₜ β) {f : γ → α} :
@[simp]
theorem homeomorph.comp_is_open_map_iff' {α : Type u_1} {β : Type u_2} {γ : Type u_3} (h : α ≃ₜ β) {f : β → γ} :
def homeomorph.set_congr {α : Type u_1} {s t : set α} (h : s = t) :

If two sets are equal, then they are homeomorphic.

Equations
def homeomorph.sum_congr {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (h₁ : α ≃ₜ β) (h₂ : γ ≃ₜ δ) :
α γ ≃ₜ β δ

Sum of two homeomorphisms.

Equations
def homeomorph.prod_congr {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (h₁ : α ≃ₜ β) (h₂ : γ ≃ₜ δ) :
α × γ ≃ₜ β × δ

Product of two homeomorphisms.

Equations
@[simp]
theorem homeomorph.prod_congr_symm {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (h₁ : α ≃ₜ β) (h₂ : γ ≃ₜ δ) :
(h₁.prod_congr h₂).symm = h₁.symm.prod_congr h₂.symm
@[simp]
theorem homeomorph.coe_prod_congr {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (h₁ : α ≃ₜ β) (h₂ : γ ≃ₜ δ) :
(h₁.prod_congr h₂) = h₂
def homeomorph.prod_comm (α : Type u_1) (β : Type u_2)  :
α × β ≃ₜ β × α

α × β is homeomorphic to β × α.

Equations
@[simp]
theorem homeomorph.prod_comm_symm (α : Type u_1) (β : Type u_2)  :
@[simp]
theorem homeomorph.coe_prod_comm (α : Type u_1) (β : Type u_2)  :
def homeomorph.prod_assoc (α : Type u_1) (β : Type u_2) (γ : Type u_3)  :
× β) × γ ≃ₜ α × β × γ

(α × β) × γ is homeomorphic to α × (β × γ).

Equations
@[simp]
theorem homeomorph.prod_punit_apply (α : Type u_1)  :
def homeomorph.prod_punit (α : Type u_1)  :
≃ₜ α

α × {*} is homeomorphic to α.

Equations
def homeomorph.punit_prod (α : Type u_1)  :
≃ₜ α

{*} × α is homeomorphic to α.

Equations
@[simp]
theorem homeomorph.coe_punit_prod (α : Type u_1)  :
def homeomorph.ulift {α : Type u}  :
≃ₜ α

ulift α is homeomorphic to α.

Equations
def homeomorph.sum_prod_distrib {α : Type u_1} {β : Type u_2} {γ : Type u_3}  :
β) × γ ≃ₜ α × γ β × γ

(α ⊕ β) × γ is homeomorphic to α × γ ⊕ β × γ.

Equations
def homeomorph.prod_sum_distrib {α : Type u_1} {β : Type u_2} {γ : Type u_3}  :
α × γ) ≃ₜ α × β α × γ

α × (β ⊕ γ) is homeomorphic to α × β ⊕ α × γ.

Equations
def homeomorph.sigma_prod_distrib {β : Type u_2} {ι : Type u_5} {σ : ι → Type u_6} [Π (i : ι), topological_space (σ i)] :
(Σ (i : ι), σ i) × β ≃ₜ Σ (i : ι), σ i × β

(Σ i, σ i) × β is homeomorphic to Σ i, (σ i × β).

Equations
def homeomorph.image {α : Type u_1} {β : Type u_2} (e : α ≃ₜ β) (s : set α) :

A subset of a topological space is homeomorphic to its image under a homeomorphism.

Equations