Polish spaces #
A topological space is Polish if its topology is second-countable and there exists a compatible complete metric. This is the class of spaces that is well-behaved with respect to measure theory. In this file, we establish the basic properties of Polish spaces.
Main definitions and results #
PolishSpace α
is a mixin typeclass on a topological space, requiring that the topology is second-countable and compatible with a complete metric. To endow the space with such a metric, use in a proofletI := upgradeIsCompletelyMetrizable α
.IsClosed.polishSpace
: a closed subset of a Polish space is Polish.IsOpen.polishSpace
: an open subset of a Polish space is Polish.exists_nat_nat_continuous_surjective
: any nonempty Polish space is the continuous image of the fundamental Polish spaceℕ → ℕ
.
A fundamental property of Polish spaces is that one can put finer topologies, still Polish, with additional properties:
exists_polishSpace_forall_le
: on a topological space, consider countably many topologiest n
, all Polish and finer than the original topology. Then there exists another Polish topology which is finer than all thet n
.IsClopenable s
is a property of a subsets
of a topological space, requiring that there exists a finer topology, which is Polish, for whichs
becomes open and closed. We show that this property is satisfied for open sets, closed sets, for complements, and for countable unions. Once Borel-measurable sets are defined in later files, it will follow that any Borel-measurable set is clopenable. Once the Lusin-Souslin theorem is proved using analytic sets, we will even show that a set is clopenable if and only if it is Borel-measurable, seeisClopenable_iff_measurableSet
.
Basic properties of Polish spaces #
A Polish space is a topological space with second countable topology, that can be endowed with a metric for which it is complete.
To endow a Polish space with a complete metric space structure, do
letI := upgradeIsCompletelyMetrizable α
.
- is_open_generated_countable : ∃ (b : Set (Set α)), b.Countable ∧ h = TopologicalSpace.generateFrom b
- complete : ∃ (m : MetricSpace α), UniformSpace.toTopologicalSpace = h ∧ CompleteSpace α
Instances
Alias of TopologicalSpace.UpgradedIsCompletelyMetrizableSpace
.
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.
Instances For
Alias of TopologicalSpace.completelyMetrizableMetric
.
Construct on a completely metrizable space a metric (compatible with the topology) which is complete.
Instances For
Alias of TopologicalSpace.complete_completelyMetrizableMetric
.
Alias of TopologicalSpace.upgradeIsCompletelyMetrizable
.
This definition endows a completely metrizable space with a complete metric. Use it as:
letI := upgradeIsCompletelyMetrizable X
.
Instances For
Any nonempty Polish space is the continuous image of the fundamental space ℕ → ℕ
.
Given a closed embedding into a Polish space, the source space is also Polish.
Alias of Topology.IsClosedEmbedding.polishSpace
.
Given a closed embedding into a Polish space, the source space is also Polish.
Pulling back a Polish topology under an equiv gives again a Polish topology.
A closed subset of a Polish space is also Polish.
Given a Polish space, and countably many finer Polish topologies, there exists another Polish topology which is finer than all of them.
An open subset of a Polish space is Polish #
To prove this fact, one needs to construct another metric, giving rise to the same topology,
for which the open subset is complete. This is not obvious, as for instance (0,1) ⊆ ℝ
is not
complete for the usual metric of ℝ
: one should build a new metric that blows up close to the
boundary.
A type synonym for a subset s
of a metric space, on which we will construct another metric
for which it will be complete.
Equations
- s.CompleteCopy = ↥s
Instances For
A distance on an open subset s
of a metric space, designed to make it complete. It is given
by dist' x y = dist x y + |1 / dist x sᶜ - 1 / dist y sᶜ|
, where the second term blows up close to
the boundary to ensure that Cauchy sequences for dist'
remain well inside s
.
Equations
- TopologicalSpace.Opens.CompleteCopy.instDist = { dist := fun (x y : s.CompleteCopy) => dist ↑x ↑y + |1 / Metric.infDist (↑x) (↑s)ᶜ - 1 / Metric.infDist (↑y) (↑s)ᶜ| }
A metric space structure on a subset s
of a metric space, designed to make it complete
if s
is open. It is given by dist' x y = dist x y + |1 / dist x sᶜ - 1 / dist y sᶜ|
, where the
second term blows up close to the boundary to ensure that Cauchy sequences for dist'
remain well
inside s
.
This definition ensures the TopologicalSpace
structure on
TopologicalSpace.Opens.CompleteCopy s
is definitionally equal to the original one.
An open subset of a Polish space is also Polish.
Clopenable sets in Polish spaces #
A set in a topological space is clopenable if there exists a finer Polish topology for which
this set is open and closed. It turns out that this notion is equivalent to being Borel-measurable,
but this is nontrivial (see isClopenable_iff_measurableSet
).
Equations
- PolishSpace.IsClopenable s = ∃ t' ≤ t, PolishSpace α ∧ IsClosed s ∧ IsOpen s
Instances For
Given a closed set s
in a Polish space, one can construct a finer Polish topology for
which s
is both open and closed.