Metrizable uniform spaces #
In this file we prove that a uniform space with countably generated uniformity filter is
pseudometrizable: there exists a pseudo_metric_space structure that generates the same uniformity.
The proof follows Sergey Melikhov, Metrizable uniform spaces.
Main definitions #
- 
pseudo_metric_space.of_prenndist: given a functiond : X → X → ℝ≥0such thatd x x = 0andd x y = d y xfor allx y : X, constructs the maximal pseudo metric space structure such thatnndist x y ≤ d x yfor allx y : X.
- 
uniform_space.pseudo_metric_space: given a uniform spaceXwith countably generated𝓤 X, constructs apseudo_metric_space Xinstance that is compatible with the uniform space structure.
- 
uniform_space.metric_space: given a T₀ uniform spaceXwith countably generated𝓤 X, constructs ametric_space Xinstance that is compatible with the uniform space structure.
Main statements #
- 
uniform_space.metrizable_uniformity: ifXis a uniform space with countably generated𝓤 X, then there exists apseudo_metric_spacestructure that is compatible with thisuniform_spacestructure. Useuniform_space.pseudo_metric_spaceoruniform_space.metric_spaceinstead.
- 
uniform_space.pseudo_metrizable_space: a uniform space with countably generated𝓤 Xis pseudo metrizable.
- 
uniform_space.metrizable_space: a T₀ uniform space with countably generated𝓤 Xis metrizable. This is not an instance to avoid loops.
Tags #
metrizable space, uniform space
The maximal pseudo metric space structure on X such that dist x y ≤ d x y for all x y,
where d : X → X → ℝ≥0 is a function such that d x x = 0 and d x y = d y x for all x, y.
Equations
- pseudo_metric_space.of_prenndist d dist_self dist_comm = {to_has_dist := {dist := λ (x y : X), ↑⨅ (l : list X), (list.zip_with d (x :: l) (l ++ [y])).sum}, dist_self := _, dist_comm := _, dist_triangle := _, edist := λ (x y : X), ↑⟨(λ (x y : X), ↑⨅ (l : list X), (list.zip_with d (x :: l) (l ++ [y])).sum) x y, _⟩, edist_dist := _, to_uniform_space := uniform_space_of_dist (λ (x y : X), ↑⨅ (l : list X), (list.zip_with d (x :: l) (l ++ [y])).sum) _ _ _, uniformity_dist := _, to_bornology := bornology.of_dist (λ (x y : X), ↑⨅ (l : list X), (list.zip_with d (x :: l) (l ++ [y])).sum) _ _ _, cobounded_sets := _}
Consider a function d : X → X → ℝ≥0 such that d x x = 0 and d x y = d y x for all x,
y. Let dist be the largest pseudometric distance such that dist x y ≤ d x y, see
pseudo_metric_space.of_prenndist. Suppose that d satisfies the following triangle-like
inequality: d x₁ x₄ ≤ 2 * max (d x₁ x₂, d x₂ x₃, d x₃ x₄). Then d x y ≤ 2 * dist x y for all
x, y.
If X is a uniform space with countably generated uniformity filter, there exists a
pseudo_metric_space structure compatible with the uniform_space structure. Use
uniform_space.pseudo_metric_space or uniform_space.metric_space instead.
A pseudo_metric_space instance compatible with a given uniform_space structure.
Equations
A metric_space instance compatible with a given uniform_space structure.
Equations
A uniform space with countably generated 𝓤 X is pseudo metrizable.
A T₀ uniform space with countably generated 𝓤 X is metrizable. This is not an instance to
avoid loops.