Documentation

Mathlib.Topology.Homeomorph.Lemmas

Further properties of homeomorphisms #

This file proves further properties of homeomorphisms between topological spaces. Pretty much every topological property is preserved under homeomorphisms.

@[simp]
theorem Homeomorph.isCompact_image {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {s : Set X} (h : X โ‰ƒโ‚œ Y) :
IsCompact (โ‡‘h '' s) โ†” IsCompact s

If h : X โ†’ Y is a homeomorphism, h(s) is compact iff s is.

@[simp]

If h : X โ†’ Y is a homeomorphism, hโปยน(s) is compact iff s is.

@[simp]

If h : X โ†’ Y is a homeomorphism, s is ฯƒ-compact iff h(s) is.

@[simp]

If h : X โ†’ Y is a homeomorphism, hโปยน(s) is ฯƒ-compact iff s is.

theorem Homeomorph.image_connectedComponentIn {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {s : Set X} (h : X โ‰ƒโ‚œ Y) {x : X} (hx : x โˆˆ s) :
โ‡‘h '' connectedComponentIn s x = connectedComponentIn (โ‡‘h '' s) (h x)

If the codomain of a homeomorphism is a locally connected space, then the domain is also a locally connected space.

The codomain of a homeomorphism is a locally compact space if and only if the domain is a locally compact space.

@[simp]
theorem Homeomorph.comp_continuousOn_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_4} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X โ‰ƒโ‚œ Y) (f : Z โ†’ X) (s : Set Z) :
theorem Homeomorph.comp_continuousWithinAt_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_4} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (h : X โ‰ƒโ‚œ Y) (f : Z โ†’ X) (s : Set Z) (z : Z) :
def Homeomorph.subtype {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X โ†’ Prop} {q : Y โ†’ Prop} (h : X โ‰ƒโ‚œ Y) (h_iff : โˆ€ (x : X), p x โ†” q (h x)) :
{ x : X // p x } โ‰ƒโ‚œ { y : Y // q y }

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
    Instances For
      @[simp]
      theorem Homeomorph.subtype_symm_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X โ†’ Prop} {q : Y โ†’ Prop} (h : X โ‰ƒโ‚œ Y) (h_iff : โˆ€ (x : X), p x โ†” q (h x)) (b : { b : Y // q b }) :
      โ†‘((h.subtype h_iff).symm b) = h.symm โ†‘b
      @[simp]
      theorem Homeomorph.subtype_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X โ†’ Prop} {q : Y โ†’ Prop} (h : X โ‰ƒโ‚œ Y) (h_iff : โˆ€ (x : X), p x โ†” q (h x)) (a : { a : X // p a }) :
      โ†‘((h.subtype h_iff) a) = h โ†‘a
      @[simp]
      theorem Homeomorph.subtype_toEquiv {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {p : X โ†’ Prop} {q : Y โ†’ Prop} (h : X โ‰ƒโ‚œ Y) (h_iff : โˆ€ (x : X), p x โ†” q (h x)) :
      (h.subtype h_iff).toEquiv = h.subtypeEquiv h_iff
      @[reducible, inline]
      abbrev Homeomorph.sets {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {s : Set X} {t : Set Y} (h : X โ‰ƒโ‚œ Y) (h_eq : s = โ‡‘h โปยน' t) :
      โ†‘s โ‰ƒโ‚œ โ†‘t

      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
        Instances For
          def Homeomorph.setCongr {X : Type u_1} [TopologicalSpace X] {s t : Set X} (h : s = t) :
          โ†‘s โ‰ƒโ‚œ โ†‘t

          If two sets are equal, then they are homeomorphic.

          Equations
            Instances For

              X ร— {*} is homeomorphic to X.

              Equations
                Instances For
                  @[simp]
                  theorem Homeomorph.prodUnique_symm_apply_snd (X : Type u_1) (Y : Type u_2) [TopologicalSpace X] [TopologicalSpace Y] [Unique Y] (aโœ : X) :
                  ((prodUnique X Y).symm aโœ).2 = default

                  X ร— {*} is homeomorphic to X.

                  Equations
                    Instances For
                      @[simp]
                      theorem Homeomorph.uniqueProd_symm_apply_snd (X : Type u_7) (Y : Type u_8) [TopologicalSpace X] [TopologicalSpace Y] [Unique X] (aโœ : Y) :
                      ((uniqueProd X Y).symm aโœ).2 = ((prodUnique Y X).symm aโœ).1
                      def Homeomorph.sumPiEquivProdPi (S : Type u_7) (T : Type u_8) (A : S โŠ• T โ†’ Type u_9) [(st : S โŠ• T) โ†’ TopologicalSpace (A st)] :
                      ((st : S โŠ• T) โ†’ A st) โ‰ƒโ‚œ ((s : S) โ†’ A (Sum.inl s)) ร— ((t : T) โ†’ A (Sum.inr t))

                      The product over S โŠ• T of a family of topological spaces is homeomorphic to the product of (the product over S) and (the product over T).

                      This is Equiv.sumPiEquivProdPi as a Homeomorph.

                      Equations
                        Instances For
                          def Homeomorph.piUnique {ฮฑ : Type u_7} [Unique ฮฑ] (f : ฮฑ โ†’ Type u_8) [(x : ฮฑ) โ†’ TopologicalSpace (f x)] :
                          ((t : ฮฑ) โ†’ f t) โ‰ƒโ‚œ f default

                          The product ฮ  t : ฮฑ, f t of a family of topological spaces is homeomorphic to the space f โฌ when ฮฑ only contains โฌ.

                          This is Equiv.piUnique as a Homeomorph.

                          Equations
                            Instances For
                              @[simp]
                              theorem Homeomorph.piUnique_apply {ฮฑ : Type u_7} [Unique ฮฑ] (f : ฮฑ โ†’ Type u_8) [(x : ฮฑ) โ†’ TopologicalSpace (f x)] :
                              โ‡‘(piUnique f) = fun (f : (i : ฮฑ) โ†’ f i) => f default
                              @[simp]
                              theorem Homeomorph.piUnique_symm_apply {ฮฑ : Type u_7} [Unique ฮฑ] (f : ฮฑ โ†’ Type u_8) [(x : ฮฑ) โ†’ TopologicalSpace (f x)] :
                              def Homeomorph.piCongrLeft {ฮน : Type u_7} {ฮน' : Type u_8} {Y : ฮน' โ†’ Type u_9} [(j : ฮน') โ†’ TopologicalSpace (Y j)] (e : ฮน โ‰ƒ ฮน') :
                              ((i : ฮน) โ†’ Y (e i)) โ‰ƒโ‚œ ((j : ฮน') โ†’ Y j)

                              Equiv.piCongrLeft as a homeomorphism: this is the natural homeomorphism ฮ  i, Y (e i) โ‰ƒโ‚œ ฮ  j, Y j obtained from a bijection ฮน โ‰ƒ ฮน'.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem Homeomorph.toEquiv_piCongrLeft {ฮน : Type u_7} {ฮน' : Type u_8} {Y : ฮน' โ†’ Type u_9} [(j : ฮน') โ†’ TopologicalSpace (Y j)] (e : ฮน โ‰ƒ ฮน') :
                                  theorem Homeomorph.piCongrLeft_apply {ฮน : Type u_7} {ฮน' : Type u_8} {Y : ฮน' โ†’ Type u_9} [(j : ฮน') โ†’ TopologicalSpace (Y j)] (e : ฮน โ‰ƒ ฮน') (aโœ : (b : ฮน) โ†’ Y (e.symm.symm b)) (a : ฮน') :
                                  (piCongrLeft e) aโœ a = (Equiv.piCongrLeft' Y e.symm).symm aโœ a
                                  @[simp]
                                  theorem Homeomorph.piCongrLeft_refl {ฮน : Type u_7} {X : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] :
                                  piCongrLeft (Equiv.refl ฮน) = Homeomorph.refl ((i : ฮน) โ†’ X i)
                                  @[simp]
                                  theorem Homeomorph.piCongrLeft_symm_apply {ฮน : Type u_7} {ฮน' : Type u_8} {Y : ฮน' โ†’ Type u_9} [(j : ฮน') โ†’ TopologicalSpace (Y j)] (e : ฮน โ‰ƒ ฮน') :
                                  โ‡‘(piCongrLeft e).symm = fun (x1 : (j : ฮน') โ†’ Y j) (x2 : ฮน) => x1 (e x2)
                                  @[simp]
                                  theorem Homeomorph.piCongrLeft_apply_apply {ฮน : Type u_7} {ฮน' : Type u_8} {Y : ฮน' โ†’ Type u_9} [(j : ฮน') โ†’ TopologicalSpace (Y j)] (e : ฮน โ‰ƒ ฮน') (x : (i : ฮน) โ†’ Y (e i)) (i : ฮน) :
                                  (piCongrLeft e) x (e i) = x i
                                  def Homeomorph.piCongrRight {ฮน : Type u_7} {Yโ‚ : ฮน โ†’ Type u_8} {Yโ‚‚ : ฮน โ†’ Type u_9} [(i : ฮน) โ†’ TopologicalSpace (Yโ‚ i)] [(i : ฮน) โ†’ TopologicalSpace (Yโ‚‚ i)] (F : (i : ฮน) โ†’ Yโ‚ i โ‰ƒโ‚œ Yโ‚‚ i) :
                                  ((i : ฮน) โ†’ Yโ‚ i) โ‰ƒโ‚œ ((i : ฮน) โ†’ Yโ‚‚ i)

                                  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
                                    Instances For
                                      @[simp]
                                      theorem Homeomorph.piCongrRight_apply {ฮน : Type u_7} {Yโ‚ : ฮน โ†’ Type u_8} {Yโ‚‚ : ฮน โ†’ Type u_9} [(i : ฮน) โ†’ TopologicalSpace (Yโ‚ i)] [(i : ฮน) โ†’ TopologicalSpace (Yโ‚‚ i)] (F : (i : ฮน) โ†’ Yโ‚ i โ‰ƒโ‚œ Yโ‚‚ i) (aโœ : (i : ฮน) โ†’ Yโ‚ i) (i : ฮน) :
                                      (piCongrRight F) aโœ i = (F i) (aโœ i)
                                      @[simp]
                                      theorem Homeomorph.toEquiv_piCongrRight {ฮน : Type u_7} {Yโ‚ : ฮน โ†’ Type u_8} {Yโ‚‚ : ฮน โ†’ Type u_9} [(i : ฮน) โ†’ TopologicalSpace (Yโ‚ i)] [(i : ฮน) โ†’ TopologicalSpace (Yโ‚‚ i)] (F : (i : ฮน) โ†’ Yโ‚ i โ‰ƒโ‚œ Yโ‚‚ i) :
                                      (piCongrRight F).toEquiv = Equiv.piCongrRight fun (i : ฮน) => (F i).toEquiv
                                      @[simp]
                                      theorem Homeomorph.piCongrRight_symm {ฮน : Type u_7} {Yโ‚ : ฮน โ†’ Type u_8} {Yโ‚‚ : ฮน โ†’ Type u_9} [(i : ฮน) โ†’ TopologicalSpace (Yโ‚ i)] [(i : ฮน) โ†’ TopologicalSpace (Yโ‚‚ i)] (F : (i : ฮน) โ†’ Yโ‚ i โ‰ƒโ‚œ Yโ‚‚ i) :
                                      (piCongrRight F).symm = piCongrRight fun (i : ฮน) => (F i).symm
                                      def Homeomorph.piCongr {ฮนโ‚ : Type u_7} {ฮนโ‚‚ : Type u_8} {Yโ‚ : ฮนโ‚ โ†’ Type u_9} {Yโ‚‚ : ฮนโ‚‚ โ†’ Type u_10} [(iโ‚ : ฮนโ‚) โ†’ TopologicalSpace (Yโ‚ iโ‚)] [(iโ‚‚ : ฮนโ‚‚) โ†’ TopologicalSpace (Yโ‚‚ iโ‚‚)] (e : ฮนโ‚ โ‰ƒ ฮนโ‚‚) (F : (iโ‚ : ฮนโ‚) โ†’ Yโ‚ iโ‚ โ‰ƒโ‚œ Yโ‚‚ (e iโ‚)) :
                                      ((iโ‚ : ฮนโ‚) โ†’ Yโ‚ iโ‚) โ‰ƒโ‚œ ((iโ‚‚ : ฮนโ‚‚) โ†’ Yโ‚‚ iโ‚‚)

                                      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
                                          @[simp]
                                          theorem Homeomorph.toEquiv_piCongr {ฮนโ‚ : Type u_7} {ฮนโ‚‚ : Type u_8} {Yโ‚ : ฮนโ‚ โ†’ Type u_9} {Yโ‚‚ : ฮนโ‚‚ โ†’ Type u_10} [(iโ‚ : ฮนโ‚) โ†’ TopologicalSpace (Yโ‚ iโ‚)] [(iโ‚‚ : ฮนโ‚‚) โ†’ TopologicalSpace (Yโ‚‚ iโ‚‚)] (e : ฮนโ‚ โ‰ƒ ฮนโ‚‚) (F : (iโ‚ : ฮนโ‚) โ†’ Yโ‚ iโ‚ โ‰ƒโ‚œ Yโ‚‚ (e iโ‚)) :
                                          (piCongr e F).toEquiv = (Equiv.piCongrRight fun (i : ฮนโ‚) => (F i).toEquiv).trans (Equiv.piCongrLeft Yโ‚‚ e)
                                          @[simp]
                                          theorem Homeomorph.piCongr_apply {ฮนโ‚ : Type u_7} {ฮนโ‚‚ : Type u_8} {Yโ‚ : ฮนโ‚ โ†’ Type u_9} {Yโ‚‚ : ฮนโ‚‚ โ†’ Type u_10} [(iโ‚ : ฮนโ‚) โ†’ TopologicalSpace (Yโ‚ iโ‚)] [(iโ‚‚ : ฮนโ‚‚) โ†’ TopologicalSpace (Yโ‚‚ iโ‚‚)] (e : ฮนโ‚ โ‰ƒ ฮนโ‚‚) (F : (iโ‚ : ฮนโ‚) โ†’ Yโ‚ iโ‚ โ‰ƒโ‚œ Yโ‚‚ (e iโ‚)) (aโœ : (i : ฮนโ‚) โ†’ Yโ‚ i) (iโ‚‚ : ฮนโ‚‚) :
                                          (piCongr e F) aโœ iโ‚‚ = (Equiv.piCongrLeft Yโ‚‚ e) ((Equiv.piCongrRight fun (i : ฮนโ‚) => (F i).toEquiv) aโœ) iโ‚‚

                                          ULift X is homeomorphic to X.

                                          Equations
                                            Instances For
                                              def Homeomorph.sumArrowHomeomorphProdArrow {X : Type u_1} [TopologicalSpace X] {ฮน : Type u_7} {ฮน' : Type u_8} :
                                              (ฮน โŠ• ฮน' โ†’ X) โ‰ƒโ‚œ (ฮน โ†’ X) ร— (ฮน' โ†’ X)

                                              The natural homeomorphism (ฮน โŠ• ฮน' โ†’ X) โ‰ƒโ‚œ (ฮน โ†’ X) ร— (ฮน' โ†’ X). Equiv.sumArrowEquivProdArrow as a homeomorphism.

                                              Equations
                                                Instances For
                                                  @[simp]
                                                  theorem Homeomorph.sumArrowHomeomorphProdArrow_apply {X : Type u_1} [TopologicalSpace X] {ฮน : Type u_7} {ฮน' : Type u_8} (f : ฮน โŠ• ฮน' โ†’ X) :
                                                  @[simp]
                                                  theorem Homeomorph.sumArrowHomeomorphProdArrow_symm_apply {X : Type u_1} [TopologicalSpace X] {ฮน : Type u_7} {ฮน' : Type u_8} (p : (ฮน โ†’ X) ร— (ฮน' โ†’ X)) (aโœ : ฮน โŠ• ฮน') :
                                                  sumArrowHomeomorphProdArrow.symm p aโœ = Sum.elim p.1 p.2 aโœ
                                                  theorem Fin.continuous_append {X : Type u_1} [TopologicalSpace X] (m n : โ„•) :
                                                  Continuous fun (p : (Fin m โ†’ X) ร— (Fin n โ†’ X)) => append p.1 p.2
                                                  def Fin.appendHomeomorph {X : Type u_1} [TopologicalSpace X] (m n : โ„•) :
                                                  (Fin m โ†’ X) ร— (Fin n โ†’ X) โ‰ƒโ‚œ (Fin (m + n) โ†’ X)

                                                  The natural homeomorphism between (Fin m โ†’ X) ร— (Fin n โ†’ X) and Fin (m + n) โ†’ X. Fin.appendEquiv as a homeomorphism

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem Fin.appendHomeomorph_apply {X : Type u_1} [TopologicalSpace X] (m n : โ„•) (fg : (Fin m โ†’ X) ร— (Fin n โ†’ X)) (aโœ : Fin (m + n)) :
                                                      (appendHomeomorph m n) fg aโœ = append fg.1 fg.2 aโœ
                                                      @[simp]
                                                      theorem Fin.appendHomeomorph_symm_apply {X : Type u_1} [TopologicalSpace X] (m n : โ„•) (f : Fin (m + n) โ†’ X) :
                                                      (appendHomeomorph m n).symm f = (fun (i : Fin m) => f (castAdd n i), fun (i : Fin n) => f (natAdd m i))
                                                      def Homeomorph.sigmaProdDistrib {Y : Type u_2} [TopologicalSpace Y] {ฮน : Type u_7} {X : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] :
                                                      ((i : ฮน) ร— X i) ร— Y โ‰ƒโ‚œ (i : ฮน) ร— X i ร— Y

                                                      (ฮฃ i, X i) ร— Y is homeomorphic to ฮฃ i, (X i ร— Y).

                                                      Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem Homeomorph.toEquiv_sigmaProdDistrib {Y : Type u_2} [TopologicalSpace Y] {ฮน : Type u_7} {X : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] :
                                                          @[simp]
                                                          theorem Homeomorph.sigmaProdDistrib_apply {Y : Type u_2} [TopologicalSpace Y] {ฮน : Type u_7} {X : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] (aโœ : ((i : ฮน) ร— X i) ร— Y) :
                                                          sigmaProdDistrib aโœ = โŸจaโœ.1.fst, (aโœ.1.snd, aโœ.2)โŸฉ
                                                          @[simp]
                                                          theorem Homeomorph.sigmaProdDistrib_symm_apply {Y : Type u_2} [TopologicalSpace Y] {ฮน : Type u_7} {X : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] (aโœ : (i : ฮน) ร— X i ร— Y) :
                                                          sigmaProdDistrib.symm aโœ = (โŸจaโœ.fst, aโœ.snd.1โŸฉ, aโœ.snd.2)
                                                          def Homeomorph.funUnique (ฮน : Type u_7) (X : Type u_8) [Unique ฮน] [TopologicalSpace X] :
                                                          (ฮน โ†’ X) โ‰ƒโ‚œ X

                                                          If ฮน has a unique element, then ฮน โ†’ X is homeomorphic to X.

                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem Homeomorph.funUnique_symm_apply (ฮน : Type u_7) (X : Type u_8) [Unique ฮน] [TopologicalSpace X] :
                                                              โ‡‘(funUnique ฮน X).symm = uniqueElim
                                                              @[simp]
                                                              theorem Homeomorph.funUnique_apply (ฮน : Type u_7) (X : Type u_8) [Unique ฮน] [TopologicalSpace X] :
                                                              โ‡‘(funUnique ฮน X) = fun (f : ฮน โ†’ X) => f default
                                                              def Homeomorph.piFinTwo (X : Fin 2 โ†’ Type u) [(i : Fin 2) โ†’ TopologicalSpace (X i)] :
                                                              ((i : Fin 2) โ†’ X i) โ‰ƒโ‚œ X 0 ร— X 1

                                                              Homeomorphism between dependent functions ฮ  i : Fin 2, X i and X 0 ร— X 1.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem Homeomorph.piFinTwo_symm_apply (X : Fin 2 โ†’ Type u) [(i : Fin 2) โ†’ TopologicalSpace (X i)] :
                                                                  โ‡‘(piFinTwo X).symm = fun (p : X 0 ร— X 1) => Fin.cons p.1 (Fin.cons p.2 finZeroElim)
                                                                  @[simp]
                                                                  theorem Homeomorph.piFinTwo_apply (X : Fin 2 โ†’ Type u) [(i : Fin 2) โ†’ TopologicalSpace (X i)] :
                                                                  โ‡‘(piFinTwo X) = fun (f : (i : Fin 2) โ†’ X i) => (f 0, f 1)

                                                                  Homeomorphism between Xยฒ = Fin 2 โ†’ X and X ร— X.

                                                                  Equations
                                                                    Instances For
                                                                      @[simp]
                                                                      theorem Homeomorph.finTwoArrow_symm_apply {X : Type u_1} [TopologicalSpace X] :
                                                                      โ‡‘finTwoArrow.symm = fun (x : X ร— X) => ![x.1, x.2]
                                                                      @[simp]
                                                                      theorem Homeomorph.finTwoArrow_apply {X : Type u_1} [TopologicalSpace X] :
                                                                      โ‡‘finTwoArrow = fun (f : Fin 2 โ†’ X) => (f 0, f 1)
                                                                      def Homeomorph.image {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X โ‰ƒโ‚œ Y) (s : Set X) :
                                                                      โ†‘s โ‰ƒโ‚œ โ†‘(โ‡‘e '' s)

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

                                                                      Equations
                                                                        Instances For
                                                                          @[simp]
                                                                          theorem Homeomorph.image_symm_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X โ‰ƒโ‚œ Y) (s : Set X) (y : โ†‘(โ‡‘e.toEquiv '' s)) :
                                                                          โ†‘((e.image s).symm y) = e.symm โ†‘y
                                                                          @[simp]
                                                                          theorem Homeomorph.image_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (e : X โ‰ƒโ‚œ Y) (s : Set X) (x : โ†‘s) :
                                                                          โ†‘((e.image s) x) = e โ†‘x

                                                                          Set.univ X is homeomorphic to X.

                                                                          Equations
                                                                            Instances For
                                                                              @[simp]
                                                                              theorem Homeomorph.Set.univ_symm_apply_coe (X : Type u_7) [TopologicalSpace X] (a : X) :
                                                                              โ†‘((univ X).symm a) = a
                                                                              def Homeomorph.Set.prod {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (s : Set X) (t : Set Y) :
                                                                              โ†‘(s ร—หข t) โ‰ƒโ‚œ โ†‘s ร— โ†‘t

                                                                              s ร—หข t is homeomorphic to s ร— t.

                                                                              Equations
                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem Homeomorph.Set.prod_symm_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (s : Set X) (t : Set Y) (x : { a : X // s a } ร— { b : Y // t b }) :
                                                                                  โ†‘((prod s t).symm x) = (โ†‘x.1, โ†‘x.2)
                                                                                  @[simp]
                                                                                  theorem Homeomorph.Set.prod_apply {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (s : Set X) (t : Set Y) (x : { c : X ร— Y // s c.1 โˆง t c.2 }) :
                                                                                  (prod s t) x = (โŸจ(โ†‘x).1, โ‹ฏโŸฉ, โŸจ(โ†‘x).2, โ‹ฏโŸฉ)
                                                                                  def Homeomorph.piEquivPiSubtypeProd {ฮน : Type u_7} (p : ฮน โ†’ Prop) (Y : ฮน โ†’ Type u_8) [(i : ฮน) โ†’ TopologicalSpace (Y i)] [DecidablePred p] :
                                                                                  ((i : ฮน) โ†’ Y i) โ‰ƒโ‚œ ((i : { x : ฮน // p x }) โ†’ Y โ†‘i) ร— ((i : { x : ฮน // ยฌp x }) โ†’ Y โ†‘i)

                                                                                  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
                                                                                      @[simp]
                                                                                      theorem Homeomorph.piEquivPiSubtypeProd_apply {ฮน : Type u_7} (p : ฮน โ†’ Prop) (Y : ฮน โ†’ Type u_8) [(i : ฮน) โ†’ TopologicalSpace (Y i)] [DecidablePred p] (f : (i : ฮน) โ†’ Y i) :
                                                                                      (piEquivPiSubtypeProd p Y) f = (fun (x : { x : ฮน // p x }) => f โ†‘x, fun (x : { x : ฮน // ยฌp x }) => f โ†‘x)
                                                                                      @[simp]
                                                                                      theorem Homeomorph.piEquivPiSubtypeProd_symm_apply {ฮน : Type u_7} (p : ฮน โ†’ Prop) (Y : ฮน โ†’ Type u_8) [(i : ฮน) โ†’ TopologicalSpace (Y i)] [DecidablePred p] (f : ((i : { x : ฮน // p x }) โ†’ Y โ†‘i) ร— ((i : { x : ฮน // ยฌp x }) โ†’ Y โ†‘i)) (x : ฮน) :
                                                                                      (piEquivPiSubtypeProd p Y).symm f x = if h : p x then f.1 โŸจx, hโŸฉ else f.2 โŸจx, hโŸฉ
                                                                                      def Homeomorph.piSplitAt {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) (Y : ฮน โ†’ Type u_8) [(j : ฮน) โ†’ TopologicalSpace (Y j)] :
                                                                                      ((j : ฮน) โ†’ Y j) โ‰ƒโ‚œ Y i ร— ((j : { j : ฮน // j โ‰  i }) โ†’ Y โ†‘j)

                                                                                      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
                                                                                        Instances For
                                                                                          @[simp]
                                                                                          theorem Homeomorph.piSplitAt_symm_apply {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) (Y : ฮน โ†’ Type u_8) [(j : ฮน) โ†’ TopologicalSpace (Y j)] (f : Y i ร— ((j : { j : ฮน // j โ‰  i }) โ†’ Y โ†‘j)) (j : ฮน) :
                                                                                          (piSplitAt i Y).symm f j = if h : j = i then โ‹ฏ โ–ธ f.1 else f.2 โŸจj, hโŸฉ
                                                                                          @[simp]
                                                                                          theorem Homeomorph.piSplitAt_apply {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) (Y : ฮน โ†’ Type u_8) [(j : ฮน) โ†’ TopologicalSpace (Y j)] (f : (j : ฮน) โ†’ Y j) :
                                                                                          (piSplitAt i Y) f = (f i, fun (j : { j : ฮน // ยฌj = i }) => f โ†‘j)
                                                                                          def Homeomorph.funSplitAt (Y : Type u_2) [TopologicalSpace Y] {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) :
                                                                                          (ฮน โ†’ Y) โ‰ƒโ‚œ Y ร— ({ j : ฮน // j โ‰  i } โ†’ Y)

                                                                                          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
                                                                                            Instances For
                                                                                              @[simp]
                                                                                              theorem Homeomorph.funSplitAt_apply (Y : Type u_2) [TopologicalSpace Y] {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) (f : (j : ฮน) โ†’ (fun (a : ฮน) => Y) j) :
                                                                                              (funSplitAt Y i) f = (f i, fun (j : { j : ฮน // ยฌj = i }) => f โ†‘j)
                                                                                              @[simp]
                                                                                              theorem Homeomorph.funSplitAt_symm_apply (Y : Type u_2) [TopologicalSpace Y] {ฮน : Type u_7} [DecidableEq ฮน] (i : ฮน) (f : (fun (a : ฮน) => Y) i ร— ((j : { j : ฮน // j โ‰  i }) โ†’ (fun (a : ฮน) => Y) โ†‘j)) (j : ฮน) :
                                                                                              (funSplitAt Y i).symm f j = if h : j = i then f.1 else f.2 โŸจj, โ‹ฏโŸฉ
                                                                                              noncomputable def Topology.IsEmbedding.toHomeomorph {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) :

                                                                                              Homeomorphism given an embedding.

                                                                                              Equations
                                                                                                Instances For
                                                                                                  @[simp]
                                                                                                  theorem Topology.IsEmbedding.toHomeomorph_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) (a : X) :
                                                                                                  โ†‘(hf.toHomeomorph a) = f a
                                                                                                  @[simp]
                                                                                                  theorem Topology.IsEmbedding.toHomeomorph_symm_apply {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) (x : X) :
                                                                                                  noncomputable def Topology.IsEmbedding.toHomeomorphOfSurjective {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) (hsurj : Function.Surjective f) :

                                                                                                  A surjective embedding is a homeomorphism.

                                                                                                  Equations
                                                                                                    Instances For
                                                                                                      @[simp]
                                                                                                      theorem Topology.IsEmbedding.toHomeomorphOfSurjective_apply {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) (hsurj : Function.Surjective f) (aโœ : X) :
                                                                                                      (hf.toHomeomorphOfSurjective hsurj) aโœ = f aโœ
                                                                                                      noncomputable def Topology.IsEmbedding.homeomorphImage {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) (s : Set X) :
                                                                                                      โ†‘s โ‰ƒโ‚œ โ†‘(f '' s)

                                                                                                      A set is homeomorphic to its image under any embedding.

                                                                                                      Equations
                                                                                                        Instances For
                                                                                                          noncomputable def Topology.IsEmbedding.homeomorphOfSubsetRange {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) {s : Set Y} (hs : s โІ Set.range f) :
                                                                                                          โ†‘(f โปยน' s) โ‰ƒโ‚œ โ†‘s

                                                                                                          An embedding restricts to a homeomorphism between the preimage and any subset of its range.

                                                                                                          Equations
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem Topology.IsEmbedding.homeomorphOfSubsetRange_apply_coe {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsEmbedding f) {s : Set Y} (hs : s โІ Set.range f) (x : โ†‘(f โปยน' s)) :
                                                                                                              โ†‘((hf.homeomorphOfSubsetRange hs) x) = f โ†‘x

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

                                                                                                              Equations
                                                                                                                Instances For
                                                                                                                  noncomputable def IsHomeomorph.homeomorph {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X โ†’ Y) (hf : IsHomeomorph f) :

                                                                                                                  Bundled homeomorphism constructed from a map that is a homeomorphism.

                                                                                                                  Equations
                                                                                                                    Instances For
                                                                                                                      @[simp]
                                                                                                                      theorem IsHomeomorph.homeomorph_apply {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X โ†’ Y) (hf : IsHomeomorph f) (aโœ : X) :
                                                                                                                      (homeomorph f hf) aโœ = f aโœ
                                                                                                                      @[simp]
                                                                                                                      theorem IsHomeomorph.homeomorph_symm_apply {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X โ†’ Y) (hf : IsHomeomorph f) (b : Y) :
                                                                                                                      (homeomorph f hf).symm b = Function.surjInv โ‹ฏ b
                                                                                                                      @[simp]
                                                                                                                      theorem IsHomeomorph.toEquiv_homeomorph {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X โ†’ Y) (hf : IsHomeomorph f) :
                                                                                                                      theorem IsHomeomorph.isClosedMap {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsHomeomorph f) :
                                                                                                                      theorem isHomeomorph_iff_exists_homeomorph {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} :
                                                                                                                      IsHomeomorph f โ†” โˆƒ (h : X โ‰ƒโ‚œ Y), โ‡‘h = f

                                                                                                                      A map is a homeomorphism iff it is the map underlying a bundled homeomorphism h : X โ‰ƒโ‚œ Y.

                                                                                                                      A map is a homeomorphism iff it is continuous and has a continuous inverse.

                                                                                                                      A map is a homeomorphism iff it is a surjective embedding.

                                                                                                                      A map is a homeomorphism iff it is continuous, closed and bijective.

                                                                                                                      A map from a compact space to a T2 space is a homeomorphism iff it is continuous and bijective.

                                                                                                                      theorem IsHomeomorph.sumMap {X : Type u_1} {Y : Type u_2} {Z : Type u_4} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {W : Type u_5} [TopologicalSpace W] {f : X โ†’ Y} {g : Z โ†’ W} (hf : IsHomeomorph f) (hg : IsHomeomorph g) :
                                                                                                                      theorem IsHomeomorph.prodMap {X : Type u_1} {Y : Type u_2} {Z : Type u_4} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {W : Type u_5} [TopologicalSpace W] {f : X โ†’ Y} {g : Z โ†’ W} (hf : IsHomeomorph f) (hg : IsHomeomorph g) :
                                                                                                                      theorem IsHomeomorph.sigmaMap {ฮน : Type u_6} {ฮบ : Type u_7} {X : ฮน โ†’ Type u_8} {Y : ฮบ โ†’ Type u_9} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮบ) โ†’ TopologicalSpace (Y i)] {f : ฮน โ†’ ฮบ} (hf : Function.Bijective f) {g : (i : ฮน) โ†’ X i โ†’ Y (f i)} (hg : โˆ€ (i : ฮน), IsHomeomorph (g i)) :
                                                                                                                      theorem IsHomeomorph.pi_map {ฮน : Type u_6} {X : ฮน โ†’ Type u_7} {Y : ฮน โ†’ Type u_8} [(i : ฮน) โ†’ TopologicalSpace (X i)] [(i : ฮน) โ†’ TopologicalSpace (Y i)] {f : (i : ฮน) โ†’ X i โ†’ Y i} (h : โˆ€ (i : ฮน), IsHomeomorph (f i)) :
                                                                                                                      IsHomeomorph fun (x : (i : ฮน) โ†’ X i) (i : ฮน) => f i (x i)

                                                                                                                      A bijection between discrete topological spaces induces a homeomorphism.

                                                                                                                      Equations
                                                                                                                        Instances For