Abstract theory of Hausdorff completions of uniform spaces #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file characterizes Hausdorff completions of a uniform space α as complete Hausdorff spaces equipped with a map from α which has dense image and induce the original uniform structure on α. Assuming these properties we "extend" uniformly continuous maps from α to complete Hausdorff spaces to the completions of α. This is the universal property expected from a completion. It is then used to extend uniformly continuous maps from α to α' to maps between completions of α and α'.
This file does not construct any such completion, it only study consequences of their existence.
The first advantage is that formal properties are clearly highlighted without interference from
construction details. The second advantage is that this framework can then be used to compare
different completion constructions. See topology/uniform_space/compare_reals
for an example.
Of course the comparison comes from the universal property as usual.
A general explicit construction of completions is done in uniform_space/completion
, leading
to a functor from uniform spaces to complete Hausdorff uniform spaces that is left adjoint to the
inclusion, see uniform_space/UniformSpace
for the category packaging.
Implementation notes #
A tiny technical advantage of using a characteristic predicate such as the properties listed in
abstract_completion
instead of stating the universal property is that the universal property
derived from the predicate is more universe polymorphic.
References #
We don't know any traditional text discussing this. Real world mathematics simply silently identify the results of any two constructions that lead to something one could reasonably call a completion.
Tags #
uniform spaces, completion, universal property
- space : Type ?
- coe : α → self.space
- uniform_struct : uniform_space self.space
- complete : complete_space self.space
- separation : separated_space self.space
- uniform_inducing : uniform_inducing self.coe
- dense : dense_range self.coe
A completion of α
is the data of a complete separated uniform space (from the same universe)
and a map from α
with dense range and inducing the original uniform structure on α
.
Instances for abstract_completion
- abstract_completion.has_sizeof_inst
- uniform_space.completion.abstract_completion.inhabited
If α
is complete, then it is an abstract completion of itself.
Equations
- abstract_completion.of_complete = {space := α, coe := id α, uniform_struct := infer_instance _inst_1, complete := _, separation := _, uniform_inducing := _, dense := _}
Extension of maps to completions
Lifting maps to completions
The comparison map between two completions of the same uniform space.
The uniform bijection between two completions of the same uniform space.
Equations
- pkg.compare_equiv pkg' = {to_equiv := {to_fun := pkg.compare pkg', inv_fun := pkg'.compare pkg, left_inv := _, right_inv := _}, uniform_continuous_to_fun := _, uniform_continuous_inv_fun := _}
Products of completions
Equations
- pkg.prod pkg' = {space := pkg.space × pkg'.space, coe := λ (p : α × β), (pkg.coe p.fst, pkg'.coe p.snd), uniform_struct := prod.uniform_space pkg'.uniform_struct, complete := _, separation := _, uniform_inducing := _, dense := _}
Extend two variable map to completions.
Equations
- pkg.extend₂ pkg' f = function.curry ((pkg.prod pkg').extend (function.uncurry f))
Lift two variable maps to completions.
Equations
- pkg.map₂ pkg' pkg'' f = pkg.extend₂ pkg' (function.bicompr pkg''.coe f)