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 standard Borel spaces.

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

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

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.

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

Standard Borel Spaces #

A standard Borel space is a measurable space arising as the Borel sets of some Polish topology. This is useful in situations where a space has no natural topology or the natural topology in a space is non-Polish.

To endow a standard Borel space α with a compatible Polish topology, use letI := upgradeStandardBorel α. One can then use eq_borel_upgradeStandardBorel α to rewrite the MeasurableSpace α instance to borel α t, where t is the new topology.

Instances

    A convenience class similar to UpgradedPolishSpace. No instance should be registered. Instead one should use letI := upgradeStandardBorel α.

      Instances

        Use as letI := upgradeStandardBorel α to endow a standard Borel space α with a compatible Polish topology.

        Warning: following this with borelize α will cause an error. Instead, one can rewrite with eq_borel_upgradeStandardBorel α. TODO: fix the corresponding bug in borelize.

        Equations
        Instances For
          theorem eq_borel_upgradeStandardBorel (α : Type u_1) [MeasurableSpace α] [StandardBorelSpace α] :
          inst✝¹ = borel α

          The MeasurableSpace α instance on a StandardBorelSpace α is equal to the borel sets of upgradeStandardBorel α.

          Equations
          • =

          A product of two standard Borel spaces is standard Borel.

          Equations
          • =
          instance StandardBorelSpace.pi_countable {ι : Type u_3} [Countable ι] {α : ιType u_4} [(n : ι) → MeasurableSpace (α n)] [∀ (n : ι), StandardBorelSpace (α n)] :
          StandardBorelSpace ((n : ι) → α n)

          A product of countably many standard Borel spaces is standard Borel.

          Equations
          • =

          Analytic sets #

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

          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.

          Equations
          Instances For
            theorem IsOpen.analyticSet_image {α : Type u_1} [TopologicalSpace α] {β : Type u_3} [TopologicalSpace β] [PolishSpace β] {s : Set β} (hs : IsOpen s) {f : βα} (f_cont : Continuous f) :

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

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

            The continuous image of an analytic set is analytic

            theorem MeasureTheory.AnalyticSet.iInter {α : Type u_1} {ι : Type u_2} [TopologicalSpace α] [hι : Nonempty ι] [Countable ι] [T2Space α] {s : ιSet α} (hs : ∀ (n : ι), MeasureTheory.AnalyticSet (s n)) :
            MeasureTheory.AnalyticSet (⋂ (n : ι), s n)

            A countable intersection of analytic sets is analytic.

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

            A countable union of analytic sets is analytic.

            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.

            A Borel-measurable set in a Polish space is analytic.

            theorem Measurable.exists_continuous {α : Type u_3} {β : Type u_4} [t : TopologicalSpace α] [PolishSpace α] [MeasurableSpace α] [BorelSpace α] [tβ : TopologicalSpace β] [MeasurableSpace β] [OpensMeasurableSpace β] {f : αβ} [SecondCountableTopology (Set.range f)] (hf : Measurable f) :
            ∃ t' ≤ t, Continuous f PolishSpace α

            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.

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

            Preimage of an analytic set is an analytic set.

            Separating sets with measurable sets #

            def MeasureTheory.MeasurablySeparable {α : Type u_3} [MeasurableSpace α] (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.

            Equations
            Instances For
              theorem MeasureTheory.MeasurablySeparable.iUnion {ι : Type u_2} [Countable ι] {α : Type u_3} [MeasurableSpace α] {s : ιSet α} {t : ιSet α} (h : ∀ (m n : ι), MeasureTheory.MeasurablySeparable (s m) (t n)) :
              MeasureTheory.MeasurablySeparable (⋃ (n : ι), s n) (⋃ (m : ι), t m)

              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 ℕ → ℕ.

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

              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} {Z : Type u_5} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace Z] [HasCountableSeparatingOn Z MeasurableSet Set.univ] {f : XZ} (hf : Measurable f) (hsurj : Function.Surjective f) {s : Set Z} :

              If f : X → Z is a surjective Borel measurable map from a standard Borel space to a countably separated measurable space, 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 standard Borel space.

              theorem Measurable.map_measurableSpace_eq {X : Type u_3} {Z : Type u_5} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace Z] [HasCountableSeparatingOn Z MeasurableSet Set.univ] {f : XZ} (hf : Measurable f) (hsurj : Function.Surjective f) :
              MeasurableSpace.map f inst✝³ = inst✝¹
              theorem Measurable.measurableSet_preimage_iff_preimage_val {X : Type u_3} {Z : Type u_5} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace Z] {f : XZ} [HasCountableSeparatingOn ((Set.range f)) MeasurableSet Set.univ] (hf : Measurable f) {s : Set Z} :

              If f : X → Z is a Borel measurable map from a standard Borel space to a countably separated measurable space then the preimage of a set s is measurable if and only if the set is measurable in Set.range f.

              If f : X → Z is a Borel measurable map from a standard Borel space to a countably separated measurable space 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} {Z : Type u_5} {β : Type u_6} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace β] [MeasurableSpace Z] {f : XZ} [HasCountableSeparatingOn ((Set.range f)) MeasurableSet Set.univ] (hf : Measurable f) {g : Zβ} :

              If f : X → Z is a Borel measurable map from a standard Borel space to a countably separated measurable space, then for any measurable space β and g : Z → β, 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} {Z : Type u_5} {β : Type u_6} [MeasurableSpace X] [StandardBorelSpace X] [MeasurableSpace β] [MeasurableSpace Z] [HasCountableSeparatingOn Z MeasurableSet Set.univ] {f : XZ} (hf : Measurable f) (hsurj : Function.Surjective f) {g : Zβ} :

              If f : X → Z is a surjective Borel measurable map from a standard Borel space to a countably separated measurable space, then for any measurable space α and g : Z → α, the composition g ∘ f is measurable if and only if g is measurable.

              When the subgroup N < G is not necessarily Normal, we have a CosetSpace as opposed to QuotientGroup (the next instance). TODO: typeclass inference should normally find this, but currently doesn't. E.g., MeasurableSMul G (G ⧸ Γ) fails to synthesize, even though G ⧸ Γ is the quotient of G by the action of Γ; it seems unable to pick up the BorelSpace instance.

              Equations
              • =

              Injective images of Borel sets #

              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} [TopologicalSpace γ] [PolishSpace γ] {β : Type u_4} [TopologicalSpace β] [T2Space β] [MeasurableSpace β] [OpensMeasurableSpace β] {s : Set γ} (hs : IsClosed s) {f : γβ} (f_cont : ContinuousOn f s) (f_inj : Set.InjOn f s) :
              theorem MeasurableSet.image_of_continuousOn_injOn {γ : Type u_3} {β : Type u_5} [tβ : TopologicalSpace β] [T2Space β] [MeasurableSpace β] {s : Set γ} {f : γβ} [OpensMeasurableSpace β] [tγ : TopologicalSpace γ] [PolishSpace γ] [MeasurableSpace γ] [BorelSpace γ] (hs : MeasurableSet s) (f_cont : ContinuousOn f s) (f_inj : Set.InjOn f s) :

              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} {α : Type u_4} [MeasurableSpace α] {s : Set γ} {f : γα} [HasCountableSeparatingOn α MeasurableSet Set.univ] [MeasurableSpace γ] [StandardBorelSpace γ] (hs : MeasurableSet s) (f_meas : Measurable f) (f_inj : Set.InjOn f s) :

              The Lusin-Souslin theorem: if s is Borel-measurable in a standard Borel space, then its image under a measurable injective map taking values in a countably separate measurable space is also Borel-measurable.

              theorem Continuous.measurableEmbedding {γ : Type u_3} {β : Type u_5} [tβ : TopologicalSpace β] [T2Space β] [MeasurableSpace β] {f : γβ} [BorelSpace β] [TopologicalSpace γ] [PolishSpace γ] [MeasurableSpace γ] [BorelSpace γ] (f_cont : Continuous f) (f_inj : Function.Injective f) :

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

              theorem ContinuousOn.measurableEmbedding {γ : Type u_3} {β : Type u_5} [tβ : TopologicalSpace β] [T2Space β] [MeasurableSpace β] {s : Set γ} {f : γβ} [BorelSpace β] [TopologicalSpace γ] [PolishSpace γ] [MeasurableSpace γ] [BorelSpace γ] (hs : MeasurableSet s) (f_cont : ContinuousOn f s) (f_inj : Set.InjOn f s) :

              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} {α : Type u_4} [MeasurableSpace α] {f : γα} [HasCountableSeparatingOn α MeasurableSet Set.univ] [MeasurableSpace γ] [StandardBorelSpace γ] (f_meas : Measurable f) (f_inj : Function.Injective f) :

              An injective measurable function from a standard Borel space to a countably separated measurable space is a measurable embedding.

              theorem MeasureTheory.borel_eq_borel_of_le {γ : Type u_3} {t : TopologicalSpace γ} {t' : TopologicalSpace γ} (ht : PolishSpace γ) (ht' : PolishSpace γ) (hle : t t') :
              borel γ = borel γ

              If one Polish topology on a type refines another, they have the same Borel sets.

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

              theorem MeasureTheory.measurableSet_tendsto_fun {ι : Type u_2} {γ : Type u_3} {β : Type u_5} [MeasurableSpace β] [MeasurableSpace γ] [Countable ι] {l : Filter ι} [Filter.IsCountablyGenerated l] [TopologicalSpace γ] [SecondCountableTopology γ] [TopologicalSpace.PseudoMetrizableSpace γ] [OpensMeasurableSpace γ] {f : ιβγ} (hf : ∀ (i : ι), Measurable (f i)) {g : βγ} (hg : Measurable g) :
              MeasurableSet {x : β | Filter.Tendsto (fun (n : ι) => f n x) l (nhds (g x))}

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

              theorem MeasureTheory.measurableSet_exists_tendsto {ι : Type u_2} {γ : Type u_3} {β : Type u_5} [MeasurableSpace β] [TopologicalSpace γ] [PolishSpace γ] [MeasurableSpace γ] [hγ : OpensMeasurableSpace γ] [Countable ι] {l : Filter ι} [Filter.IsCountablyGenerated 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.

              If s is a measurable set in a standard Borel space, there is a compatible Polish topology making s clopen.

              A measurable subspace of a standard Borel space is standard Borel.

              The Borel Isomorphism Theorem #

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

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

              Equations
              Instances For

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

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

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

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

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

                    Equations
                    Instances For

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

                      Any standard Borel space embeds measurably into the reals.

                      noncomputable def MeasureTheory.embeddingReal (Ω : Type u_3) [MeasurableSpace Ω] [StandardBorelSpace Ω] :
                      Ω

                      A measurable embedding of a standard Borel space into .

                      Equations
                      Instances For