Hausdorff completions of uniform spaces #
The goal is to construct a left-adjoint to the inclusion of complete Hausdorff uniform spaces
into all uniform spaces. Any uniform space α gets a completion completion α and a morphism
(ie. uniformly continuous map) coe : α → completion α which solves the universal
mapping problem of factorizing morphisms from α to any complete Hausdorff uniform space β.
It means any uniformly continuous f : α → β gives rise to a unique morphism
completion.extension f : completion α → β such that f = completion.extension f ∘ coe.
Actually completion.extension f is defined for all maps from α to β but it has the desired
properties only if f is uniformly continuous.
Beware that coe is not injective if α is not Hausdorff. But its image is always
dense. The adjoint functor acting on morphisms is then constructed by the usual abstract nonsense.
For every uniform spaces α and β, it turns f : α → β into a morphism
completion.map f : completion α → completion β
such that
coe ∘ f = (completion.map f) ∘ coe
provided f is uniformly continuous. This construction is compatible with composition.
In this file we introduce the following concepts:
-
Cauchy αthe uniform completion of the uniform spaceα(using Cauchy filters). These are not minimal filters. -
completion α := quotient (separation_setoid (Cauchy α))the Hausdorff completion.
References #
This formalization is mostly based on N. Bourbaki: General Topology I. M. James: Topologies and Uniformities From a slightly different perspective in order to reuse material in topology.uniform_space.basic.
Space of Cauchy filters
This is essentially the completion of a uniform space. The embeddings are the neighbourhood filters. This space is not minimal, the separated uniform space (i.e. quotiented on the intersection of all entourages) is necessary for this.
Equations
- Cauchy.uniform_space = uniform_space.of_core {uniformity := (𝓤 α).lift' Cauchy.gen, refl := _, symm := _, comp := _}
Embedding of α into its completion Cauchy α
Equations
- Cauchy.pure_cauchy a = ⟨pure a, _⟩
Equations
Equations
- Cauchy.extend f = ite (uniform_continuous f) (Cauchy.dense_inducing_pure_cauchy.extend f) (λ (x : Cauchy α), f default)
Hausdorff completion of α
Equations
Automatic coercion from α to its completion. Not always injective.
Equations
Equations
- uniform_space.completion.cpkg = {space := uniform_space.completion α _inst_4, coe := coe coe_to_lift, uniform_struct := uniform_space.completion.uniform_space α _inst_4, complete := _, separation := _, uniform_inducing := _, dense := _}
Equations
"Extension" to the completion. It is defined for any map f but
returns an arbitrary constant value if f is not uniformly continuous
Completion functor acting on morphisms