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/UniformSpace/CompareReals
for an example.
Of course the comparison comes from the universal property as usual.
A general explicit construction of completions is done in UniformSpace/Completion
, leading
to a functor from uniform spaces to complete Hausdorff uniform spaces that is left adjoint to the
inclusion, see UniformSpace/UniformSpaceCat
for the category packaging.
Implementation notes #
A tiny technical advantage of using a characteristic predicate such as the properties listed in
AbstractCompletion
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
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 α
.
- space : Type u
The underlying space of the completion.
- coe : α → self.space
A map from a space to its completion.
- uniformStruct : UniformSpace self.space
The completion carries a uniform structure.
- complete : CompleteSpace self.space
The completion is complete.
- separation : T0Space self.space
The completion is a T₀ space.
- uniformInducing : UniformInducing self.coe
The map into the completion is uniform-inducing.
- dense : DenseRange self.coe
The map into the completion has dense range.
Instances For
If α
is complete, then it is an abstract completion of itself.
Equations
- AbstractCompletion.ofComplete = { space := α, coe := id, uniformStruct := inferInstance, complete := ⋯, separation := ⋯, uniformInducing := ⋯, dense := ⋯ }
Instances For
Extension of maps to completions
Equations
- AbstractCompletion.extend pkg f = if UniformContinuous f then DenseInducing.extend ⋯ f else fun (x : pkg.space) => f (DenseRange.some ⋯ x)
Instances For
Lifting maps to completions
Equations
- AbstractCompletion.map pkg pkg' f = AbstractCompletion.extend pkg (pkg'.coe ∘ f)
Instances For
The comparison map between two completions of the same uniform space.
Equations
- AbstractCompletion.compare pkg pkg' = AbstractCompletion.extend pkg pkg'.coe
Instances For
The uniform bijection between two completions of the same uniform space.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Products of completions
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extend two variable map to completions.
Equations
- AbstractCompletion.extend₂ pkg pkg' f = Function.curry (AbstractCompletion.extend (AbstractCompletion.prod pkg pkg') (Function.uncurry f))
Instances For
Lift two variable maps to completions.
Equations
- AbstractCompletion.map₂ pkg pkg' pkg'' f = AbstractCompletion.extend₂ pkg pkg' (Function.bicompr pkg''.coe f)