Documentation

Mathlib.Topology.UniformSpace.Separation

Hausdorff properties of uniform spaces. Separation quotient. #

This file studies uniform spaces whose underlying topological spaces are separated (also known as Hausdorff or T₂). This turns out to be equivalent to asking that the intersection of all entourages is the diagonal only. This condition actually implies the stronger separation property that the space is T₃, hence those conditions are equivalent for topologies coming from a uniform structure.

More generally, the intersection 𝓢 X of all entourages of X, which has type Set (X × X) is an equivalence relation on X. Points which are equivalent under the relation are basically undistinguishable from the point of view of the uniform structure. For instance any uniformly continuous function will send equivalent points to the same value.

The quotient SeparationQuotient X of X by 𝓢 X has a natural uniform structure which is separated, and satisfies a universal property: every uniformly continuous function from X to a separated uniform space uniquely factors through SeparationQuotient X. As usual, this allows to turn SeparationQuotient into a functor (but we don't use the category theory library in this file).

These notions admit relative versions, one can ask that s : Set X is separated, this is equivalent to asking that the uniform structure induced on s is separated.

Main definitions #

Main results #

## Notations

Localized in uniformity, we have the notation 𝓢 X for the separation relation on a uniform space X,

Implementation notes #

The separation setoid separationSetoid is not declared as a global instance. It is made a local instance while building the theory of SeparationQuotient. The factored map SeparationQuotient.lift f is defined without imposing any condition on f, but returns junk if f is not uniformly continuous (constant junk hence it is always uniformly continuous).

Separated uniform spaces #

Equations
def separationRel (α : Type u) [UniformSpace α] :
Set (α × α)

The separation relation is the intersection of all entourages. Two points which are related by the separation relation are "indistinguishable" according to the uniform structure.

Equations
Instances For

    The separation relation is the intersection of all entourages. Two points which are related by the separation relation are "indistinguishable" according to the uniform structure.

    Equations
    Instances For
      theorem separated_equiv {α : Type u} [UniformSpace α] :
      Equivalence fun (x y : α) => (x, y) separationRel α
      theorem Filter.HasBasis.mem_separationRel {α : Type u} [UniformSpace α] {ι : Sort u_1} {p : ιProp} {s : ιSet (α × α)} (h : Filter.HasBasis (uniformity α) p s) {a : α × α} :
      a separationRel α ∀ (i : ι), p ia s i
      theorem separationRel_iff_specializes {α : Type u} [UniformSpace α] {a : α} {b : α} :
      (a, b) separationRel α a b
      theorem separationRel_iff_inseparable {α : Type u} [UniformSpace α] {a : α} {b : α} :
      class SeparatedSpace (α : Type u) [UniformSpace α] :

      A uniform space is separated if its separation relation is trivial (each point is related only to itself).

      Instances
        theorem separated_def {α : Type u} [UniformSpace α] :
        SeparatedSpace α ∀ (x y : α), (runiformity α, (x, y) r)x = y
        theorem separated_def' {α : Type u} [UniformSpace α] :
        SeparatedSpace α Pairwise fun (x y : α) => ∃ r ∈ uniformity α, (x, y)r
        theorem eq_of_uniformity {α : Type u_1} [UniformSpace α] [SeparatedSpace α] {x : α} {y : α} (h : ∀ {V : Set (α × α)}, V uniformity α(x, y) V) :
        x = y
        theorem eq_of_uniformity_basis {α : Type u_1} [UniformSpace α] [SeparatedSpace α] {ι : Type u_2} {p : ιProp} {s : ιSet (α × α)} (hs : Filter.HasBasis (uniformity α) p s) {x : α} {y : α} (h : ∀ {i : ι}, p i(x, y) s i) :
        x = y
        theorem eq_of_forall_symmetric {α : Type u_1} [UniformSpace α] [SeparatedSpace α] {x : α} {y : α} (h : ∀ {V : Set (α × α)}, V uniformity αSymmetricRel V(x, y) V) :
        x = y
        theorem eq_of_clusterPt_uniformity {α : Type u} [UniformSpace α] [SeparatedSpace α] {x : α} {y : α} (h : ClusterPt (x, y) (uniformity α)) :
        x = y
        theorem separationRel_comap {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : inst✝¹ = UniformSpace.comap f inst✝) :
        theorem Filter.HasBasis.separationRel {α : Type u} [UniformSpace α] {ι : Sort u_1} {p : ιProp} {s : ιSet (α × α)} (h : Filter.HasBasis (uniformity α) p s) :
        separationRel α = ⋂ (i : ι), ⋂ (_ : p i), s i
        instance separated_t3 {α : Type u} [UniformSpace α] [SeparatedSpace α] :
        Equations
        instance Subtype.separatedSpace {α : Type u} [UniformSpace α] [SeparatedSpace α] (s : Set α) :
        Equations
        theorem isClosed_of_spaced_out {α : Type u} [UniformSpace α] [SeparatedSpace α] {V₀ : Set (α × α)} (V₀_in : V₀ uniformity α) {s : Set α} (hs : Set.Pairwise s fun (x y : α) => (x, y)V₀) :
        theorem isClosed_range_of_spaced_out {α : Type u} [UniformSpace α] {ι : Type u_1} [SeparatedSpace α] {V₀ : Set (α × α)} (V₀_in : V₀ uniformity α) {f : ια} (hf : Pairwise fun (x y : ι) => (f x, f y)V₀) :

        Separation quotient #

        The separation relation of a uniform space seen as a setoid.

        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          theorem UniformSpace.uniformity_quotient {α : Type u} [UniformSpace α] :
          uniformity (Quotient (UniformSpace.separationSetoid α)) = Filter.map (fun (p : α × α) => (p.1, p.2)) (uniformity α)
          theorem UniformSpace.uniformContinuous_quotient_lift {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {h : ∀ (a b : α), (a, b) separationRel αf a = f b} (hf : UniformContinuous f) :
          theorem UniformSpace.uniformContinuous_quotient_lift₂ {α : Type u} {β : Type v} {γ : Type w} [UniformSpace α] [UniformSpace β] [UniformSpace γ] {f : αβγ} {h : ∀ (a : α) (c : β) (b : α) (d : β), (a, b) separationRel α(c, d) separationRel βf a c = f b d} (hf : UniformContinuous fun (p : α × β) => f p.1 p.2) :
          theorem UniformSpace.separated_of_uniformContinuous {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} {x : α} {y : α} (H : UniformContinuous f) (h : x y) :
          f x f y
          theorem UniformSpace.eq_of_separated_of_uniformContinuous {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] [SeparatedSpace β] {f : αβ} {x : α} {y : α} (H : UniformContinuous f) (h : x y) :
          f x = f y

          The maximal separated quotient of a uniform space α.

          Equations
          Instances For
            Equations
            • UniformSpace.SeparationQuotient.instUniformSpaceSeparationQuotient = UniformSpace.separationSetoid.uniformSpace
            theorem UniformSpace.SeparationQuotient.mk_eq_mk {α : Type u} [UniformSpace α] {x : α} {y : α} :
            x = y Inseparable x y

            Factoring functions to a separated space through the separation quotient.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem UniformSpace.SeparationQuotient.lift_mk {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] [SeparatedSpace β] {f : αβ} (h : UniformContinuous f) (a : α) :

              The separation quotient functor acting on functions.

              Equations
              Instances For
                theorem UniformSpace.SeparationQuotient.map_mk {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {f : αβ} (h : UniformContinuous f) (a : α) :
                theorem UniformSpace.separation_prod {α : Type u} {β : Type v} [UniformSpace α] [UniformSpace β] {a₁ : α} {a₂ : α} {b₁ : β} {b₂ : β} :
                (a₁, b₁) (a₂, b₂) a₁ a₂ b₁ b₂
                Equations