Completely metrizable spaces #
A topological space is completely metrizable if one can endow it mith a MetricSpace
structure
which makes it complete and gives the same topology. This typeclass allows to state theorems
which do not require a MetricSpace
structure to make sense without introducing such a structure.
It is in particular useful in measure theory, where one often assumes that a space is a
PolishSpace
, i.e. a separable and completely metrizable space. Sometimes the separability
hypothesis is not needed and the right assumption is then IsCompletelyMetrizableSpace
.
Main definition #
IsCompletelyMetrizableSpace X
: A topological space is completely metrizable if there exists a metric space structure compatible with the topology which makes the space complete. To endow such a space with a compatible distance, useletI := upgradeIsCompletelyMetrizable X
.
Implementation note #
Given a IsCompletelyMetrizableSpace X
instance, one may want to endow X
with a complete metric.
This can be done by writing letI := upgradeIsCompletelyMetrizable X
, which will endow X
with
an UpgradedIsCompletelyMetrizableSpace X
instance. This class is a convenience class and
no instance should be registered for it.
A topological space is completely metrizable if there exists a metric space structure
compatible with the topology which makes the space complete.
To endow such a space with a compatible distance, use
letI := upgradeIsCompletelyMetrizable X
.
- complete : ∃ (m : MetricSpace X), UniformSpace.toTopologicalSpace = t ∧ CompleteSpace X
Instances
A convenience class, for a completely metrizable space endowed with a complete metric.
No instance of this class should be registered: It should be used as
letI := upgradeIsCompletelyMetrizable X
to endow a completely metrizable
space with a complete metric.
- uniformity_dist : uniformity X = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : X × X | dist p.1 p.2 < ε}
- toBornology : Bornology X
Instances
Construct on a completely metrizable space a metric (compatible with the topology) which is complete.
Equations
Instances For
This definition endows a completely metrizable space with a complete metric. Use it as:
letI := upgradeIsCompletelyMetrizable X
.
Equations
Instances For
A countable product of completely metrizable spaces is completely metrizable.
A disjoint union of completely metrizable spaces is completely metrizable.
The product of two completely metrizable spaces is completely metrizable.
The disjoint union of two completely metrizable spaces is completely metrizable.
Given a closed embedding into a completely metrizable space, the source space is also completely metrizable.
Any discrete space is completely metrizable.
A closed subset of a completely metrizable space is also completely metrizable.