Hausdorff completions of uniform spaces #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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.
Instances for Cauchy
Equations
- Cauchy.uniform_space = uniform_space.of_core {uniformity := (uniformity α).lift' Cauchy.gen, refl := _, symm := _, comp := _}
Embedding of α
into its completion Cauchy α
Equations
- Cauchy.pure_cauchy a = ⟨has_pure.pure a, _⟩
Equations
Extend a uniformly continuous function α → β
to a function Cauchy α → β
. Outputs junk when
f
is not uniformly continuous.
Equations
- Cauchy.extend f = ite (uniform_continuous f) (Cauchy.dense_inducing_pure_cauchy.extend f) (λ (x : Cauchy α), f _.some)
Hausdorff completion of α
Equations
Instances for uniform_space.completion
- uniform_space.completion.uniform_space
- uniform_space.completion.inhabited
- uniform_space.completion.complete_space
- uniform_space.completion.separated_space
- uniform_space.completion.t3_space
- uniform_space.completion.has_coe_t
- uniform_space.completion.separable_space_completion
- uniform_space.completion.has_smul
- uniform_space.completion.has_vadd
- uniform_space.completion.has_uniform_continuous_const_smul
- uniform_space.completion.has_uniform_continuous_const_vadd
- uniform_space.completion.is_scalar_tower
- uniform_space.completion.vadd_assoc_class
- uniform_space.completion.smul_comm_class
- uniform_space.completion.vadd_comm_class
- uniform_space.completion.is_central_scalar
- uniform_space.completion.is_central_vadd
- uniform_space.completion.mul_action
- uniform_space.completion.add_action
- uniform_space.completion.has_zero
- uniform_space.completion.has_neg
- uniform_space.completion.has_add
- uniform_space.completion.has_sub
- uniform_space.completion.mul_action_with_zero
- uniform_space.completion.add_monoid
- uniform_space.completion.sub_neg_monoid
- uniform_space.completion.add_group
- uniform_space.completion.uniform_add_group
- uniform_space.completion.distrib_mul_action
- uniform_space.completion.add_comm_group
- uniform_space.completion.module
- uniform_space.completion.has_dist
- uniform_space.completion.metric_space
- uniform_space.completion.has_norm
- uniform_space.completion.normed_add_comm_group
- uniform_space.completion.has_one
- uniform_space.completion.has_mul
- uniform_space.completion.ring
- uniform_space.completion.top_ring_compl
- uniform_space.completion.algebra
- uniform_space.completion.comm_ring
- uniform_space.completion.algebra'
- uniform_space.completion.normed_space
- uniform_space.completion.normed_ring
- uniform_space.completion.normed_algebra
- uniform_space.completion.has_inner
- uniform_space.completion.inner_product_space
Automatic coercion from α
to its completion. Not always injective.
Equations
The Haudorff completion as an abstract completion.
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
The uniform bijection between a complete space and its uniform completion.
"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
The isomorphism between the completion of a uniform space and the completion of its separation quotient.
Extend a two variable map to the Hausdorff completions.
Lift a two variable map to the Hausdorff completions.