File: Mathlib/Topology/IsLocalHomeomorph.lean

full_name: IsLocalHomeomorphOn
code: /-- A function `f : X → Y` satisfies `IsLocalHomeomorphOn f s` if each `x ∈ s` is contained in
the source of some `e : PartialHomeomorph X Y` with `f = e`. -/
def IsLocalHomeomorphOn 
goal: Prop

full_name: isLocalHomeomorphOn_iff_openEmbedding_restrict
code: theorem isLocalHomeomorphOn_iff_openEmbedding_restrict {f : X → Y} :
    IsLocalHomeomorphOn f s ↔ ∀ x ∈ s, ∃ U ∈ 𝓝 x, OpenEmbedding (U.restrict f) 
goal: IsLocalHomeomorphOn f s ↔ ∀ x ∈ s, ∃ U ∈ 𝓝 x, OpenEmbedding (U.restrict f)

full_name: IsLocalHomeomorphOn.mk
code: /-- Proves that `f` satisfies `IsLocalHomeomorphOn f s`. The condition `h` is weaker than the
definition of `IsLocalHomeomorphOn f s`, since it only requires `e : PartialHomeomorph X Y` to
agree with `f` on its source `e.source`, as opposed to on the whole space `X`. -/
theorem mk (h : ∀ x ∈ s, ∃ e : PartialHomeomorph X Y, x ∈ e.source ∧ Set.EqOn f e e.source) :
    IsLocalHomeomorphOn f s 
goal: IsLocalHomeomorphOn f s

full_name: IsLocalHomeomorphOn.PartialHomeomorph.isLocalHomeomorphOn
code: /-- A `PartialHomeomorph` is a local homeomorphism on its source. -/
lemma PartialHomeomorph.isLocalHomeomorphOn (e : PartialHomeomorph X Y) :
    IsLocalHomeomorphOn e e.source 
goal: IsLocalHomeomorphOn (↑e) e.source

full_name: IsLocalHomeomorphOn.mono
code: theorem mono {t : Set X} (hf : IsLocalHomeomorphOn f t) (hst : s ⊆ t) : IsLocalHomeomorphOn f s 
goal: IsLocalHomeomorphOn f s

full_name: IsLocalHomeomorphOn.of_comp_left
code: theorem of_comp_left (hgf : IsLocalHomeomorphOn (g ∘ f) s) (hg : IsLocalHomeomorphOn g (f '' s))
    (cont : ∀ x ∈ s, ContinuousAt f x) : IsLocalHomeomorphOn f s 
goal: IsLocalHomeomorphOn f s

full_name: IsLocalHomeomorphOn.of_comp_right
code: theorem of_comp_right (hgf : IsLocalHomeomorphOn (g ∘ f) s) (hf : IsLocalHomeomorphOn f s) :
    IsLocalHomeomorphOn g (f '' s) 
goal: IsLocalHomeomorphOn g (f '' s)

full_name: IsLocalHomeomorphOn.map_nhds_eq
code: theorem map_nhds_eq (hf : IsLocalHomeomorphOn f s) {x : X} (hx : x ∈ s) : (𝓝 x).map f = 𝓝 (f x) 
goal: Filter.map f (𝓝 x) = 𝓝 (f x)

full_name: IsLocalHomeomorphOn.continuousAt
code: protected theorem continuousAt (hf : IsLocalHomeomorphOn f s) {x : X} (hx : x ∈ s) :
    ContinuousAt f x 
goal: ContinuousAt f x

full_name: IsLocalHomeomorphOn.continuousOn
code: protected theorem continuousOn (hf : IsLocalHomeomorphOn f s) : ContinuousOn f s 
goal: ContinuousOn f s

full_name: IsLocalHomeomorphOn.comp
code: protected theorem comp (hg : IsLocalHomeomorphOn g t) (hf : IsLocalHomeomorphOn f s)
    (h : Set.MapsTo f s t) : IsLocalHomeomorphOn (g ∘ f) s 
goal: IsLocalHomeomorphOn (g ∘ f) s

full_name: IsLocalHomeomorph
code: /-- A function `f : X → Y` satisfies `IsLocalHomeomorph f` if each `x : x` is contained in
  the source of some `e : PartialHomeomorph X Y` with `f = e`. -/
def IsLocalHomeomorph 
goal: Prop

full_name: Homeomorph.isLocalHomeomorph
code: theorem Homeomorph.isLocalHomeomorph (f : X ≃ₜ Y) : IsLocalHomeomorph f 
goal: IsLocalHomeomorph ⇑f

full_name: isLocalHomeomorph_iff_isLocalHomeomorphOn_univ
code: theorem isLocalHomeomorph_iff_isLocalHomeomorphOn_univ :
    IsLocalHomeomorph f ↔ IsLocalHomeomorphOn f Set.univ 
goal: IsLocalHomeomorph f ↔ IsLocalHomeomorphOn f Set.univ

full_name: IsLocalHomeomorph.isLocalHomeomorphOn
code: protected theorem IsLocalHomeomorph.isLocalHomeomorphOn (hf : IsLocalHomeomorph f) :
    IsLocalHomeomorphOn f s 
goal: IsLocalHomeomorphOn f s

full_name: isLocalHomeomorph_iff_openEmbedding_restrict
code: theorem isLocalHomeomorph_iff_openEmbedding_restrict {f : X → Y} :
    IsLocalHomeomorph f ↔ ∀ x : X, ∃ U ∈ 𝓝 x, OpenEmbedding (U.restrict f) 
goal: IsLocalHomeomorph f ↔ ∀ (x : X), ∃ U ∈ 𝓝 x, OpenEmbedding (U.restrict f)

full_name: OpenEmbedding.isLocalHomeomorph
code: theorem OpenEmbedding.isLocalHomeomorph (hf : OpenEmbedding f) : IsLocalHomeomorph f 
goal: IsLocalHomeomorph f

full_name: IsLocalHomeomorph.mk
code: /-- Proves that `f` satisfies `IsLocalHomeomorph f`. The condition `h` is weaker than the
definition of `IsLocalHomeomorph f`, since it only requires `e : PartialHomeomorph X Y` to
agree with `f` on its source `e.source`, as opposed to on the whole space `X`. -/
theorem mk (h : ∀ x : X, ∃ e : PartialHomeomorph X Y, x ∈ e.source ∧ Set.EqOn f e e.source) :
    IsLocalHomeomorph f 
goal: IsLocalHomeomorph f

full_name: IsLocalHomeomorph.Homeomorph.isLocalHomeomorph
code: /-- A homeomorphism is a local homeomorphism. -/
lemma Homeomorph.isLocalHomeomorph (h : X ≃ₜ Y) : IsLocalHomeomorph h 
goal: IsLocalHomeomorph ⇑h

full_name: IsLocalHomeomorph.isLocallyInjective
code: lemma isLocallyInjective (hf : IsLocalHomeomorph f) : IsLocallyInjective f 
goal: IsLocallyInjective f

full_name: IsLocalHomeomorph.of_comp
code: theorem of_comp (hgf : IsLocalHomeomorph (g ∘ f)) (hg : IsLocalHomeomorph g)
    (cont : Continuous f) : IsLocalHomeomorph f 
goal: IsLocalHomeomorph f

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

full_name: IsLocalHomeomorph.continuous
code: /-- A local homeomorphism is continuous. -/
protected theorem continuous (hf : IsLocalHomeomorph f) : Continuous f 
goal: Continuous f

full_name: IsLocalHomeomorph.isOpenMap
code: /-- A local homeomorphism is an open map. -/
protected theorem isOpenMap (hf : IsLocalHomeomorph f) : IsOpenMap f 
goal: IsOpenMap f

full_name: IsLocalHomeomorph.comp
code: /-- The composition of local homeomorphisms is a local homeomorphism. -/
protected theorem comp (hg : IsLocalHomeomorph g) (hf : IsLocalHomeomorph f) :
    IsLocalHomeomorph (g ∘ f) 
goal: IsLocalHomeomorph (g ∘ f)

full_name: IsLocalHomeomorph.openEmbedding_of_injective
code: /-- An injective local homeomorphism is an open embedding. -/
theorem openEmbedding_of_injective (hf : IsLocalHomeomorph f) (hi : f.Injective) :
    OpenEmbedding f 
goal: OpenEmbedding f

full_name: Embedding.toHomeomeomorph_of_surjective
code: /-- A surjective embedding is a homeomorphism. -/
noncomputable def _root_.Embedding.toHomeomeomorph_of_surjective (hf : Embedding f)
    (hsurj : Function.Surjective f) : X ≃ₜ Y 
goal: X ≃ₜ Y

full_name: IsLocalHomeomorph.toHomeomorph_of_bijective
code: /-- A bijective local homeomorphism is a homeomorphism. -/
noncomputable def toHomeomorph_of_bijective (hf : IsLocalHomeomorph f) (hb : f.Bijective) :
    X ≃ₜ Y 
goal: X ≃ₜ Y

full_name: IsLocalHomeomorph.openEmbedding_of_comp
code: /-- Continuous local sections of a local homeomorphism are open embeddings. -/
theorem openEmbedding_of_comp (hf : IsLocalHomeomorph g) (hgf : OpenEmbedding (g ∘ f))
    (cont : Continuous f) : OpenEmbedding f 
goal: OpenEmbedding f

full_name: IsLocalHomeomorph.isTopologicalBasis
code: /-- Ranges of continuous local sections of a local homeomorphism
form a basis of the source space. -/
theorem isTopologicalBasis (hf : IsLocalHomeomorph f) : IsTopologicalBasis
    {U : Set X | ∃ V : Set Y, IsOpen V ∧ ∃ s : C(V,X), f ∘ s = (↑) ∧ Set.range s = U} 
goal: TopologicalSpace.IsTopologicalBasis {U | ∃ V, IsOpen V ∧ ∃ s, f ∘ ⇑s = Subtype.val ∧ Set.range ⇑s = U}