Abstract theory of Hausdorff completions of uniform spaces
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 reasonnably call a completion.
Tags
uniform spaces, completion, universal property
- space : Type ?
- coe : α → c.space
- uniform_struct : uniform_space c.space
- complete : complete_space c.space
- separation : separated_space c.space
- uniform_inducing : uniform_inducing c.coe
- dense : dense_range c.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 α
.
Extension of maps to completions
Equations
- pkg.extend f = ite (uniform_continuous f) (_.extend f) (λ (x : pkg.space), f (inhabited.default α))
Lifting maps to completions
The comparison map between two completions of the same uniform space.
The bijection between two completions of the same uniform space.
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)