File: Mathlib/Topology/Maps/Basic.lean

full_name: inducing_induced
code: theorem inducing_induced (f : X → Y) : @Inducing X Y (TopologicalSpace.induced f ‹_›) _ f 
goal: Inducing f

full_name: inducing_id
code: theorem inducing_id : Inducing (@id X) 
goal: Inducing id

full_name: Inducing.comp
code: protected theorem Inducing.comp (hg : Inducing g) (hf : Inducing f) :
    Inducing (g ∘ f) 
goal: Inducing (g ∘ f)

full_name: Inducing.of_comp_iff
code: theorem Inducing.of_comp_iff (hg : Inducing g) :
    Inducing (g ∘ f) ↔ Inducing f 
goal: Inducing (g ∘ f) ↔ Inducing f

full_name: inducing_of_inducing_compose
code: theorem inducing_of_inducing_compose
    (hf : Continuous f) (hg : Continuous g) (hgf : Inducing (g ∘ f)) : Inducing f 
goal: Inducing f

full_name: inducing_iff_nhds
code: theorem inducing_iff_nhds : Inducing f ↔ ∀ x, 𝓝 x = comap f (𝓝 (f x)) 
goal: Inducing f ↔ ∀ (x : X), 𝓝 x = Filter.comap f (𝓝 (f x))

full_name: Inducing.nhds_eq_comap
code: theorem nhds_eq_comap (hf : Inducing f) : ∀ x : X, 𝓝 x = comap f (𝓝 <| f x) 
goal: 𝓝 x = Filter.comap f (𝓝 (f x))

full_name: Inducing.basis_nhds
code: theorem basis_nhds {p : ι → Prop} {s : ι → Set Y} (hf : Inducing f) {x : X}
    (h_basis : (𝓝 (f x)).HasBasis p s) : (𝓝 x).HasBasis p (preimage f ∘ s) 
goal: (𝓝 x).HasBasis p (Set.preimage f ∘ s)

full_name: Inducing.nhdsSet_eq_comap
code: theorem nhdsSet_eq_comap (hf : Inducing f) (s : Set X) :
    𝓝ˢ s = comap f (𝓝ˢ (f '' s)) 
goal: 𝓝ˢ s = Filter.comap f (𝓝ˢ (f '' s))

full_name: Inducing.map_nhds_eq
code: theorem map_nhds_eq (hf : Inducing f) (x : X) : (𝓝 x).map f = 𝓝[range f] f x 
goal: Filter.map f (𝓝 x) = 𝓝[Set.range f] f x

full_name: Inducing.map_nhds_of_mem
code: theorem map_nhds_of_mem (hf : Inducing f) (x : X) (h : range f ∈ 𝓝 (f x)) :
    (𝓝 x).map f = 𝓝 (f x) 
goal: Filter.map f (𝓝 x) = 𝓝 (f x)

full_name: Inducing.mapClusterPt_iff
code: theorem mapClusterPt_iff (hf : Inducing f) {x : X} {l : Filter X} :
    MapClusterPt (f x) l f ↔ ClusterPt x l 
goal: MapClusterPt (f x) l f ↔ ClusterPt x l

full_name: Inducing.image_mem_nhdsWithin
code: theorem image_mem_nhdsWithin (hf : Inducing f) {x : X} {s : Set X} (hs : s ∈ 𝓝 x) :
    f '' s ∈ 𝓝[range f] f x 
goal: f '' s ∈ 𝓝[Set.range f] f x

full_name: Inducing.tendsto_nhds_iff
code: theorem tendsto_nhds_iff {f : ι → Y} {l : Filter ι} {y : Y} (hg : Inducing g) :
    Tendsto f l (𝓝 y) ↔ Tendsto (g ∘ f) l (𝓝 (g y)) 
goal: Filter.Tendsto f l (𝓝 y) ↔ Filter.Tendsto (g ∘ f) l (𝓝 (g y))

full_name: Inducing.continuousAt_iff
code: theorem continuousAt_iff (hg : Inducing g) {x : X} :
    ContinuousAt f x ↔ ContinuousAt (g ∘ f) x 
goal: ContinuousAt f x ↔ ContinuousAt (g ∘ f) x

full_name: Inducing.continuous_iff
code: theorem continuous_iff (hg : Inducing g) :
    Continuous f ↔ Continuous (g ∘ f) 
goal: Continuous f ↔ Continuous (g ∘ f)

full_name: Inducing.continuousAt_iff'
code: theorem continuousAt_iff' (hf : Inducing f) {x : X} (h : range f ∈ 𝓝 (f x)) :
    ContinuousAt (g ∘ f) x ↔ ContinuousAt g (f x) 
goal: ContinuousAt (g ∘ f) x ↔ ContinuousAt g (f x)

full_name: Inducing.continuous
code: protected theorem continuous (hf : Inducing f) : Continuous f 
goal: Continuous f

full_name: Inducing.closure_eq_preimage_closure_image
code: theorem closure_eq_preimage_closure_image (hf : Inducing f) (s : Set X) :
    closure s = f ⁻¹' closure (f '' s) 
goal: closure s = f ⁻¹' closure (f '' s)

full_name: Inducing.isClosed_iff
code: theorem isClosed_iff (hf : Inducing f) {s : Set X} :
    IsClosed s ↔ ∃ t, IsClosed t ∧ f ⁻¹' t = s 
goal: IsClosed s ↔ ∃ t, IsClosed t ∧ f ⁻¹' t = s

full_name: Inducing.isClosed_iff'
code: theorem isClosed_iff' (hf : Inducing f) {s : Set X} :
    IsClosed s ↔ ∀ x, f x ∈ closure (f '' s) → x ∈ s 
goal: IsClosed s ↔ ∀ (x : X), f x ∈ closure (f '' s) → x ∈ s

full_name: Inducing.isClosed_preimage
code: theorem isClosed_preimage (h : Inducing f) (s : Set Y) (hs : IsClosed s) :
    IsClosed (f ⁻¹' s) 
goal: IsClosed (f ⁻¹' s)

full_name: Inducing.isOpen_iff
code: theorem isOpen_iff (hf : Inducing f) {s : Set X} :
    IsOpen s ↔ ∃ t, IsOpen t ∧ f ⁻¹' t = s 
goal: IsOpen s ↔ ∃ t, IsOpen t ∧ f ⁻¹' t = s

full_name: Inducing.setOf_isOpen
code: theorem setOf_isOpen (hf : Inducing f) :
    {s : Set X | IsOpen s} = preimage f '' {t | IsOpen t} 
goal: {s | IsOpen s} = Set.preimage f '' {t | IsOpen t}

full_name: Inducing.dense_iff
code: theorem dense_iff (hf : Inducing f) {s : Set X} :
    Dense s ↔ ∀ x, f x ∈ closure (f '' s) 
goal: Dense s ↔ ∀ (x : X), f x ∈ closure (f '' s)

full_name: Inducing.of_subsingleton
code: theorem of_subsingleton [Subsingleton X] (f : X → Y) : Inducing f 
goal: Inducing f

full_name: Function.Injective.embedding_induced
code: theorem Function.Injective.embedding_induced [t : TopologicalSpace Y] (hf : Injective f) :
    @_root_.Embedding X Y (t.induced f) t f 
goal: Embedding f

full_name: Embedding.mk'
code: theorem Embedding.mk' (f : X → Y) (inj : Injective f) (induced : ∀ x, comap f (𝓝 (f x)) = 𝓝 x) :
    Embedding f 
goal: Embedding f

full_name: embedding_id
code: theorem embedding_id : Embedding (@id X) 
goal: Embedding id

full_name: Embedding.comp
code: protected theorem Embedding.comp (hg : Embedding g) (hf : Embedding f) :
    Embedding (g ∘ f) 
goal: Embedding (g ∘ f)

full_name: Embedding.of_comp_iff
code: theorem Embedding.of_comp_iff (hg : Embedding g) : Embedding (g ∘ f) ↔ Embedding f 
goal: Embedding (g ∘ f) ↔ Embedding f

full_name: embedding_of_embedding_compose
code: theorem embedding_of_embedding_compose
    (hf : Continuous f) (hg : Continuous g) (hgf : Embedding (g ∘ f)) : Embedding f 
goal: Embedding f

full_name: Function.LeftInverse.embedding
code: protected theorem Function.LeftInverse.embedding {f : X → Y} {g : Y → X} (h : LeftInverse f g)
    (hf : Continuous f) (hg : Continuous g) : _root_.Embedding g 
goal: Embedding g

full_name: Embedding.map_nhds_eq
code: theorem Embedding.map_nhds_eq (hf : Embedding f) (x : X) :
    (𝓝 x).map f = 𝓝[range f] f x 
goal: Filter.map f (𝓝 x) = 𝓝[Set.range f] f x

full_name: Embedding.map_nhds_of_mem
code: theorem Embedding.map_nhds_of_mem (hf : Embedding f) (x : X) (h : range f ∈ 𝓝 (f x)) :
    (𝓝 x).map f = 𝓝 (f x) 
goal: Filter.map f (𝓝 x) = 𝓝 (f x)

full_name: Embedding.tendsto_nhds_iff
code: theorem Embedding.tendsto_nhds_iff {f : ι → Y} {l : Filter ι} {y : Y}
    (hg : Embedding g) : Tendsto f l (𝓝 y) ↔ Tendsto (g ∘ f) l (𝓝 (g y)) 
goal: Filter.Tendsto f l (𝓝 y) ↔ Filter.Tendsto (g ∘ f) l (𝓝 (g y))

full_name: Embedding.continuous_iff
code: theorem Embedding.continuous_iff (hg : Embedding g) :
    Continuous f ↔ Continuous (g ∘ f) 
goal: Continuous f ↔ Continuous (g ∘ f)

full_name: Embedding.continuous
code: theorem Embedding.continuous (hf : Embedding f) : Continuous f 
goal: Continuous f

full_name: Embedding.closure_eq_preimage_closure_image
code: theorem Embedding.closure_eq_preimage_closure_image (hf : Embedding f) (s : Set X) :
    closure s = f ⁻¹' closure (f '' s) 
goal: closure s = f ⁻¹' closure (f '' s)

full_name: Embedding.discreteTopology
code: /-- 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 Embedding.discreteTopology [DiscreteTopology Y] (hf : Embedding f) : DiscreteTopology X 
goal: DiscreteTopology X

full_name: Embedding.of_subsingleton
code: theorem Embedding.of_subsingleton [Subsingleton X] (f : X → Y) : Embedding f 
goal: Embedding f

full_name: quotientMap_iff
code: theorem quotientMap_iff : QuotientMap f ↔ Surjective f ∧ ∀ s : Set Y, IsOpen s ↔ IsOpen (f ⁻¹' s) 
goal: QuotientMap f ↔ Function.Surjective f ∧ ∀ (s : Set Y), IsOpen s ↔ IsOpen (f ⁻¹' s)

full_name: quotientMap_iff_closed
code: theorem quotientMap_iff_closed :
    QuotientMap f ↔ Surjective f ∧ ∀ s : Set Y, IsClosed s ↔ IsClosed (f ⁻¹' s) 
goal: QuotientMap f ↔ Function.Surjective f ∧ ∀ (s : Set Y), IsClosed s ↔ IsClosed (f ⁻¹' s)

full_name: QuotientMap.id
code: protected theorem id : QuotientMap (@id X) 
goal: QuotientMap id

full_name: QuotientMap.comp
code: protected theorem comp (hg : QuotientMap g) (hf : QuotientMap f) : QuotientMap (g ∘ f) 
goal: QuotientMap (g ∘ f)

full_name: QuotientMap.of_quotientMap_compose
code: protected theorem of_quotientMap_compose (hf : Continuous f) (hg : Continuous g)
    (hgf : QuotientMap (g ∘ f)) : QuotientMap g 
goal: QuotientMap g

full_name: QuotientMap.of_inverse
code: theorem of_inverse {g : Y → X} (hf : Continuous f) (hg : Continuous g) (h : LeftInverse g f) :
    QuotientMap g 
goal: QuotientMap g

full_name: QuotientMap.continuous_iff
code: protected theorem continuous_iff (hf : QuotientMap f) : Continuous g ↔ Continuous (g ∘ f) 
goal: Continuous g ↔ Continuous (g ∘ f)

full_name: QuotientMap.continuous
code: protected theorem continuous (hf : QuotientMap f) : Continuous f 
goal: Continuous f

full_name: QuotientMap.surjective
code: protected theorem surjective (hf : QuotientMap f) : Surjective f 
goal: Function.Surjective f

full_name: QuotientMap.isOpen_preimage
code: protected theorem isOpen_preimage (hf : QuotientMap f) {s : Set Y} : IsOpen (f ⁻¹' s) ↔ IsOpen s 
goal: IsOpen (f ⁻¹' s) ↔ IsOpen s

full_name: QuotientMap.isClosed_preimage
code: protected theorem isClosed_preimage (hf : QuotientMap f) {s : Set Y} :
    IsClosed (f ⁻¹' s) ↔ IsClosed s 
goal: IsClosed (f ⁻¹' s) ↔ IsClosed s

full_name: IsOpenMap.id
code: protected theorem id : IsOpenMap (@id X) 
goal: IsOpenMap id

full_name: IsOpenMap.comp
code: protected theorem comp (hg : IsOpenMap g) (hf : IsOpenMap f) :
    IsOpenMap (g ∘ f) 
goal: IsOpenMap (g ∘ f)

full_name: IsOpenMap.isOpen_range
code: theorem isOpen_range (hf : IsOpenMap f) : IsOpen (range f) 
goal: IsOpen (Set.range f)

full_name: IsOpenMap.image_mem_nhds
code: theorem image_mem_nhds (hf : IsOpenMap f) {x : X} {s : Set X} (hx : s ∈ 𝓝 x) : f '' s ∈ 𝓝 (f x) 
goal: f '' s ∈ 𝓝 (f x)

full_name: IsOpenMap.range_mem_nhds
code: theorem range_mem_nhds (hf : IsOpenMap f) (x : X) : range f ∈ 𝓝 (f x) 
goal: Set.range f ∈ 𝓝 (f x)

full_name: IsOpenMap.mapsTo_interior
code: theorem mapsTo_interior (hf : IsOpenMap f) {s : Set X} {t : Set Y} (h : MapsTo f s t) :
    MapsTo f (interior s) (interior t) 
goal: Set.MapsTo f (interior s) (interior t)

full_name: IsOpenMap.image_interior_subset
code: theorem image_interior_subset (hf : IsOpenMap f) (s : Set X) :
    f '' interior s ⊆ interior (f '' s) 
goal: f '' interior s ⊆ interior (f '' s)

full_name: IsOpenMap.nhds_le
code: theorem nhds_le (hf : IsOpenMap f) (x : X) : 𝓝 (f x) ≤ (𝓝 x).map f 
goal: 𝓝 (f x) ≤ Filter.map f (𝓝 x)

full_name: IsOpenMap.of_nhds_le
code: theorem of_nhds_le (hf : ∀ x, 𝓝 (f x) ≤ map f (𝓝 x)) : IsOpenMap f 
goal: IsOpenMap f

full_name: IsOpenMap.of_sections
code: theorem of_sections
    (h : ∀ x, ∃ g : Y → X, ContinuousAt g (f x) ∧ g (f x) = x ∧ RightInverse g f) : IsOpenMap f 
goal: IsOpenMap f

full_name: IsOpenMap.of_inverse
code: theorem of_inverse {f' : Y → X} (h : Continuous f') (l_inv : LeftInverse f f')
    (r_inv : RightInverse f f') : IsOpenMap f 
goal: IsOpenMap f

full_name: IsOpenMap.to_quotientMap
code: /-- A continuous surjective open map is a quotient map. -/
theorem to_quotientMap (open_map : IsOpenMap f) (cont : Continuous f) (surj : Surjective f) :
    QuotientMap f 
goal: QuotientMap f

full_name: IsOpenMap.interior_preimage_subset_preimage_interior
code: theorem interior_preimage_subset_preimage_interior (hf : IsOpenMap f) {s : Set Y} :
    interior (f ⁻¹' s) ⊆ f ⁻¹' interior s 
goal: interior (f ⁻¹' s) ⊆ f ⁻¹' interior s

full_name: IsOpenMap.preimage_interior_eq_interior_preimage
code: theorem preimage_interior_eq_interior_preimage (hf₁ : IsOpenMap f) (hf₂ : Continuous f)
    (s : Set Y) : f ⁻¹' interior s = interior (f ⁻¹' s) 
goal: f ⁻¹' interior s = interior (f ⁻¹' s)

full_name: IsOpenMap.preimage_closure_subset_closure_preimage
code: theorem preimage_closure_subset_closure_preimage (hf : IsOpenMap f) {s : Set Y} :
    f ⁻¹' closure s ⊆ closure (f ⁻¹' s) 
goal: f ⁻¹' closure s ⊆ closure (f ⁻¹' s)

full_name: IsOpenMap.preimage_closure_eq_closure_preimage
code: theorem preimage_closure_eq_closure_preimage (hf : IsOpenMap f) (hfc : Continuous f) (s : Set Y) :
    f ⁻¹' closure s = closure (f ⁻¹' s) 
goal: f ⁻¹' closure s = closure (f ⁻¹' s)

full_name: IsOpenMap.preimage_frontier_subset_frontier_preimage
code: theorem preimage_frontier_subset_frontier_preimage (hf : IsOpenMap f) {s : Set Y} :
    f ⁻¹' frontier s ⊆ frontier (f ⁻¹' s) 
goal: f ⁻¹' frontier s ⊆ frontier (f ⁻¹' s)

full_name: IsOpenMap.preimage_frontier_eq_frontier_preimage
code: theorem preimage_frontier_eq_frontier_preimage (hf : IsOpenMap f) (hfc : Continuous f) (s : Set Y) :
    f ⁻¹' frontier s = frontier (f ⁻¹' s) 
goal: f ⁻¹' frontier s = frontier (f ⁻¹' s)

full_name: IsOpenMap.of_isEmpty
code: theorem of_isEmpty [h : IsEmpty X] (f : X → Y) : IsOpenMap f 
goal: IsOpenMap f

full_name: isOpenMap_iff_nhds_le
code: theorem isOpenMap_iff_nhds_le : IsOpenMap f ↔ ∀ x : X, 𝓝 (f x) ≤ (𝓝 x).map f 
goal: IsOpenMap f ↔ ∀ (x : X), 𝓝 (f x) ≤ Filter.map f (𝓝 x)

full_name: isOpenMap_iff_interior
code: theorem isOpenMap_iff_interior : IsOpenMap f ↔ ∀ s, f '' interior s ⊆ interior (f '' s) 
goal: IsOpenMap f ↔ ∀ (s : Set X), f '' interior s ⊆ interior (f '' s)

full_name: Inducing.isOpenMap
code: /-- An inducing map with an open range is an open map. -/
protected theorem Inducing.isOpenMap (hi : Inducing f) (ho : IsOpen (range f)) : IsOpenMap f 
goal: IsOpenMap f

full_name: IsClosedMap.id
code: protected theorem id : IsClosedMap (@id X) 
goal: IsClosedMap id

full_name: IsClosedMap.comp
code: protected theorem comp (hg : IsClosedMap g) (hf : IsClosedMap f) : IsClosedMap (g ∘ f) 
goal: IsClosedMap (g ∘ f)

full_name: IsClosedMap.closure_image_subset
code: theorem closure_image_subset (hf : IsClosedMap f) (s : Set X) :
    closure (f '' s) ⊆ f '' closure s 
goal: closure (f '' s) ⊆ f '' closure s

full_name: IsClosedMap.of_inverse
code: theorem of_inverse {f' : Y → X} (h : Continuous f') (l_inv : LeftInverse f f')
    (r_inv : RightInverse f f') : IsClosedMap f 
goal: IsClosedMap f

full_name: IsClosedMap.of_nonempty
code: theorem of_nonempty (h : ∀ s, IsClosed s → s.Nonempty → IsClosed (f '' s)) :
    IsClosedMap f 
goal: IsClosedMap f

full_name: IsClosedMap.isClosed_range
code: theorem isClosed_range (hf : IsClosedMap f) : IsClosed (range f) 
goal: IsClosed (Set.range f)

full_name: IsClosedMap.to_quotientMap
code: theorem to_quotientMap (hcl : IsClosedMap f) (hcont : Continuous f)
    (hsurj : Surjective f) : QuotientMap f 
goal: QuotientMap f

full_name: Inducing.isClosedMap
code: theorem Inducing.isClosedMap (hf : Inducing f) (h : IsClosed (range f)) : IsClosedMap f 
goal: IsClosedMap f

full_name: isClosedMap_iff_closure_image
code: theorem isClosedMap_iff_closure_image :
    IsClosedMap f ↔ ∀ s, closure (f '' s) ⊆ f '' closure s 
goal: IsClosedMap f ↔ ∀ (s : Set X), closure (f '' s) ⊆ f '' closure s

full_name: isClosedMap_iff_clusterPt
code: /-- 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_iff_clusterPt :
    IsClosedMap f ↔ ∀ s y, MapClusterPt y (𝓟 s) f → ∃ x, f x = y ∧ ClusterPt x (𝓟 s) 
goal: IsClosedMap f ↔ ∀ (s : Set X) (y : Y), MapClusterPt y (𝓟 s) f → ∃ x, f x = y ∧ ClusterPt x (𝓟 s)

full_name: IsClosedMap.closure_image_eq_of_continuous
code: theorem IsClosedMap.closure_image_eq_of_continuous
    (f_closed : IsClosedMap f) (f_cont : Continuous f) (s : Set X) :
    closure (f '' s) = f '' closure s 
goal: closure (f '' s) = f '' closure s

full_name: IsClosedMap.lift'_closure_map_eq
code: theorem IsClosedMap.lift'_closure_map_eq
    (f_closed : IsClosedMap f) (f_cont : Continuous f) (F : Filter X) :
    (map f F).lift' closure = map f (F.lift' closure) 
goal: (Filter.map f F).lift' closure = Filter.map f (F.lift' closure)

full_name: IsClosedMap.mapClusterPt_iff_lift'_closure
code: theorem IsClosedMap.mapClusterPt_iff_lift'_closure
    {F : Filter X} (f_closed : IsClosedMap f) (f_cont : Continuous f) {y : Y} :
    MapClusterPt y F f ↔ ((F.lift' closure) ⊓ 𝓟 (f ⁻¹' {y})).NeBot 
goal: MapClusterPt y F f ↔ (F.lift' closure ⊓ 𝓟 (f ⁻¹' {y})).NeBot

full_name: OpenEmbedding.isOpenMap
code: theorem OpenEmbedding.isOpenMap (hf : OpenEmbedding f) : IsOpenMap f 
goal: IsOpenMap f

full_name: OpenEmbedding.map_nhds_eq
code: theorem OpenEmbedding.map_nhds_eq (hf : OpenEmbedding f) (x : X) :
    map f (𝓝 x) = 𝓝 (f x) 
goal: Filter.map f (𝓝 x) = 𝓝 (f x)

full_name: OpenEmbedding.open_iff_image_open
code: theorem OpenEmbedding.open_iff_image_open (hf : OpenEmbedding f) {s : Set X} :
    IsOpen s ↔ IsOpen (f '' s) 
goal: IsOpen s ↔ IsOpen (f '' s)

full_name: OpenEmbedding.tendsto_nhds_iff
code: theorem OpenEmbedding.tendsto_nhds_iff {f : ι → Y} {l : Filter ι} {y : Y} (hg : OpenEmbedding g) :
    Tendsto f l (𝓝 y) ↔ Tendsto (g ∘ f) l (𝓝 (g y)) 
goal: Filter.Tendsto f l (𝓝 y) ↔ Filter.Tendsto (g ∘ f) l (𝓝 (g y))

full_name: OpenEmbedding.tendsto_nhds_iff'
code: theorem OpenEmbedding.tendsto_nhds_iff' (hf : OpenEmbedding f) {l : Filter Z} {x : X} :
    Tendsto (g ∘ f) (𝓝 x) l ↔ Tendsto g (𝓝 (f x)) l 
goal: Filter.Tendsto (g ∘ f) (𝓝 x) l ↔ Filter.Tendsto g (𝓝 (f x)) l

full_name: OpenEmbedding.continuousAt_iff
code: theorem OpenEmbedding.continuousAt_iff (hf : OpenEmbedding f) {x : X} :
    ContinuousAt (g ∘ f) x ↔ ContinuousAt g (f x) 
goal: ContinuousAt (g ∘ f) x ↔ ContinuousAt g (f x)

full_name: OpenEmbedding.continuous
code: theorem OpenEmbedding.continuous (hf : OpenEmbedding f) : Continuous f 
goal: Continuous f

full_name: OpenEmbedding.open_iff_preimage_open
code: theorem OpenEmbedding.open_iff_preimage_open (hf : OpenEmbedding f) {s : Set Y}
    (hs : s ⊆ range f) : IsOpen s ↔ IsOpen (f ⁻¹' s) 
goal: IsOpen s ↔ IsOpen (f ⁻¹' s)

full_name: openEmbedding_of_embedding_open
code: theorem openEmbedding_of_embedding_open (h₁ : Embedding f) (h₂ : IsOpenMap f) :
    OpenEmbedding f 
goal: OpenEmbedding f

full_name: Embedding.toOpenEmbedding_of_surjective
code: /-- A surjective embedding is an `OpenEmbedding`. -/
theorem _root_.Embedding.toOpenEmbedding_of_surjective (hf : Embedding f) (hsurj : f.Surjective) :
    OpenEmbedding f 
goal: OpenEmbedding f

full_name: openEmbedding_iff_embedding_open
code: theorem openEmbedding_iff_embedding_open :
    OpenEmbedding f ↔ Embedding f ∧ IsOpenMap f 
goal: OpenEmbedding f ↔ Embedding f ∧ IsOpenMap f

full_name: openEmbedding_of_continuous_injective_open
code: theorem openEmbedding_of_continuous_injective_open
    (h₁ : Continuous f) (h₂ : Injective f) (h₃ : IsOpenMap f) : OpenEmbedding f 
goal: OpenEmbedding f

full_name: openEmbedding_iff_continuous_injective_open
code: theorem openEmbedding_iff_continuous_injective_open :
    OpenEmbedding f ↔ Continuous f ∧ Injective f ∧ IsOpenMap f 
goal: OpenEmbedding f ↔ Continuous f ∧ Function.Injective f ∧ IsOpenMap f

full_name: openEmbedding_id
code: theorem openEmbedding_id : OpenEmbedding (@id X) 
goal: OpenEmbedding id

full_name: OpenEmbedding.comp
code: protected theorem comp (hg : OpenEmbedding g)
    (hf : OpenEmbedding f) : OpenEmbedding (g ∘ f) 
goal: OpenEmbedding (g ∘ f)

full_name: OpenEmbedding.isOpenMap_iff
code: theorem isOpenMap_iff (hg : OpenEmbedding g) :
    IsOpenMap f ↔ IsOpenMap (g ∘ f) 
goal: IsOpenMap f ↔ IsOpenMap (g ∘ f)

full_name: OpenEmbedding.of_comp_iff
code: theorem of_comp_iff (f : X → Y) (hg : OpenEmbedding g) :
    OpenEmbedding (g ∘ f) ↔ OpenEmbedding f 
goal: OpenEmbedding (g ∘ f) ↔ OpenEmbedding f

full_name: OpenEmbedding.of_comp
code: theorem of_comp (f : X → Y) (hg : OpenEmbedding g)
    (h : OpenEmbedding (g ∘ f)) : OpenEmbedding f 
goal: OpenEmbedding f

full_name: OpenEmbedding.of_isEmpty
code: theorem of_isEmpty [IsEmpty X] (f : X → Y) : OpenEmbedding f 
goal: OpenEmbedding f

full_name: ClosedEmbedding.tendsto_nhds_iff
code: theorem tendsto_nhds_iff {g : ι → X} {l : Filter ι} {x : X} (hf : ClosedEmbedding f) :
    Tendsto g l (𝓝 x) ↔ Tendsto (f ∘ g) l (𝓝 (f x)) 
goal: Filter.Tendsto g l (𝓝 x) ↔ Filter.Tendsto (f ∘ g) l (𝓝 (f x))

full_name: ClosedEmbedding.continuous
code: theorem continuous (hf : ClosedEmbedding f) : Continuous f 
goal: Continuous f

full_name: ClosedEmbedding.isClosedMap
code: theorem isClosedMap (hf : ClosedEmbedding f) : IsClosedMap f 
goal: IsClosedMap f

full_name: ClosedEmbedding.closed_iff_image_closed
code: theorem closed_iff_image_closed (hf : ClosedEmbedding f) {s : Set X} :
    IsClosed s ↔ IsClosed (f '' s) 
goal: IsClosed s ↔ IsClosed (f '' s)

full_name: ClosedEmbedding.closed_iff_preimage_closed
code: theorem closed_iff_preimage_closed (hf : ClosedEmbedding f) {s : Set Y}
    (hs : s ⊆ range f) : IsClosed s ↔ IsClosed (f ⁻¹' s) 
goal: IsClosed s ↔ IsClosed (f ⁻¹' s)

full_name: closedEmbedding_of_embedding_closed
code: theorem _root_.closedEmbedding_of_embedding_closed (h₁ : Embedding f) (h₂ : IsClosedMap f) :
    ClosedEmbedding f 
goal: ClosedEmbedding f

full_name: closedEmbedding_of_continuous_injective_closed
code: theorem _root_.closedEmbedding_of_continuous_injective_closed (h₁ : Continuous f) (h₂ : Injective f)
    (h₃ : IsClosedMap f) : ClosedEmbedding f 
goal: ClosedEmbedding f

full_name: closedEmbedding_id
code: theorem _root_.closedEmbedding_id : ClosedEmbedding (@id X) 
goal: ClosedEmbedding id

full_name: ClosedEmbedding.comp
code: theorem comp (hg : ClosedEmbedding g) (hf : ClosedEmbedding f) :
    ClosedEmbedding (g ∘ f) 
goal: ClosedEmbedding (g ∘ f)

full_name: ClosedEmbedding.of_comp_iff
code: theorem of_comp_iff (hg : ClosedEmbedding g) :
    ClosedEmbedding (g ∘ f) ↔ ClosedEmbedding f 
goal: ClosedEmbedding (g ∘ f) ↔ ClosedEmbedding f

full_name: ClosedEmbedding.closure_image_eq
code: theorem closure_image_eq (hf : ClosedEmbedding f) (s : Set X) :
    closure (f '' s) = f '' closure s 
goal: closure (f '' s) = f '' closure s