Documentation

Mathlib.MeasureTheory.Measure.MeasureSpaceDef

Measure spaces #

This file defines measure spaces, the almost-everywhere filter and ae_measurable functions. See MeasureTheory.MeasureSpace for their properties and for extended documentation.

Given a measurable space α, a measure on α is a function that sends measurable sets to the extended nonnegative reals that satisfies the following conditions:

  1. μ ∅ = 0;
  2. μ is countably additive. This means that the measure of a countable union of pairwise disjoint sets is equal to the sum of the measures of the individual sets.

Every measure can be canonically extended to an outer measure, so that it assigns values to all subsets, not just the measurable subsets. On the other hand, an outer measure that is countably additive on measurable sets can be restricted to measurable sets to obtain a measure. In this file a measure is defined to be an outer measure that is countably additive on measurable sets, with the additional assumption that the outer measure is the canonical extension of the restricted measure.

Measures on α form a complete lattice, and are closed under scalar multiplication with ℝ≥0∞.

Implementation notes #

Given μ : Measure α, μ s is the value of the outer measure applied to s. This conveniently allows us to apply the measure to sets without proving that they are measurable. We get countable subadditivity for all sets, but only countable additivity for measurable sets.

See the documentation of MeasureTheory.MeasureSpace for ways to construct measures and proving that two measure are equal.

A MeasureSpace is a class that is a measurable space with a canonical measure. The measure is denoted volume.

This file does not import MeasureTheory.MeasurableSpace.Basic, but only MeasurableSpace.Defs.

References #

Tags #

measure, almost everywhere, measure space

A measure is defined to be an outer measure that is countably additive on measurable sets, with the additional assumption that the outer measure is the canonical extension of the restricted measure.

  • measureOf : Set αENNReal
  • empty : self.measureOf = 0
  • mono : ∀ {s₁ s₂ : Set α}, s₁ s₂self.measureOf s₁ self.measureOf s₂
  • iUnion_nat : ∀ (s : Set α), Pairwise (Disjoint on s)self.measureOf (⋃ (i : ), s i) ∑' (i : ), self.measureOf (s i)
  • m_iUnion : ∀ ⦃f : Set α⦄, (∀ (i : ), MeasurableSet (f i))Pairwise (Disjoint on f)self.toOuterMeasure (⋃ (i : ), f i) = ∑' (i : ), self.toOuterMeasure (f i)
  • trim_le : self.trim self.toOuterMeasure
Instances For
    theorem MeasureTheory.Measure.m_iUnion {α : Type u_6} [MeasurableSpace α] (self : MeasureTheory.Measure α) ⦃f : Set α :
    (∀ (i : ), MeasurableSet (f i))Pairwise (Disjoint on f)self.toOuterMeasure (⋃ (i : ), f i) = ∑' (i : ), self.toOuterMeasure (f i)
    theorem MeasureTheory.Measure.trim_le {α : Type u_6} [MeasurableSpace α] (self : MeasureTheory.Measure α) :
    self.trim self.toOuterMeasure

    Notation for Measure with respect to a non-standard σ-algebra in the domain.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem MeasureTheory.Measure.toOuterMeasure_injective {α : Type u_1} [MeasurableSpace α] :
      Function.Injective MeasureTheory.Measure.toOuterMeasure
      Equations
      • MeasureTheory.Measure.instFunLike = { coe := fun (μ : MeasureTheory.Measure α) => μ.toOuterMeasure, coe_injective' := }
      theorem MeasureTheory.Measure.trimmed {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) :
      μ.trim = μ.toOuterMeasure

      General facts about measures #

      def MeasureTheory.Measure.ofMeasurable {α : Type u_1} [MeasurableSpace α] (m : (s : Set α) → MeasurableSet sENNReal) (m0 : m = 0) (mU : ∀ ⦃f : Set α⦄ (h : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) :

      Obtain a measure by giving a countably additive function that sends to 0.

      Equations
      Instances For
        theorem MeasureTheory.Measure.ofMeasurable_apply {α : Type u_1} [MeasurableSpace α] {m : (s : Set α) → MeasurableSet sENNReal} {m0 : m = 0} {mU : ∀ ⦃f : Set α⦄ (h : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) } (s : Set α) (hs : MeasurableSet s) :
        theorem MeasureTheory.Measure.ext_iff {α : Type u_1} [MeasurableSpace α] {μ₁ : MeasureTheory.Measure α} {μ₂ : MeasureTheory.Measure α} :
        μ₁ = μ₂ ∀ (s : Set α), MeasurableSet sμ₁ s = μ₂ s
        theorem MeasureTheory.Measure.ext {α : Type u_1} [MeasurableSpace α] {μ₁ : MeasureTheory.Measure α} {μ₂ : MeasureTheory.Measure α} (h : ∀ (s : Set α), MeasurableSet sμ₁ s = μ₂ s) :
        μ₁ = μ₂
        theorem MeasureTheory.Measure.ext_iff' {α : Type u_1} [MeasurableSpace α] {μ₁ : MeasureTheory.Measure α} {μ₂ : MeasureTheory.Measure α} :
        μ₁ = μ₂ ∀ (s : Set α), μ₁ s = μ₂ s
        theorem MeasureTheory.Measure.outerMeasure_le_iff {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {m : MeasureTheory.OuterMeasure α} :
        m μ.toOuterMeasure ∀ (s : Set α), MeasurableSet sm s μ s
        @[simp]
        theorem MeasureTheory.Measure.coe_toOuterMeasure {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) :
        μ.toOuterMeasure = μ
        theorem MeasureTheory.Measure.toOuterMeasure_apply {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) :
        μ.toOuterMeasure s = μ s
        theorem MeasureTheory.measure_eq_trim {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} (s : Set α) :
        μ s = μ.trim s
        theorem MeasureTheory.measure_eq_iInf {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} (s : Set α) :
        μ s = ⨅ (t : Set α), ⨅ (_ : s t), ⨅ (_ : MeasurableSet t), μ t
        theorem MeasureTheory.measure_eq_iInf' {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) :
        μ s = ⨅ (t : { t : Set α // s t MeasurableSet t }), μ t

        A variant of measure_eq_iInf which has a single iInf. This is useful when applying a lemma next that only works for non-empty infima, in which case you can use nonempty_measurable_superset.

        theorem MeasureTheory.measure_eq_inducedOuterMeasure {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} :
        μ s = (MeasureTheory.inducedOuterMeasure (fun (s : Set α) (x : MeasurableSet s) => μ s) ) s
        theorem MeasureTheory.toOuterMeasure_eq_inducedOuterMeasure {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} :
        μ.toOuterMeasure = MeasureTheory.inducedOuterMeasure (fun (s : Set α) (x : MeasurableSet s) => μ s)
        theorem MeasureTheory.measure_eq_extend {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} (hs : MeasurableSet s) :
        μ s = MeasureTheory.extend (fun (t : Set α) (_ht : MeasurableSet t) => μ t) s
        theorem MeasureTheory.nonempty_of_measure_ne_zero {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} (h : μ s 0) :
        s.Nonempty
        theorem MeasureTheory.measure_mono_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s₁ : Set α} {s₂ : Set α} (h : s₁ s₂) (h₁ : μ s₁ = ) :
        μ s₂ =
        @[simp]
        theorem MeasureTheory.measure_le_measure_union_left {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} :
        μ s μ (s t)
        @[simp]
        theorem MeasureTheory.measure_le_measure_union_right {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} :
        μ t μ (s t)
        theorem MeasureTheory.exists_measurable_superset {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) :
        ∃ (t : Set α), s t MeasurableSet t μ t = μ s

        For every set there exists a measurable superset of the same measure.

        theorem MeasureTheory.exists_measurable_superset_forall_eq {α : Type u_1} {ι : Sort u_5} [MeasurableSpace α] [Countable ι] (μ : ιMeasureTheory.Measure α) (s : Set α) :
        ∃ (t : Set α), s t MeasurableSet t ∀ (i : ι), (μ i) t = (μ i) s

        For every set s and a countable collection of measures μ i there exists a measurable superset t ⊇ s such that each measure μ i takes the same value on s and t.

        theorem MeasureTheory.exists_measurable_superset₂ {α : Type u_1} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (ν : MeasureTheory.Measure α) (s : Set α) :
        ∃ (t : Set α), s t MeasurableSet t μ t = μ s ν t = ν s
        theorem MeasureTheory.exists_measurable_superset_of_null {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} (h : μ s = 0) :
        ∃ (t : Set α), s t MeasurableSet t μ t = 0
        theorem MeasureTheory.measure_biUnion_lt_top {α : Type u_1} {β : Type u_2} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set β} {f : βSet α} (hs : s.Finite) (hfin : is, μ (f i) < ) :
        μ (⋃ is, f i) <
        @[deprecated MeasureTheory.measure_iUnion_null_iff]
        theorem MeasureTheory.measure_iUnion_null_iff' {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {ι : Prop} {s : ιSet α} :
        μ (⋃ (i : ι), s i) = 0 ∀ (i : ι), μ (s i) = 0
        theorem MeasureTheory.measure_union_lt_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (hs : μ s < ) (ht : μ t < ) :
        μ (s t) <
        @[simp]
        theorem MeasureTheory.measure_union_lt_top_iff {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} :
        μ (s t) < μ s < μ t <
        theorem MeasureTheory.measure_union_ne_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (hs : μ s ) (ht : μ t ) :
        μ (s t)
        theorem MeasureTheory.measure_symmDiff_ne_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (hs : μ s ) (ht : μ t ) :
        μ (symmDiff s t)
        @[simp]
        theorem MeasureTheory.measure_union_eq_top_iff {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} :
        μ (s t) = μ s = μ t =
        theorem MeasureTheory.exists_measure_pos_of_not_measure_iUnion_null {α : Type u_1} {ι : Sort u_5} [MeasurableSpace α] {μ : MeasureTheory.Measure α} [Countable ι] {s : ιSet α} (hs : μ (⋃ (n : ι), s n) 0) :
        ∃ (n : ι), 0 < μ (s n)
        theorem MeasureTheory.measure_lt_top_of_subset {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (hst : t s) (hs : μ s ) :
        μ t <
        theorem MeasureTheory.measure_inter_lt_top_of_left_ne_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (hs_finite : μ s ) :
        μ (s t) <
        theorem MeasureTheory.measure_inter_lt_top_of_right_ne_top {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {s : Set α} {t : Set α} (ht_finite : μ t ) :
        μ (s t) <
        theorem MeasureTheory.measure_inter_null_of_null_right {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} (S : Set α) {T : Set α} (h : μ T = 0) :
        μ (S T) = 0
        theorem MeasureTheory.measure_inter_null_of_null_left {α : Type u_1} [MeasurableSpace α] {μ : MeasureTheory.Measure α} {S : Set α} (T : Set α) (h : μ S = 0) :
        μ (S T) = 0

        The almost everywhere filter #

        theorem MeasurableSpace.ae_induction_on_inter {α : Type u_6} {β : Type u_7} [MeasurableSpace β] {μ : MeasureTheory.Measure β} {C : βSet αProp} {s : Set (Set α)} [m : MeasurableSpace α] (h_eq : m = MeasurableSpace.generateFrom s) (h_inter : IsPiSystem s) (h_empty : ∀ᵐ (x : β) ∂μ, C x ) (h_basic : ∀ᵐ (x : β) ∂μ, ts, C x t) (h_compl : ∀ᵐ (x : β) ∂μ, ∀ (t : Set α), MeasurableSet tC x tC x t) (h_union : ∀ᵐ (x : β) ∂μ, ∀ (f : Set α), Pairwise (Disjoint on f)(∀ (i : ), MeasurableSet (f i))(∀ (i : ), C x (f i))C x (⋃ (i : ), f i)) :
        ∀ᵐ (x : β) ∂μ, ∀ ⦃t : Set α⦄, MeasurableSet tC x t

        Given a predicate on β and Set α where both α and β are measurable spaces, if the predicate holds for almost every x : β and

        • ∅ : Set α
        • a family of sets generating the σ-algebra of α Moreover, if for almost every x : β, the predicate is closed under complements and countable disjoint unions, then the predicate holds for almost every x : β and all measurable sets of α.

        This is an AE version of MeasurableSpace.induction_on_inter where the condition is dependent on a measurable space β.

        theorem MeasureTheory.toMeasurable_def {α : Type u_6} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) :
        MeasureTheory.toMeasurable μ s = if h : ts, MeasurableSet t t =ᵐ[μ] s then h.choose else if h' : ts, MeasurableSet t ∀ (u : Set α), MeasurableSet uμ (t u) = μ (s u) then h'.choose else .choose
        @[irreducible]
        def MeasureTheory.toMeasurable {α : Type u_6} [MeasurableSpace α] (μ : MeasureTheory.Measure α) (s : Set α) :
        Set α

        A measurable set t ⊇ s such that μ t = μ s. It even satisfies μ (t ∩ u) = μ (s ∩ u) for any measurable set u if μ s ≠ ∞, see measure_toMeasurable_inter. (This property holds without the assumption μ s ≠ ∞ when the space is s-finite -- for example σ-finite), see measure_toMeasurable_inter_of_sFinite). If s is a null measurable set, then we also have t =ᵐ[μ] s, see NullMeasurableSet.toMeasurable_ae_eq. This notion is sometimes called a "measurable hull" in the literature.

        Equations
        Instances For
          class MeasureTheory.MeasureSpace (α : Type u_6) extends MeasurableSpace :
          Type u_6

          A measure space is a measurable space equipped with a measure, referred to as volume.

          • MeasurableSet' : Set αProp
          • measurableSet_empty : MeasureTheory.MeasureSpace.toMeasurableSpace.MeasurableSet'
          • measurableSet_compl : ∀ (s : Set α), MeasureTheory.MeasureSpace.toMeasurableSpace.MeasurableSet' sMeasureTheory.MeasureSpace.toMeasurableSpace.MeasurableSet' s
          • measurableSet_iUnion : ∀ (f : Set α), (∀ (i : ), MeasureTheory.MeasureSpace.toMeasurableSpace.MeasurableSet' (f i))MeasureTheory.MeasureSpace.toMeasurableSpace.MeasurableSet' (⋃ (i : ), f i)
          • volume is the canonical measure on α.

          Instances

            ∀ᵐ a, p a means that p a for a.e. a, i.e. p holds true away from a null set.

            This is notation for Filter.Eventually P (MeasureTheory.ae MeasureSpace.volume).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Pretty printer defined by notation3 command.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                ∃ᵐ a, p a means that p holds frequently, i.e. on a set of positive measure, w.r.t. the volume measure.

                This is notation for Filter.Frequently P (MeasureTheory.ae MeasureSpace.volume).

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Pretty printer defined by notation3 command.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    The tactic exact volume, to be used in optional (autoParam) arguments.

                    Equations
                    Instances For

                      Almost everywhere measurable functions #

                      A function is almost everywhere measurable if it coincides almost everywhere with a measurable function. We define this property, called AEMeasurable f μ. It's properties are discussed in MeasureTheory.MeasureSpace.

                      def AEMeasurable {α : Type u_1} {β : Type u_2} [MeasurableSpace β] {_m : MeasurableSpace α} (f : αβ) (μ : autoParam (MeasureTheory.Measure α) _auto✝) :

                      A function is almost everywhere measurable if it coincides almost everywhere with a measurable function.

                      Equations
                      Instances For
                        theorem Measurable.aemeasurable {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {μ : MeasureTheory.Measure α} (h : Measurable f) :
                        theorem AEMeasurable.of_discrete {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {μ : MeasureTheory.Measure α} [DiscreteMeasurableSpace α] :
                        def AEMeasurable.mk {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {μ : MeasureTheory.Measure α} (f : αβ) (h : AEMeasurable f μ) :
                        αβ

                        Given an almost everywhere measurable function f, associate to it a measurable function that coincides with it almost everywhere. f is explicit in the definition to make sure that it shows in pretty-printing.

                        Equations
                        Instances For
                          theorem AEMeasurable.measurable_mk {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {μ : MeasureTheory.Measure α} (h : AEMeasurable f μ) :
                          theorem AEMeasurable.ae_eq_mk {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {μ : MeasureTheory.Measure α} (h : AEMeasurable f μ) :
                          theorem AEMeasurable.congr {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {g : αβ} {μ : MeasureTheory.Measure α} (hf : AEMeasurable f μ) (h : f =ᵐ[μ] g) :
                          theorem aemeasurable_congr {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {f : αβ} {g : αβ} {μ : MeasureTheory.Measure α} (h : f =ᵐ[μ] g) :
                          @[simp]
                          theorem aemeasurable_const {α : Type u_1} {β : Type u_2} {m : MeasurableSpace α} [MeasurableSpace β] {μ : MeasureTheory.Measure α} {b : β} :
                          AEMeasurable (fun (_a : α) => b) μ
                          theorem aemeasurable_id {α : Type u_1} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} :
                          theorem aemeasurable_id' {α : Type u_1} {m : MeasurableSpace α} {μ : MeasureTheory.Measure α} :
                          AEMeasurable (fun (x : α) => x) μ
                          theorem Measurable.comp_aemeasurable {α : Type u_1} {β : Type u_2} {δ : Type u_4} {m : MeasurableSpace α} [MeasurableSpace β] {μ : MeasureTheory.Measure α} [MeasurableSpace δ] {f : αδ} {g : δβ} (hg : Measurable g) (hf : AEMeasurable f μ) :
                          AEMeasurable (g f) μ
                          theorem Measurable.comp_aemeasurable' {α : Type u_1} {β : Type u_2} {δ : Type u_4} {m : MeasurableSpace α} [MeasurableSpace β] {μ : MeasureTheory.Measure α} [MeasurableSpace δ] {f : αδ} {g : δβ} (hg : Measurable g) (hf : AEMeasurable f μ) :
                          AEMeasurable (fun (x : α) => g (f x)) μ