Documentation

Mathlib.Topology.Maps.Basic

Specific classes of maps between topological spaces #

This file introduces the following properties of a map f : X โ†’ Y between topological spaces:

(Open and closed maps need not be continuous.)

References #

Tags #

open map, closed map, embedding, quotient map, identification map

theorem Topology.IsInducing.induced {X : Type u_1} {Y : Type u_2} [TopologicalSpace Y] (f : X โ†’ Y) :
theorem Topology.IsInducing.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hg : IsInducing g) (hf : IsInducing f) :
theorem Topology.IsInducing.of_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hg : IsInducing g) :
theorem Topology.IsInducing.of_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hf : Continuous f) (hg : Continuous g) (hgf : IsInducing (g โˆ˜ f)) :
theorem Topology.isInducing_iff_nhds {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] :
IsInducing f โ†” โˆ€ (x : X), nhds x = Filter.comap f (nhds (f x))
theorem Topology.IsInducing.nhds_eq_comap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) (x : X) :
nhds x = Filter.comap f (nhds (f x))
theorem Topology.IsInducing.basis_nhds {X : Type u_1} {Y : Type u_2} {ฮน : Type u_4} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] {p : ฮน โ†’ Prop} {s : ฮน โ†’ Set Y} (hf : IsInducing f) {x : X} (h_basis : (nhds (f x)).HasBasis p s) :
theorem Topology.IsInducing.nhdsSet_eq_comap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) (s : Set X) :
theorem Topology.IsInducing.map_nhds_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) (x : X) :
theorem Topology.IsInducing.map_nhds_of_mem {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) (x : X) (h : Set.range f โˆˆ nhds (f x)) :
Filter.map f (nhds x) = nhds (f x)
theorem Topology.IsInducing.mapClusterPt_iff {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {x : X} {l : Filter X} :
theorem Topology.IsInducing.image_mem_nhdsWithin {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {x : X} {s : Set X} (hs : s โˆˆ nhds x) :
theorem Topology.IsInducing.tendsto_nhds_iff {Y : Type u_2} {Z : Type u_3} {ฮน : Type u_4} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace Z] {f : ฮน โ†’ Y} {l : Filter ฮน} {y : Y} (hg : IsInducing g) :
theorem Topology.IsInducing.continuousAt_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hg : IsInducing g) {x : X} :
theorem Topology.IsInducing.continuous_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hg : IsInducing g) :
theorem Topology.IsInducing.continuousAt_iff' {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace X] [TopologicalSpace Z] (hf : IsInducing f) {x : X} (h : Set.range f โˆˆ nhds (f x)) :
theorem Topology.IsInducing.isClosed_iff {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {s : Set X} :
theorem Topology.IsInducing.isClosed_iff' {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {s : Set X} :
IsClosed s โ†” โˆ€ (x : X), f x โˆˆ closure (f '' s) โ†’ x โˆˆ s
theorem Topology.IsInducing.isClosed_preimage {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (h : IsInducing f) (s : Set Y) (hs : IsClosed s) :
theorem Topology.IsInducing.isOpen_iff {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {s : Set X} :
IsOpen s โ†” โˆƒ (t : Set Y), IsOpen t โˆง f โปยน' t = s
theorem Topology.IsInducing.dense_iff {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace Y] [TopologicalSpace X] (hf : IsInducing f) {s : Set X} :
Dense s โ†” โˆ€ (x : X), f x โˆˆ closure (f '' s)
theorem Topology.IsEmbedding.induced {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [t : TopologicalSpace Y] (hf : Function.Injective f) :
theorem Topology.IsEmbedding.mk' {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] (f : X โ†’ Y) (inj : Function.Injective f) (induced : โˆ€ (x : X), Filter.comap f (nhds (f x)) = nhds x) :
theorem Topology.IsEmbedding.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsEmbedding g) (hf : IsEmbedding f) :
theorem Topology.IsEmbedding.of_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsEmbedding g) :
theorem Topology.IsEmbedding.of_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : Continuous f) (hg : Continuous g) (hgf : IsEmbedding (g โˆ˜ f)) :
theorem Topology.IsEmbedding.of_leftInverse {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} {g : Y โ†’ X} (h : Function.LeftInverse f g) (hf : Continuous f) (hg : Continuous g) :
theorem Function.LeftInverse.isEmbedding {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} {g : Y โ†’ X} (h : LeftInverse f g) (hf : Continuous f) (hg : Continuous g) :

Alias of Topology.IsEmbedding.of_leftInverse.

theorem Topology.IsEmbedding.map_nhds_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsEmbedding f) (x : X) :
theorem Topology.IsEmbedding.map_nhds_of_mem {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsEmbedding f) (x : X) (h : Set.range f โˆˆ nhds (f x)) :
Filter.map f (nhds x) = nhds (f x)
theorem Topology.IsEmbedding.tendsto_nhds_iff {Y : Type u_2} {Z : Type u_3} {ฮน : Type u_4} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace Z] {f : ฮน โ†’ Y} {l : Filter ฮน} {y : Y} (hg : IsEmbedding g) :
theorem Topology.IsEmbedding.continuous_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsEmbedding g) :

The topology induced under an inclusion f : X โ†’ Y from a discrete topological space Y is the discrete topology on X.

See also DiscreteTopology.of_continuous_injective.

theorem Topology.IsQuotientMap.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsQuotientMap g) (hf : IsQuotientMap f) :
theorem Topology.IsQuotientMap.of_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : Continuous f) (hg : Continuous g) (hgf : IsQuotientMap (g โˆ˜ f)) :
theorem Topology.IsQuotientMap.of_comp_of_eq_coinduced {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hgf : IsQuotientMap (g โˆ˜ f)) (hf : instโœ = TopologicalSpace.coinduced f instโœยน) :
theorem Topology.IsQuotientMap.of_comp_isQuotientMap {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : IsQuotientMap f) (hgf : IsQuotientMap (g โˆ˜ f)) :
theorem Topology.IsQuotientMap.of_inverse {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {g : Y โ†’ X} (hf : Continuous f) (hg : Continuous g) (h : Function.LeftInverse g f) :
theorem Topology.IsQuotientMap.continuous_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : IsQuotientMap f) :
theorem IsOpenMap.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsOpenMap g) (hf : IsOpenMap f) :
theorem IsOpenMap.isOpen_range {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) :
theorem IsOpenMap.image_mem_nhds {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) {x : X} {s : Set X} (hx : s โˆˆ nhds x) :
f '' s โˆˆ nhds (f x)
theorem IsOpenMap.range_mem_nhds {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) (x : X) :
theorem IsOpenMap.mapsTo_interior {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) {s : Set X} {t : Set Y} (h : Set.MapsTo f s t) :
theorem IsOpenMap.image_interior_subset {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) (s : Set X) :
theorem IsOpenMap.nhds_le {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) (x : X) :
theorem IsOpenMap.map_nhds_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) {x : X} (hf' : ContinuousAt f x) :
Filter.map f (nhds x) = nhds (f x)
theorem IsOpenMap.map_nhdsSet_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) (hf' : Continuous f) (s : Set X) :
theorem IsOpenMap.of_nhds_le {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : โˆ€ (x : X), nhds (f x) โ‰ค Filter.map f (nhds x)) :
theorem IsOpenMap.of_sections {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (h : โˆ€ (x : X), โˆƒ (g : Y โ†’ X), ContinuousAt g (f x) โˆง g (f x) = x โˆง Function.RightInverse g f) :
theorem IsOpenMap.of_inverse {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {f' : Y โ†’ X} (h : Continuous f') (l_inv : Function.LeftInverse f f') (r_inv : Function.RightInverse f f') :
theorem IsOpenMap.isQuotientMap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (open_map : IsOpenMap f) (cont : Continuous f) (surj : Function.Surjective f) :

A continuous surjective open map is a quotient map.

theorem IsOpenMap.of_isEmpty {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] [h : IsEmpty X] (f : X โ†’ Y) :
theorem IsOpenMap.clusterPt_comap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenMap f) {x : X} {l : Filter Y} (h : ClusterPt (f x) l) :
theorem isOpenMap_iff_kernImage {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsOpenMap f โ†” โˆ€ {u : Set X}, IsClosed u โ†’ IsClosed (Set.kernImage f u)

A map is open if and only if the Set.kernImage of every closed set is closed.

One way to understand this result is that f : X โ†’ Y is open if and only if its fibers vary in a lower hemicontinuous way: for any open subset U โІ X, the set of all y โˆˆ Y such that (f โปยน' {y} โˆฉ U).Nonempty is open in Y. See isOpenMap_iff_lowerHemicontinuous.

theorem isOpenMap_iff_nhds_le {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsOpenMap f โ†” โˆ€ (x : X), nhds (f x) โ‰ค Filter.map f (nhds x)
theorem isOpenMap_iff_clusterPt_comap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsOpenMap f โ†” โˆ€ (x : X) (l : Filter Y), ClusterPt (f x) l โ†’ ClusterPt x (Filter.comap f l)
theorem isOpenMap_iff_image_interior {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsOpenMap f โ†” โˆ€ (s : Set X), f '' interior s โІ interior (f '' s)
@[deprecated isOpenMap_iff_image_interior (since := "2025-08-30")]
theorem isOpenMap_iff_interior {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsOpenMap f โ†” โˆ€ (s : Set X), f '' interior s โІ interior (f '' s)

Alias of isOpenMap_iff_image_interior.

theorem isOpenMap_iff_closure_kernImage {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :

A map is open if and only if the Set.kernImage of every closed set is closed.

theorem Topology.IsInducing.isOpenMap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hi : IsInducing f) (ho : IsOpen (Set.range f)) :

An inducing map with an open range is an open map.

theorem Dense.preimage {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {s : Set Y} (hs : Dense s) (hf : IsOpenMap f) :

Preimage of a dense set under an open map is dense.

theorem IsClosedMap.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsClosedMap g) (hf : IsClosedMap f) :
theorem IsClosedMap.of_comp_surjective {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : Function.Surjective f) (hf' : Continuous f) (hfg : IsClosedMap (g โˆ˜ f)) :
theorem IsClosedMap.closure_image_subset {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsClosedMap f) (s : Set X) :
theorem IsClosedMap.of_inverse {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {f' : Y โ†’ X} (h : Continuous f') (l_inv : Function.LeftInverse f f') (r_inv : Function.RightInverse f f') :
theorem IsClosedMap.of_nonempty {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (h : โˆ€ (s : Set X), IsClosed s โ†’ s.Nonempty โ†’ IsClosed (f '' s)) :
theorem IsClosedMap.isQuotientMap {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hcl : IsClosedMap f) (hcont : Continuous f) (hsurj : Function.Surjective f) :
theorem isClosedMap_iff_kernImage {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsClosedMap f โ†” โˆ€ {u : Set X}, IsOpen u โ†’ IsOpen (Set.kernImage f u)

A map is closed if and only if the Set.kernImage of every open set is open.

One way to understand this result is that f : X โ†’ Y is closed if and only if its fibers vary in an upper hemicontinuous way: for any open subset U โІ X, the set of all y โˆˆ Y such that f โปยน' {y} โІ U is open in Y. See isClosedMap_iff_upperHemicontinuous.

theorem isClosedMap_iff_closure_image {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsClosedMap f โ†” โˆ€ (s : Set X), closure (f '' s) โІ f '' closure s
theorem isClosedMap_iff_clusterPt {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsClosedMap f โ†” โˆ€ (s : Set X) (y : Y), MapClusterPt y (Filter.principal s) f โ†’ โˆƒ (x : X), f x = y โˆง ClusterPt x (Filter.principal s)

A map f : X โ†’ Y is closed if and only if for all sets s, any cluster point of f '' s is the image by f of some cluster point of s. If you require this for all filters instead of just principal filters, and also that f is continuous, you get the notion of proper map. See isProperMap_iff_clusterPt.

theorem IsClosedMap.comap_nhdsSet_le {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsClosedMap f โ†’ โˆ€ {s : Set Y}, Filter.comap f (nhdsSet s) โ‰ค nhdsSet (f โปยน' s)

Alias of the forward direction of isClosedMap_iff_comap_nhdsSet_le.

theorem IsClosedMap.comap_nhds_le {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] :
IsClosedMap f โ†’ โˆ€ {y : Y}, Filter.comap f (nhds y) โ‰ค nhdsSet (f โปยน' {y})

Alias of the forward direction of isClosedMap_iff_comap_nhds_le.

theorem IsClosedMap.comap_nhds_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsClosedMap f) (hf' : Continuous f) (y : Y) :
theorem IsClosedMap.comap_nhdsSet_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsClosedMap f) (hf' : Continuous f) (s : Set Y) :
theorem IsClosedMap.eventually_nhds_fiber {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsClosedMap f) {p : X โ†’ Prop} (yโ‚€ : Y) (H : โˆ€ xโ‚€ โˆˆ f โปยน' {yโ‚€}, โˆ€แถ  (x : X) in nhds xโ‚€, p x) :
โˆ€แถ  (y : Y) in nhds yโ‚€, โˆ€ x โˆˆ f โปยน' {y}, p x

Assume f is a closed map. If some property p holds around every point in the fiber of f at yโ‚€, then for any y close enough to yโ‚€ we have that p holds on the fiber at y.

theorem IsClosedMap.frequently_nhds_fiber {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsClosedMap f) {p : X โ†’ Prop} (yโ‚€ : Y) (H : โˆƒแถ  (y : Y) in nhds yโ‚€, โˆƒ x โˆˆ f โปยน' {y}, p x) :
โˆƒ xโ‚€ โˆˆ f โปยน' {yโ‚€}, โˆƒแถ  (x : X) in nhds xโ‚€, p x

Assume f is a closed map. If there are points y arbitrarily close to yโ‚€ such that p holds for at least some x โˆˆ f โปยน' {y}, then one can find xโ‚€ โˆˆ f โปยน' {yโ‚€} such that there are points x arbitrarily close to xโ‚€ which satisfy p.

theorem IsClosedMap.closure_image_eq_of_continuous {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (f_closed : IsClosedMap f) (f_cont : Continuous f) (s : Set X) :
closure (f '' s) = f '' closure s
theorem IsClosedMap.lift'_closure_map_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (f_closed : IsClosedMap f) (f_cont : Continuous f) (F : Filter X) :
theorem IsClosedMap.mapClusterPt_iff_lift'_closure {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {F : Filter X} (f_closed : IsClosedMap f) (f_cont : Continuous f) {y : Y} :
theorem Topology.IsOpenEmbedding.map_nhds_eq {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenEmbedding f) (x : X) :
Filter.map f (nhds x) = nhds (f x)
theorem Topology.IsOpenEmbedding.tendsto_nhds_iff {Y : Type u_2} {Z : Type u_3} {ฮน : Type u_4} {g : Y โ†’ Z} [TopologicalSpace Y] [TopologicalSpace Z] {f : ฮน โ†’ Y} {l : Filter ฮน} {y : Y} (hg : IsOpenEmbedding g) :
theorem Topology.IsOpenEmbedding.tendsto_nhds_iff' {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsOpenEmbedding f) {l : Filter Z} {x : X} :
theorem Topology.IsOpenEmbedding.continuousAt_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hf : IsOpenEmbedding f) {x : X} :

A surjective embedding is an IsOpenEmbedding.

theorem Topology.IsOpenEmbedding.of_isEmbedding {X : Type u_1} {Y : Type u_2} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] (hf : IsEmbedding f) (hsurj : Function.Surjective f) :

Alias of Topology.IsEmbedding.isOpenEmbedding_of_surjective.


A surjective embedding is an IsOpenEmbedding.

theorem Topology.IsOpenEmbedding.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsOpenEmbedding g) (hf : IsOpenEmbedding f) :
theorem Topology.IsOpenEmbedding.isOpenMap_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsOpenEmbedding g) :
theorem Topology.IsOpenEmbedding.of_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (f : X โ†’ Y) (hg : IsOpenEmbedding g) :
theorem Topology.IsOpenEmbedding.of_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (f : X โ†’ Y) (hg : IsOpenEmbedding g) (h : IsOpenEmbedding (g โˆ˜ f)) :
theorem Topology.IsOpenEmbedding.image_mem_nhds {X : Type u_1} {Y : Type u_2} [TopologicalSpace X] [TopologicalSpace Y] {f : X โ†’ Y} (hf : IsOpenEmbedding f) {s : Set X} {x : X} :
theorem Topology.IsClosedEmbedding.tendsto_nhds_iff {X : Type u_1} {Y : Type u_2} {ฮน : Type u_4} {f : X โ†’ Y} [TopologicalSpace X] [TopologicalSpace Y] {g : ฮน โ†’ X} {l : Filter ฮน} {x : X} (hf : IsClosedEmbedding f) :
theorem Topology.IsClosedEmbedding.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsClosedEmbedding g) (hf : IsClosedEmbedding f) :
theorem Topology.IsClosedEmbedding.of_comp_iff {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsClosedEmbedding g) :
theorem Topology.IsClosedEmbedding.of_comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} {f : X โ†’ Y} {g : Y โ†’ Z} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] (hg : IsEmbedding g) (hgf : IsClosedEmbedding (g โˆ˜ f)) :