Zulip Chat Archive

Stream: Is there code for X?

Topic: restricting an open embedding to a preimage?


Kim Morrison (Nov 09 2025 at 23:59):

import Mathlib

theorem IsOpenEmbedding.foo
    {Y X : Type*} [TopologicalSpace Y] [TopologicalSpace X]
    {e : Y  X} (he : IsOpenEmbedding e) {s : Set X} (hs : s  range e) :
    Nonempty ((e ⁻¹' s) ≃ₜ s) := sorry

Do we have this? (Presumably an actual construction, not the NonEmpty itself.)

Aaron Liu (Nov 10 2025 at 00:04):

I don't think you need an open embedding I think it works with just an embedding

Aaron Liu (Nov 10 2025 at 00:06):

well I found docs#Topology.IsEmbedding.homeomorphImage

Aaron Liu (Nov 10 2025 at 00:08):

You can can compose it with docs#Homeomorph.setCongr

Aaron Liu (Nov 10 2025 at 00:17):

here we go

import Mathlib

open Topology Set

theorem IsOpenEmbedding.foo
    {Y X : Type*} [TopologicalSpace Y] [TopologicalSpace X]
    {e : Y  X} (he : IsOpenEmbedding e) {s : Set X} (hs : s  range e) :
    Nonempty ((e ⁻¹' s) ≃ₜ s) :=
  (he.isEmbedding.homeomorphImage (e ⁻¹' s)).trans (.setCongr (image_preimage_eq_iff.2 hs))

Kim Morrison (Nov 10 2025 at 00:21):

Thanks!


Last updated: Dec 20 2025 at 21:32 UTC