# Documentation

Mathlib.MeasureTheory.Constructions.Polish

# The Borel sigma-algebra on Polish spaces #

We discuss several results pertaining to the relationship between the topology and the Borel structure on Polish spaces.

## Main definitions and results #

First, we define the class of analytic sets and establish its basic properties.

• MeasureTheory.AnalyticSet s: a set in a topological space is analytic if it is the continuous image of a Polish space. Equivalently, it is empty, or the image of ℕ → ℕ.
• MeasureTheory.AnalyticSet.image_of_continuous: a continuous image of an analytic set is analytic.
• MeasurableSet.analyticSet: in a Polish space, any Borel-measurable set is analytic.

Then, we show Lusin's theorem that two disjoint analytic sets can be separated by Borel sets.

• MeasurablySeparable s t states that there exists a measurable set containing s and disjoint from t.
• AnalyticSet.measurablySeparable shows that two disjoint analytic sets are separated by a Borel set.

We then prove the Lusin-Souslin theorem that a continuous injective image of a Borel subset of a Polish space is Borel. The proof of this nontrivial result relies on the above results on analytic sets.

• MeasurableSet.image_of_continuousOn_injOn asserts that, if s is a Borel measurable set in a Polish space, then the image of s under a continuous injective map is still Borel measurable.
• Continuous.measurableEmbedding states that a continuous injective map on a Polish space is a measurable embedding for the Borel sigma-algebra.
• ContinuousOn.measurableEmbedding is the same result for a map restricted to a measurable set on which it is continuous.
• Measurable.measurableEmbedding states that a measurable injective map from a Polish space to a second-countable topological space is a measurable embedding.
• isClopenable_iff_measurableSet: in a Polish space, a set is clopenable (i.e., it can be made open and closed by using a finer Polish topology) if and only if it is Borel-measurable.

We use this to prove several versions of the Borel isomorphism theorem.

• PolishSpace.measurableEquivOfNotCountable : Any two uncountable Polish spaces are Borel isomorphic.
• PolishSpace.Equiv.measurableEquiv : Any two Polish spaces of the same cardinality are Borel isomorphic.

### Analytic sets #

theorem MeasureTheory.AnalyticSet_def {α : Type u_3} [] (s : Set α) :
= (s = f, = s)
@[irreducible]
def MeasureTheory.AnalyticSet {α : Type u_3} [] (s : Set α) :

An analytic set is a set which is the continuous image of some Polish space. There are several equivalent characterizations of this definition. For the definition, we pick one that avoids universe issues: a set is analytic if and only if it is a continuous image of ℕ → ℕ (or if it is empty). The above more usual characterization is given in analyticSet_iff_exists_polishSpace_range.

Warning: these are analytic sets in the context of descriptive set theory (which is why they are registered in the namespace MeasureTheory). They have nothing to do with analytic sets in the context of complex analysis.

Instances For
theorem MeasureTheory.analyticSet_range_of_polishSpace {α : Type u_1} [] {β : Type u_3} [] [] {f : βα} (f_cont : ) :
theorem IsOpen.analyticSet_image {α : Type u_1} [] {β : Type u_3} [] [] {s : Set β} (hs : ) {f : βα} (f_cont : ) :

The image of an open set under a continuous map is analytic.

theorem MeasureTheory.analyticSet_iff_exists_polishSpace_range {α : Type u_1} [] {s : Set α} :
β h x f, = s

A set is analytic if and only if it is the continuous image of some Polish space.

theorem MeasureTheory.AnalyticSet.image_of_continuousOn {α : Type u_1} [] {β : Type u_3} [] {s : Set α} (hs : ) {f : αβ} (hf : ) :

The continuous image of an analytic set is analytic

theorem MeasureTheory.AnalyticSet.image_of_continuous {α : Type u_1} [] {β : Type u_3} [] {s : Set α} (hs : ) {f : αβ} (hf : ) :
theorem MeasureTheory.AnalyticSet.iInter {α : Type u_1} [] {ι : Type u_2} [hι : ] [] [] {s : ιSet α} (hs : ∀ (n : ι), ) :
MeasureTheory.AnalyticSet (⋂ (n : ι), s n)

A countable intersection of analytic sets is analytic.

theorem MeasureTheory.AnalyticSet.iUnion {α : Type u_1} [] {ι : Type u_2} [] {s : ιSet α} (hs : ∀ (n : ι), ) :
MeasureTheory.AnalyticSet (⋃ (n : ι), s n)

A countable union of analytic sets is analytic.

theorem IsClosed.analyticSet {α : Type u_1} [] [] {s : Set α} (hs : ) :
theorem MeasurableSet.isClopenable {α : Type u_1} [] [] [] [] {s : Set α} (hs : ) :

Given a Borel-measurable set in a Polish space, there exists a finer Polish topology making it clopen. This is in fact an equivalence, see isClopenable_iff_measurableSet.

theorem MeasurableSet.analyticSet {α : Type u_3} [t : ] [] [] [] {s : Set α} (hs : ) :
theorem Measurable.exists_continuous {α : Type u_3} {β : Type u_4} [t : ] [] [] [] [tβ : ] [] {f : αβ} (hf : ) :
t', t' t

Given a Borel-measurable function from a Polish space to a second-countable space, there exists a finer Polish topology on the source space for which the function is continuous.

theorem MeasurableSet.analyticSet_image {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] {f : XY} {s : Set X} (hs : ) (hf : ) :

The image of a measurable set in a Polish space under a measurable map is an analytic set.

### Separating sets with measurable sets #

def MeasureTheory.MeasurablySeparable {α : Type u_3} [] (s : Set α) (t : Set α) :

Two sets u and v in a measurable space are measurably separable if there exists a measurable set containing u and disjoint from v. This is mostly interesting for Borel-separable sets.

Instances For
theorem MeasureTheory.MeasurablySeparable.iUnion {ι : Type u_2} [] {α : Type u_3} [] {s : ιSet α} {t : ιSet α} (h : ∀ (m n : ι), MeasureTheory.MeasurablySeparable (s m) (t n)) :
MeasureTheory.MeasurablySeparable (⋃ (n : ι), s n) (⋃ (m : ι), t m)
theorem MeasureTheory.measurablySeparable_range_of_disjoint {α : Type u_1} [] [] [] {f : () → α} {g : () → α} (hf : ) (hg : ) (h : Disjoint () ()) :

The hard part of the Lusin separation theorem saying that two disjoint analytic sets are contained in disjoint Borel sets (see the full statement in AnalyticSet.measurablySeparable). Here, we prove this when our analytic sets are the ranges of functions from ℕ → ℕ.

theorem MeasureTheory.AnalyticSet.measurablySeparable {α : Type u_1} [] [] [] {s : Set α} {t : Set α} (hs : ) (ht : ) (h : Disjoint s t) :

The Lusin separation theorem: if two analytic sets are disjoint, then they are contained in disjoint Borel sets.

theorem MeasureTheory.AnalyticSet.measurableSet_of_compl {α : Type u_1} [] [] [] {s : Set α} (hs : ) (hsc : ) :

Suslin's Theorem: in a Hausdorff topological space, an analytic set with an analytic complement is measurable.

### Measurability of preimages under measurable maps #

theorem Measurable.measurableSet_preimage_iff_of_surjective {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) {s : Set Y} :

If f : X → Y is a surjective Borel measurable map from a Polish space to a topological space with second countable topology, then the preimage of a set s is measurable if and only if the set is measurable. One implication is the definition of measurability, the other one heavily relies on X being a Polish space.

theorem Measurable.map_measurableSpace_eq {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) :
MeasurableSpace.map f inst✝ = inst✝¹
theorem Measurable.map_measurableSpace_eq_borel {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) :
theorem Measurable.borelSpace_codomain {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) :
theorem Measurable.measurableSet_preimage_iff_preimage_val {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) {s : Set Y} :

If f : X → Y is a Borel measurable map from a Polish space to a topological space with second countable topology, then the preimage of a set s is measurable if and only if the set is measurable in Set.range f.

theorem Measurable.measurableSet_preimage_iff_inter_range {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] [] {f : XY} (hf : ) (hr : ) {s : Set Y} :

If f : X → Y is a Borel measurable map from a Polish space to a topological space with second countable topology and the range of f is measurable, then the preimage of a set s is measurable if and only if the intesection with Set.range f is measurable.

theorem Measurable.measurable_comp_iff_restrict {X : Type u_3} {Y : Type u_4} {β : Type u_5} [] [] [] [] [] [] [] [] {f : XY} (hf : ) {g : Yβ} :

If f : X → Y is a Borel measurable map from a Polish space to a topological space with second countable topology, then for any measurable space β and g : Y → β, the composition g ∘ f is measurable if and only if the restriction of g to the range of f is measurable.

theorem Measurable.measurable_comp_iff_of_surjective {X : Type u_3} {Y : Type u_4} {β : Type u_5} [] [] [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) {g : Yβ} :

If f : X → Y is a surjective Borel measurable map from a Polish space to a topological space with second countable topology, then for any measurable space α and g : Y → α, the composition g ∘ f is measurable if and only if g is measurable.

theorem Continuous.map_eq_borel {X : Type u_3} {Y : Type u_4} [] [] [] [] [] [] {f : XY} (hf : ) (hsurj : ) :
theorem Continuous.map_borel_eq {X : Type u_3} {Y : Type u_4} [] [] [] [] {f : XY} (hf : ) (hsurj : ) :
=
instance Quotient.borelSpace {X : Type u_3} [] [] [] [] {s : } [T2Space ()] :
instance QuotientAddGroup.borelSpace {G : Type u_3} [] [] [] [] [] {N : } [IsClosed N] :
theorem QuotientAddGroup.borelSpace.proof_1 {G : Type u_1} [] [] [] [] [] {N : } [IsClosed N] :
instance QuotientGroup.borelSpace {G : Type u_3} [] [] [] [] [] [] {N : } [] [IsClosed N] :

### Injective images of Borel sets #

theorem MeasureTheory.measurableSet_range_of_continuous_injective {γ : Type u_3} [tγ : ] [] {β : Type u_4} [] [] [] [] {f : γβ} (f_cont : ) (f_inj : ) :

The Lusin-Souslin theorem: the range of a continuous injective function defined on a Polish space is Borel-measurable.

theorem IsClosed.measurableSet_image_of_continuousOn_injOn {γ : Type u_3} [tγ : ] [] {β : Type u_4} [] [] [] [] {s : Set γ} (hs : ) {f : γβ} (f_cont : ) (f_inj : ) :
theorem MeasurableSet.image_of_continuousOn_injOn {γ : Type u_3} [tγ : ] [] [] [hγb : ] {β : Type u_4} [tβ : ] [] [] [] {s : Set γ} {f : γβ} (hs : ) (f_cont : ) (f_inj : ) :

The Lusin-Souslin theorem: if s is Borel-measurable in a Polish space, then its image under a continuous injective map is also Borel-measurable.

theorem MeasurableSet.image_of_measurable_injOn {γ : Type u_3} [tγ : ] [] [] [hγb : ] {β : Type u_4} [tβ : ] [] [] [] {s : Set γ} {f : γβ} (hs : ) (f_meas : ) (f_inj : ) :

The Lusin-Souslin theorem: if s is Borel-measurable in a Polish space, then its image under a measurable injective map taking values in a second-countable topological space is also Borel-measurable.

theorem Continuous.measurableEmbedding {γ : Type u_3} [tγ : ] [] [] [hγb : ] {β : Type u_4} [tβ : ] [] [] [] {f : γβ} (f_cont : ) (f_inj : ) :

An injective continuous function on a Polish space is a measurable embedding.

theorem ContinuousOn.measurableEmbedding {γ : Type u_3} [tγ : ] [] [] [hγb : ] {β : Type u_4} [tβ : ] [] [] [] {s : Set γ} {f : γβ} (hs : ) (f_cont : ) (f_inj : ) :

If s is Borel-measurable in a Polish space and f is continuous injective on s, then the restriction of f to s is a measurable embedding.

theorem Measurable.measurableEmbedding {γ : Type u_3} [tγ : ] [] [] [hγb : ] {β : Type u_4} [tβ : ] [] [] [] {f : γβ} (f_meas : ) (f_inj : ) :

An injective measurable function from a Polish space to a second-countable topological space is a measurable embedding.

theorem MeasureTheory.isClopenable_iff_measurableSet {γ : Type u_3} [tγ : ] [] [] [hγb : ] {s : Set γ} :

In a Polish space, a set is clopenable if and only if it is Borel-measurable.

theorem MeasureTheory.measurableSet_exists_tendsto {ι : Type u_2} {γ : Type u_3} [tγ : ] [] [] {β : Type u_4} [] [hγ : ] [] {l : } {f : ιβγ} (hf : ∀ (i : ι), Measurable (f i)) :
MeasurableSet {x | c, Filter.Tendsto (fun n => f n x) l (nhds c)}

The set of points for which a measurable sequence of functions converges is measurable.

### The Borel Isomorphism Theorem #

noncomputable def PolishSpace.borelSchroederBernstein {α : Type u_1} [] {β : Type u_3} [] [] [] [] [] [] [] {f : αβ} {g : βα} (fmeas : ) (finj : ) (gmeas : ) (ginj : ) :
α ≃ᵐ β

If two Polish spaces admit Borel measurable injections to one another, then they are Borel isomorphic.

Instances For
noncomputable def PolishSpace.measurableEquivNatBoolOfNotCountable {α : Type u_1} [] [] [] [] (h : ) :
α ≃ᵐ ()

Any uncountable Polish space is Borel isomorphic to the Cantor space ℕ → Bool.

Instances For
noncomputable def PolishSpace.measurableEquivOfNotCountable {α : Type u_1} [] {β : Type u_3} [] [] [] [] [] [] [] (hα : ) (hβ : ) :
α ≃ᵐ β

The Borel Isomorphism Theorem: Any two uncountable Polish spaces are Borel isomorphic.

Instances For
noncomputable def PolishSpace.Equiv.measurableEquiv {α : Type u_1} [] {β : Type u_3} [] [] [] [] [] [] [] (e : α β) :
α ≃ᵐ β

The Borel Isomorphism Theorem: If two Polish spaces have the same cardinality, they are Borel isomorphic.

Instances For
theorem MeasureTheory.exists_nat_measurableEquiv_range_coe_fin_of_finite (α : Type u_1) [] [] [] [] [] :
n, Nonempty (α ≃ᵐ ↑(Set.range fun x => x))
theorem MeasureTheory.exists_subset_real_measurableEquiv (α : Type u_1) [] [] [] [] :
s, Nonempty (α ≃ᵐ s)

Any Polish Borel space is measurably equivalent to a subset of the reals.

theorem MeasureTheory.exists_measurableEmbedding_real (α : Type u_1) [] [] [] [] :
f,

Any Polish Borel space embeds measurably into the reals.