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