Documentation

Mathlib.Topology.UniformSpace.UniformEmbedding

Uniform embeddings of uniform spaces. #

Extension of uniform continuous functions.

Uniform inducing maps #

structure IsUniformInducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] (f : αβ) :

A map f : α → β between uniform spaces is called uniform inducing if the uniformity filter on α is the pullback of the uniformity filter on β under Prod.map f f. If α is a separated space, then this implies that f is injective, hence it is a IsUniformEmbedding.

Instances For
    theorem isUniformInducing_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] (f : αβ) :
    IsUniformInducing f Filter.comap (fun (x : α × α) => (f x.1, f x.2)) (uniformity β) = uniformity α
    theorem isUniformInducing_iff_uniformSpace {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} :
    theorem IsUniformInducing.comap_uniformSpace {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} :
    IsUniformInducing fUniformSpace.comap f inst✝ = inst✝¹

    Alias of the forward direction of isUniformInducing_iff_uniformSpace.

    theorem Filter.HasBasis.isUniformInducing_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {ι : Sort u_1} {ι' : Sort u_2} {p : ιProp} {p' : ι'Prop} {s : ιSet (α × α)} {s' : ι'Set (β × β)} (h : (uniformity α).HasBasis p s) (h' : (uniformity β).HasBasis p' s') {f : αβ} :
    IsUniformInducing f (∀ (i : ι'), p' i∃ (j : ι), p j ∀ (x y : α), (x, y) s j(f x, f y) s' i) ∀ (j : ι), p j∃ (i : ι'), p' i ∀ (x y : α), (f x, f y) s' i(x, y) s j
    theorem IsUniformInducing.mk' {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : ∀ (s : Set (α × α)), s uniformity α tuniformity β, ∀ (x y : α), (f x, f y) t(x, y) s) :
    theorem IsUniformInducing.comp {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {g : βγ} (hg : IsUniformInducing g) {f : αβ} (hf : IsUniformInducing f) :
    theorem IsUniformInducing.of_comp_iff {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {g : βγ} (hg : IsUniformInducing g) {f : αβ} :
    theorem IsUniformInducing.basis_uniformity {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (hf : IsUniformInducing f) {ι : Sort u_1} {p : ιProp} {s : ιSet (β × β)} (H : (uniformity β).HasBasis p s) :
    (uniformity α).HasBasis p fun (i : ι) => Prod.map f f ⁻¹' s i
    theorem IsUniformInducing.cauchy_map_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (hf : IsUniformInducing f) {F : Filter α} :
    theorem IsUniformInducing.of_comp {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {f : αβ} {g : βγ} (hf : UniformContinuous f) (hg : UniformContinuous g) (hgf : IsUniformInducing (g f)) :
    theorem IsUniformInducing.uniformContinuous_iff {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {f : αβ} {g : βγ} (hg : IsUniformInducing g) :
    theorem IsUniformInducing.isUniformInducing_comp_iff {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {f : αβ} {g : βγ} (hg : IsUniformInducing g) :
    theorem IsUniformInducing.uniformContinuousOn_iff {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {f : αβ} {g : βγ} {S : Set α} (hg : IsUniformInducing g) :
    theorem IsUniformInducing.isInducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformInducing f) :
    @[deprecated IsUniformInducing.isInducing (since := "2024-10-28")]
    theorem IsUniformInducing.inducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformInducing f) :

    Alias of IsUniformInducing.isInducing.

    @[deprecated IsUniformInducing.isInducing (since := "2024-10-28")]
    theorem UniformInducing.inducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformInducing f) :

    Alias of IsUniformInducing.isInducing.

    theorem IsUniformInducing.prod {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {α' : Type u_1} {β' : Type u_2} [UniformSpace α'] [UniformSpace β'] {e₁ : αα'} {e₂ : ββ'} (h₁ : IsUniformInducing e₁) (h₂ : IsUniformInducing e₂) :
    IsUniformInducing fun (p : α × β) => (e₁ p.1, e₂ p.2)
    theorem IsUniformInducing.isDenseInducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformInducing f) (hd : DenseRange f) :
    theorem IsUniformInducing.injective {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] [T0Space α] {f : αβ} (h : IsUniformInducing f) :

    Uniform embeddings #

    structure IsUniformEmbedding {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] (f : αβ) extends IsUniformInducing f :

    A map f : α → β between uniform spaces is a uniform embedding if it is uniform inducing and injective. If α is a separated space, then the latter assumption follows from the former.

    Instances For
      theorem Filter.HasBasis.isUniformEmbedding_iff' {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {ι : Sort u_1} {ι' : Sort u_2} {p : ιProp} {p' : ι'Prop} {s : ιSet (α × α)} {s' : ι'Set (β × β)} (h : (uniformity α).HasBasis p s) (h' : (uniformity β).HasBasis p' s') {f : αβ} :
      IsUniformEmbedding f Function.Injective f (∀ (i : ι'), p' i∃ (j : ι), p j ∀ (x y : α), (x, y) s j(f x, f y) s' i) ∀ (j : ι), p j∃ (i : ι'), p' i ∀ (x y : α), (f x, f y) s' i(x, y) s j
      theorem Filter.HasBasis.isUniformEmbedding_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {ι : Sort u_1} {ι' : Sort u_2} {p : ιProp} {p' : ι'Prop} {s : ιSet (α × α)} {s' : ι'Set (β × β)} (h : (uniformity α).HasBasis p s) (h' : (uniformity β).HasBasis p' s') {f : αβ} :
      IsUniformEmbedding f Function.Injective f UniformContinuous f ∀ (j : ι), p j∃ (i : ι'), p' i ∀ (x y : α), (f x, f y) s' i(x, y) s j
      theorem IsUniformEmbedding.comp {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {g : βγ} (hg : IsUniformEmbedding g) {f : αβ} (hf : IsUniformEmbedding f) :
      theorem IsUniformEmbedding.of_comp_iff {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {g : βγ} (hg : IsUniformEmbedding g) {f : αβ} :
      theorem Equiv.isUniformEmbedding {α : Type u_1} {β : Type u_2} [UniformSpace α] [UniformSpace β] (f : α β) (h₁ : UniformContinuous f) (h₂ : UniformContinuous f.symm) :
      theorem IsUniformInducing.isUniformEmbedding {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] [T0Space α] {f : αβ} (hf : IsUniformInducing f) :

      If the domain of a IsUniformInducing map f is a T₀ space, then f is injective, hence it is a IsUniformEmbedding.

      theorem comap_uniformity_of_spaced_out {β : Type v} [UniformSpace β] {α : Type u_1} {f : αβ} {s : Set (β × β)} (hs : s uniformity β) (hf : Pairwise fun (x y : α) => (f x, f y)s) :

      If a map f : α → β sends any two distinct points to point that are not related by a fixed s ∈ 𝓤 β, then f is uniform inducing with respect to the discrete uniformity on α: the preimage of 𝓤 β under Prod.map f f is the principal filter generated by the diagonal in α × α.

      theorem isUniformEmbedding_of_spaced_out {β : Type v} [UniformSpace β] {α : Type u_1} {f : αβ} {s : Set (β × β)} (hs : s uniformity β) (hf : Pairwise fun (x y : α) => (f x, f y)s) :

      If a map f : α → β sends any two distinct points to point that are not related by a fixed s ∈ 𝓤 β, then f is a uniform embedding with respect to the discrete uniformity on α.

      @[deprecated IsUniformEmbedding.isEmbedding (since := "2024-10-26")]
      theorem IsUniformEmbedding.embedding {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformEmbedding f) :

      Alias of IsUniformEmbedding.isEmbedding.

      theorem IsUniformEmbedding.isDenseEmbedding {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : IsUniformEmbedding f) (hd : DenseRange f) :
      theorem isClosedEmbedding_of_spaced_out {β : Type v} [UniformSpace β] {α : Type u_1} [TopologicalSpace α] [DiscreteTopology α] [T0Space β] {f : αβ} {s : Set (β × β)} (hs : s uniformity β) (hf : Pairwise fun (x y : α) => (f x, f y)s) :
      @[deprecated isClosedEmbedding_of_spaced_out (since := "2024-10-20")]
      theorem closedEmbedding_of_spaced_out {β : Type v} [UniformSpace β] {α : Type u_1} [TopologicalSpace α] [DiscreteTopology α] [T0Space β] {f : αβ} {s : Set (β × β)} (hs : s uniformity β) (hf : Pairwise fun (x y : α) => (f x, f y)s) :

      Alias of isClosedEmbedding_of_spaced_out.

      theorem closure_image_mem_nhds_of_isUniformInducing {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {s : Set (α × α)} {e : αβ} (b : β) (he₁ : IsUniformInducing e) (he₂ : IsDenseInducing e) (hs : s uniformity α) :
      ∃ (a : α), closure (e '' {a' : α | (a, a') s}) nhds b
      theorem IsUniformEmbedding.prod {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {α' : Type u_1} {β' : Type u_2} [UniformSpace α'] [UniformSpace β'] {e₁ : αα'} {e₂ : ββ'} (h₁ : IsUniformEmbedding e₁) (h₂ : IsUniformEmbedding e₂) :
      IsUniformEmbedding fun (p : α × β) => (e₁ p.1, e₂ p.2)
      theorem isComplete_image_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {m : αβ} {s : Set α} (hm : IsUniformInducing m) :

      A set is complete iff its image under a uniform inducing map is complete.

      theorem IsUniformInducing.isComplete_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {s : Set α} (hf : IsUniformInducing f) :

      If f : X → Y is an IsUniformInducing map, the image f '' s of a set s is complete if and only if s is complete.

      theorem IsUniformEmbedding.isComplete_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {s : Set α} (hf : IsUniformEmbedding f) :

      If f : X → Y is an IsUniformEmbedding, the image f '' s of a set s is complete if and only if s is complete.

      theorem Subtype.isComplete_iff {α : Type u} [UniformSpace α] {p : αProp} {s : Set { x : α // p x }} :

      Sets of a subtype are complete iff their image under the coercion is complete.

      theorem isComplete_of_complete_image {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {m : αβ} {s : Set α} (hm : IsUniformInducing m) :

      Alias of the forward direction of isComplete_image_iff.


      A set is complete iff its image under a uniform inducing map is complete.

      theorem IsUniformInducing.completeSpace {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (hf : IsUniformInducing f) :

      Alias of the reverse direction of completeSpace_iff_isComplete_range.

      If f is a surjective uniform inducing map, then its domain is a complete space iff its codomain is a complete space. See also _root_.completeSpace_congr for a version that assumes f to be an equivalence.

      theorem completeSpace_congr {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {e : α β} (he : IsUniformEmbedding e) :

      See also IsUniformInducing.completeSpace_congr for a version that works for non-injective maps.

      theorem IsComplete.completeSpace_coe {α : Type u} [UniformSpace α] {s : Set α} :

      Alias of the reverse direction of completeSpace_coe_iff_isComplete.

      theorem IsClosed.completeSpace_coe {α : Type u} [UniformSpace α] [CompleteSpace α] {s : Set α} (hs : IsClosed s) :

      The lift of a complete space to another universe is still complete.

      theorem completeSpace_extension {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {m : βα} (hm : IsUniformInducing m) (dense : DenseRange m) (h : ∀ (f : Filter β), Cauchy f∃ (x : α), Filter.map m f nhds x) :
      theorem totallyBounded_image_iff {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {s : Set α} (hf : IsUniformInducing f) :
      theorem totallyBounded_preimage {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {s : Set β} (hf : IsUniformInducing f) (hs : TotallyBounded s) :
      theorem isUniformEmbedding_comap {α : Type u_1} {β : Type u_2} {f : αβ} [u : UniformSpace β] (hf : Function.Injective f) :
      def Topology.IsEmbedding.comapUniformSpace {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [u : UniformSpace β] (f : αβ) (h : IsEmbedding f) :

      Pull back a uniform space structure by an embedding, adjusting the new uniform structure to make sure that its topology is defeq to the original one.

      Equations
      Instances For
        @[deprecated Topology.IsEmbedding.comapUniformSpace (since := "2024-10-26")]
        def Embedding.comapUniformSpace {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [u : UniformSpace β] (f : αβ) (h : Topology.IsEmbedding f) :

        Alias of Topology.IsEmbedding.comapUniformSpace.


        Pull back a uniform space structure by an embedding, adjusting the new uniform structure to make sure that its topology is defeq to the original one.

        Equations
        Instances For
          theorem Embedding.to_isUniformEmbedding {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [u : UniformSpace β] (f : αβ) (h : Topology.IsEmbedding f) :
          theorem uniformly_extend_exists {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {e : βα} (h_e : IsUniformInducing e) (h_dense : DenseRange e) {f : βγ} (h_f : UniformContinuous f) [CompleteSpace γ] (a : α) :
          ∃ (c : γ), Filter.Tendsto f (Filter.comap e (nhds a)) (nhds c)
          theorem uniform_extend_subtype {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] [CompleteSpace γ] {p : αProp} {e : αβ} {f : αγ} {b : β} {s : Set α} (hf : UniformContinuous fun (x : Subtype p) => f x) (he : IsUniformEmbedding e) (hd : ∀ (x : β), x closure (Set.range e)) (hb : closure (e '' s) nhds b) (hs : IsClosed s) (hp : xs, p x) :
          ∃ (c : γ), Filter.Tendsto f (Filter.comap e (nhds b)) (nhds c)
          theorem uniformly_extend_spec {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {e : βα} (h_e : IsUniformInducing e) (h_dense : DenseRange e) {f : βγ} (h_f : UniformContinuous f) [CompleteSpace γ] (a : α) :
          theorem uniformContinuous_uniformly_extend {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {e : βα} (h_e : IsUniformInducing e) (h_dense : DenseRange e) {f : βγ} (h_f : UniformContinuous f) [CompleteSpace γ] :
          theorem uniformly_extend_of_ind {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {e : βα} (h_e : IsUniformInducing e) (h_dense : DenseRange e) {f : βγ} (h_f : UniformContinuous f) [T0Space γ] (b : β) :
          .extend f (e b) = f b
          theorem uniformly_extend_unique {α : Type u_1} {β : Type u_2} {γ : Type u_3} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {e : βα} (h_e : IsUniformInducing e) (h_dense : DenseRange e) {f : βγ} [T0Space γ] {g : αγ} (hg : ∀ (b : β), g (e b) = f b) (hc : Continuous g) :
          .extend f = g
          theorem Dense.extend_exists {α : Type u_1} {β : Type u_2} [UniformSpace α] [UniformSpace β] {s : Set α} {f : sβ} [CompleteSpace β] (hs : Dense s) (hf : UniformContinuous f) (a : α) :
          ∃ (b : β), Filter.Tendsto f (Filter.comap Subtype.val (nhds a)) (nhds b)
          theorem Dense.extend_spec {α : Type u_1} {β : Type u_2} [UniformSpace α] [UniformSpace β] {s : Set α} {f : sβ} [CompleteSpace β] (hs : Dense s) (hf : UniformContinuous f) (a : α) :
          theorem Dense.uniformContinuous_extend {α : Type u_1} {β : Type u_2} [UniformSpace α] [UniformSpace β] {s : Set α} {f : sβ} [CompleteSpace β] (hs : Dense s) (hf : UniformContinuous f) :
          theorem Dense.extend_of_ind {α : Type u_1} {β : Type u_2} [UniformSpace α] [UniformSpace β] {s : Set α} {f : sβ} [T0Space β] (hs : Dense s) (hf : UniformContinuous f) (x : s) :
          hs.extend f x = f x