Documentation

Mathlib.MeasureTheory.OuterMeasure.Basic

Outer Measures #

An outer measure is a function μ : Set α → ℝ≥0∞, from the powerset of a type to the extended nonnegative real numbers that satisfies the following conditions:

  1. μ ∅ = 0;
  2. μ is monotone;
  3. μ is countably subadditive. This means that the outer measure of a countable union is at most the sum of the outer measure on the individual sets.

Note that we do not need α to be measurable to define an outer measure.

The outer measures on a type α form a complete lattice.

Given an arbitrary function m : Set α → ℝ≥0∞ that sends to 0 we can define an outer measure on α that on s is defined to be the infimum of ∑ᵢ, m (sᵢ) for all collections of sets sᵢ that cover s. This is the unique maximal outer measure that is at most the given function. We also define this for functions m defined on a subset of Set α, by treating the function as having value outside its domain.

Given an outer measure m, the Carathéodory-measurable sets are the sets s such that for all sets t we have m t = m (t ∩ s) + m (t \ s). This forms a measurable space.

Main definitions and statements #

References #

Tags #

outer measure, Carathéodory-measurable, Carathéodory's criterion

structure MeasureTheory.OuterMeasure (α : Type u_1) :
Type u_1

An outer measure is a countably subadditive monotone function that sends to 0.

  • measureOf : Set αENNReal
  • empty : self = 0
  • mono : ∀ {s₁ s₂ : Set α}, s₁ s₂self s₁ self s₂
  • iUnion_nat : ∀ (s : Set α), self (⋃ (i : ), s i) ∑' (i : ), self (s i)
Instances For
    Equations
    theorem MeasureTheory.OuterMeasure.mono' {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {s₁ : Set α} {s₂ : Set α} (h : s₁ s₂) :
    m s₁ m s₂
    theorem MeasureTheory.OuterMeasure.mono_null {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {s : Set α} {t : Set α} (h : s t) (ht : m t = 0) :
    m s = 0
    theorem MeasureTheory.OuterMeasure.pos_of_subset_ne_zero {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {a : Set α} {b : Set α} (hs : a b) (hnz : m a 0) :
    0 < m b
    theorem MeasureTheory.OuterMeasure.iUnion {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {β : Type u_5} [Countable β] (s : βSet α) :
    m (⋃ (i : β), s i) ∑' (i : β), m (s i)
    theorem MeasureTheory.OuterMeasure.biUnion_null_iff {α : Type u_1} {β : Type u_2} (m : MeasureTheory.OuterMeasure α) {s : Set β} (hs : Set.Countable s) {t : βSet α} :
    m (⋃ i ∈ s, t i) = 0 is, m (t i) = 0
    theorem MeasureTheory.OuterMeasure.sUnion_null_iff {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {S : Set (Set α)} (hS : Set.Countable S) :
    m (⋃₀ S) = 0 sS, m s = 0
    @[simp]
    theorem MeasureTheory.OuterMeasure.iUnion_null_iff {α : Type u_1} {ι : Sort u_5} [Countable ι] (m : MeasureTheory.OuterMeasure α) {s : ιSet α} :
    m (⋃ (i : ι), s i) = 0 ∀ (i : ι), m (s i) = 0
    theorem MeasureTheory.OuterMeasure.iUnion_null {α : Type u_1} {ι : Sort u_5} [Countable ι] (m : MeasureTheory.OuterMeasure α) {s : ιSet α} :
    (∀ (i : ι), m (s i) = 0)m (⋃ (i : ι), s i) = 0

    Alias of the reverse direction of MeasureTheory.OuterMeasure.iUnion_null_iff.

    @[deprecated]
    theorem MeasureTheory.OuterMeasure.iUnion_null_iff' {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {ι : Prop} {s : ιSet α} :
    m (⋃ (i : ι), s i) = 0 ∀ (i : ι), m (s i) = 0
    theorem MeasureTheory.OuterMeasure.iUnion_finset {α : Type u_1} {β : Type u_2} (m : MeasureTheory.OuterMeasure α) (s : βSet α) (t : Finset β) :
    m (⋃ i ∈ t, s i) Finset.sum t fun (i : β) => m (s i)
    theorem MeasureTheory.OuterMeasure.union {α : Type u_1} (m : MeasureTheory.OuterMeasure α) (s₁ : Set α) (s₂ : Set α) :
    m (s₁ s₂) m s₁ + m s₂
    theorem MeasureTheory.OuterMeasure.null_of_locally_null {α : Type u_1} [TopologicalSpace α] [SecondCountableTopology α] (m : MeasureTheory.OuterMeasure α) (s : Set α) (hs : xs, ∃ u ∈ nhdsWithin x s, m u = 0) :
    m s = 0

    If a set has zero measure in a neighborhood of each of its points, then it has zero measure in a second-countable space.

    theorem MeasureTheory.OuterMeasure.exists_mem_forall_mem_nhds_within_pos {α : Type u_1} [TopologicalSpace α] [SecondCountableTopology α] (m : MeasureTheory.OuterMeasure α) {s : Set α} (hs : m s 0) :
    ∃ x ∈ s, tnhdsWithin x s, 0 < m t

    If m s ≠ 0, then for some point x ∈ s and any t ∈ 𝓝[s] x we have 0 < m t.

    theorem MeasureTheory.OuterMeasure.iUnion_of_tendsto_zero {α : Type u_1} {ι : Type u_5} (m : MeasureTheory.OuterMeasure α) {s : ιSet α} (l : Filter ι) [Filter.NeBot l] (h0 : Filter.Tendsto (fun (k : ι) => m ((⋃ (n : ι), s n) \ s k)) l (nhds 0)) :
    m (⋃ (n : ι), s n) = ⨆ (n : ι), m (s n)

    If s : ι → Set α is a sequence of sets, S = ⋃ n, s n, and m (S \ s n) tends to zero along some nontrivial filter (usually atTop on ι = ℕ), then m S = ⨆ n, m (s n).

    theorem MeasureTheory.OuterMeasure.iUnion_nat_of_monotone_of_tsum_ne_top {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {s : Set α} (h_mono : ∀ (n : ), s n s (n + 1)) (h0 : ∑' (k : ), m (s (k + 1) \ s k) ) :
    m (⋃ (n : ), s n) = ⨆ (n : ), m (s n)

    If s : ℕ → Set α is a monotone sequence of sets such that ∑' k, m (s (k + 1) \ s k) ≠ ∞, then m (⋃ n, s n) = ⨆ n, m (s n).

    theorem MeasureTheory.OuterMeasure.le_inter_add_diff {α : Type u_1} {m : MeasureTheory.OuterMeasure α} {t : Set α} (s : Set α) :
    m t m (t s) + m (t \ s)
    theorem MeasureTheory.OuterMeasure.diff_null {α : Type u_1} (m : MeasureTheory.OuterMeasure α) (s : Set α) {t : Set α} (ht : m t = 0) :
    m (s \ t) = m s
    theorem MeasureTheory.OuterMeasure.union_null {α : Type u_1} (m : MeasureTheory.OuterMeasure α) {s₁ : Set α} {s₂ : Set α} (h₁ : m s₁ = 0) (h₂ : m s₂ = 0) :
    m (s₁ s₂) = 0
    theorem MeasureTheory.OuterMeasure.ext {α : Type u_1} {μ₁ : MeasureTheory.OuterMeasure α} {μ₂ : MeasureTheory.OuterMeasure α} (h : ∀ (s : Set α), μ₁ s = μ₂ s) :
    μ₁ = μ₂
    theorem MeasureTheory.OuterMeasure.ext_nonempty {α : Type u_1} {μ₁ : MeasureTheory.OuterMeasure α} {μ₂ : MeasureTheory.OuterMeasure α} (h : ∀ (s : Set α), Set.Nonempty sμ₁ s = μ₂ s) :
    μ₁ = μ₂

    A version of MeasureTheory.OuterMeasure.ext that assumes μ₁ s = μ₂ s on all nonempty sets s, and gets μ₁ ∅ = μ₂ ∅ from MeasureTheory.OuterMeasure.empty'.

    Equations
    • MeasureTheory.OuterMeasure.instZero = { zero := { measureOf := fun (x : Set α) => 0, empty := , mono := , iUnion_nat := } }
    @[simp]
    theorem MeasureTheory.OuterMeasure.coe_zero {α : Type u_1} :
    0 = 0
    Equations
    • MeasureTheory.OuterMeasure.instInhabited = { default := 0 }
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem MeasureTheory.OuterMeasure.coe_add {α : Type u_1} (m₁ : MeasureTheory.OuterMeasure α) (m₂ : MeasureTheory.OuterMeasure α) :
    (m₁ + m₂) = m₁ + m₂
    theorem MeasureTheory.OuterMeasure.add_apply {α : Type u_1} (m₁ : MeasureTheory.OuterMeasure α) (m₂ : MeasureTheory.OuterMeasure α) (s : Set α) :
    (m₁ + m₂) s = m₁ s + m₂ s
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem MeasureTheory.OuterMeasure.coe_smul {α : Type u_1} {R : Type u_3} [SMul R ENNReal] [IsScalarTower R ENNReal ENNReal] (c : R) (m : MeasureTheory.OuterMeasure α) :
    (c m) = c m
    theorem MeasureTheory.OuterMeasure.smul_apply {α : Type u_1} {R : Type u_3} [SMul R ENNReal] [IsScalarTower R ENNReal ENNReal] (c : R) (m : MeasureTheory.OuterMeasure α) (s : Set α) :
    (c m) s = c m s
    Equations
    Equations
    @[simp]
    theorem MeasureTheory.OuterMeasure.coeFnAddMonoidHom_apply {α : Type u_1} (self : MeasureTheory.OuterMeasure α) :
    ∀ (a : Set α), MeasureTheory.OuterMeasure.coeFnAddMonoidHom self a = self a

    (⇑) as an AddMonoidHom.

    Equations
    • MeasureTheory.OuterMeasure.coeFnAddMonoidHom = { toZeroHom := { toFun := MeasureTheory.OuterMeasure.measureOf, map_zero' := }, map_add' := }
    Instances For
      Equations
      Equations
      Equations
      • MeasureTheory.OuterMeasure.instBot = { bot := 0 }
      @[simp]
      Equations
      Equations
      Equations
      • One or more equations did not get rendered due to their size.
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem MeasureTheory.OuterMeasure.sSup_apply {α : Type u_1} (ms : Set (MeasureTheory.OuterMeasure α)) (s : Set α) :
      (sSup ms) s = ⨆ m ∈ ms, m s
      @[simp]
      theorem MeasureTheory.OuterMeasure.iSup_apply {α : Type u_1} {ι : Sort u_5} (f : ιMeasureTheory.OuterMeasure α) (s : Set α) :
      (⨆ (i : ι), f i) s = ⨆ (i : ι), (f i) s
      theorem MeasureTheory.OuterMeasure.coe_iSup {α : Type u_1} {ι : Sort u_5} (f : ιMeasureTheory.OuterMeasure α) :
      (⨆ (i : ι), f i) = ⨆ (i : ι), (f i)
      @[simp]
      theorem MeasureTheory.OuterMeasure.sup_apply {α : Type u_1} (m₁ : MeasureTheory.OuterMeasure α) (m₂ : MeasureTheory.OuterMeasure α) (s : Set α) :
      (m₁ m₂) s = m₁ s m₂ s
      theorem MeasureTheory.OuterMeasure.smul_iSup {α : Type u_1} {R : Type u_3} [SMul R ENNReal] [IsScalarTower R ENNReal ENNReal] {ι : Sort u_5} (f : ιMeasureTheory.OuterMeasure α) (c : R) :
      c ⨆ (i : ι), f i = ⨆ (i : ι), c f i
      theorem MeasureTheory.OuterMeasure.mono'' {α : Type u_1} {m₁ : MeasureTheory.OuterMeasure α} {m₂ : MeasureTheory.OuterMeasure α} {s₁ : Set α} {s₂ : Set α} (hm : m₁ m₂) (hs : s₁ s₂) :
      m₁ s₁ m₂ s₂

      The pushforward of m along f. The outer measure on s is defined to be m (f ⁻¹' s).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem MeasureTheory.OuterMeasure.map_apply {α : Type u_1} {β : Type u_5} (f : αβ) (m : MeasureTheory.OuterMeasure α) (s : Set β) :
        ((MeasureTheory.OuterMeasure.map f) m) s = m (f ⁻¹' s)
        @[simp]
        theorem MeasureTheory.OuterMeasure.map_map {α : Type u_1} {β : Type u_5} {γ : Type u_6} (f : αβ) (g : βγ) (m : MeasureTheory.OuterMeasure α) :
        theorem MeasureTheory.OuterMeasure.map_mono {α : Type u_1} {β : Type u_5} (f : αβ) :
        @[simp]
        theorem MeasureTheory.OuterMeasure.map_iSup {α : Type u_1} {β : Type u_5} {ι : Sort u_6} (f : αβ) (m : ιMeasureTheory.OuterMeasure α) :
        (MeasureTheory.OuterMeasure.map f) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.map f) (m i)
        Equations
        • One or more equations did not get rendered due to their size.

        The dirac outer measure.

        Equations
        Instances For
          @[simp]
          theorem MeasureTheory.OuterMeasure.dirac_apply {α : Type u_1} (a : α) (s : Set α) :
          (MeasureTheory.OuterMeasure.dirac a) s = Set.indicator s (fun (x : α) => 1) a

          The sum of an (arbitrary) collection of outer measures.

          Equations
          Instances For
            @[simp]
            theorem MeasureTheory.OuterMeasure.sum_apply {α : Type u_1} {ι : Type u_5} (f : ιMeasureTheory.OuterMeasure α) (s : Set α) :
            (MeasureTheory.OuterMeasure.sum f) s = ∑' (i : ι), (f i) s
            theorem MeasureTheory.OuterMeasure.smul_dirac_apply {α : Type u_1} (a : ENNReal) (b : α) (s : Set α) :
            (a MeasureTheory.OuterMeasure.dirac b) s = Set.indicator s (fun (x : α) => a) b

            Pullback of an OuterMeasure: comap f μ s = μ (f '' s).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem MeasureTheory.OuterMeasure.comap_apply {α : Type u_1} {β : Type u_5} (f : αβ) (m : MeasureTheory.OuterMeasure β) (s : Set α) :
              ((MeasureTheory.OuterMeasure.comap f) m) s = m (f '' s)
              @[simp]
              theorem MeasureTheory.OuterMeasure.comap_iSup {α : Type u_1} {β : Type u_5} {ι : Sort u_6} (f : αβ) (m : ιMeasureTheory.OuterMeasure β) :
              (MeasureTheory.OuterMeasure.comap f) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.comap f) (m i)
              @[simp]
              theorem MeasureTheory.OuterMeasure.restrict_apply {α : Type u_1} (s : Set α) (t : Set α) (m : MeasureTheory.OuterMeasure α) :
              ((MeasureTheory.OuterMeasure.restrict s) m) t = m (t s)
              @[simp]
              theorem MeasureTheory.OuterMeasure.restrict_iSup {α : Type u_1} {ι : Sort u_5} (s : Set α) (m : ιMeasureTheory.OuterMeasure α) :
              (MeasureTheory.OuterMeasure.restrict s) (⨆ (i : ι), m i) = ⨆ (i : ι), (MeasureTheory.OuterMeasure.restrict s) (m i)
              @[simp]
              theorem MeasureTheory.OuterMeasure.top_apply {α : Type u_1} {s : Set α} (h : Set.Nonempty s) :
              s =
              theorem MeasureTheory.OuterMeasure.top_apply' {α : Type u_1} (s : Set α) :
              s = ⨅ (_ : s = ), 0
              @[simp]
              theorem MeasureTheory.OuterMeasure.comap_top {α : Type u_1} {β : Type u_2} (f : αβ) :
              def MeasureTheory.OuterMeasure.ofFunction {α : Type u_1} (m : Set αENNReal) (m_empty : m = 0) :

              Given any function m assigning measures to sets satisying m ∅ = 0, there is a unique maximal outer measure μ satisfying μ s ≤ m s for all s : Set α.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MeasureTheory.OuterMeasure.ofFunction_apply {α : Type u_1} (m : Set αENNReal) (m_empty : m = 0) (s : Set α) :
                (MeasureTheory.OuterMeasure.ofFunction m m_empty) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), m (t n)
                theorem MeasureTheory.OuterMeasure.ofFunction_le {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} (s : Set α) :
                theorem MeasureTheory.OuterMeasure.ofFunction_eq {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} (s : Set α) (m_mono : ∀ ⦃t : Set α⦄, s tm s m t) (m_subadd : ∀ (s : Set α), m (⋃ (i : ), s i) ∑' (i : ), m (s i)) :
                theorem MeasureTheory.OuterMeasure.le_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {μ : MeasureTheory.OuterMeasure α} :
                μ MeasureTheory.OuterMeasure.ofFunction m m_empty ∀ (s : Set α), μ s m s
                theorem MeasureTheory.OuterMeasure.isGreatest_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} :
                IsGreatest {μ : MeasureTheory.OuterMeasure α | ∀ (s : Set α), μ s m s} (MeasureTheory.OuterMeasure.ofFunction m m_empty)
                theorem MeasureTheory.OuterMeasure.ofFunction_eq_sSup {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} :
                MeasureTheory.OuterMeasure.ofFunction m m_empty = sSup {μ : MeasureTheory.OuterMeasure α | ∀ (s : Set α), μ s m s}
                theorem MeasureTheory.OuterMeasure.ofFunction_union_of_top_of_nonempty_inter {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {s : Set α} {t : Set α} (h : ∀ (u : Set α), Set.Nonempty (s u)Set.Nonempty (t u)m u = ) :

                If m u = ∞ for any set u that has nonempty intersection both with s and t, then μ (s ∪ t) = μ s + μ t, where μ = MeasureTheory.OuterMeasure.ofFunction m m_empty.

                E.g., if α is an (e)metric space and m u = ∞ on any set of diameter ≥ r, then this lemma implies that μ (s ∪ t) = μ s + μ t on any two sets such that r ≤ edist x y for all x ∈ s and y ∈ t.

                theorem MeasureTheory.OuterMeasure.comap_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {β : Type u_2} (f : βα) (h : Monotone m Function.Surjective f) :
                theorem MeasureTheory.OuterMeasure.map_ofFunction_le {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {β : Type u_2} (f : αβ) :
                theorem MeasureTheory.OuterMeasure.map_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {β : Type u_2} {f : αβ} (hf : Function.Injective f) :

                Given any function m assigning measures to sets, there is a unique maximal outer measure μ satisfying μ s ≤ m s for all s : Set α. This is the same as OuterMeasure.ofFunction, except that it doesn't require m ∅ = 0.

                Equations
                Instances For
                  theorem MeasureTheory.OuterMeasure.boundedBy_apply {α : Type u_1} {m : Set αENNReal} (s : Set α) :
                  (MeasureTheory.OuterMeasure.boundedBy m) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨆ (_ : Set.Nonempty (t n)), m (t n)
                  theorem MeasureTheory.OuterMeasure.boundedBy_eq {α : Type u_1} {m : Set αENNReal} (s : Set α) (m_empty : m = 0) (m_mono : ∀ ⦃t : Set α⦄, s tm s m t) (m_subadd : ∀ (s : Set α), m (⋃ (i : ), s i) ∑' (i : ), m (s i)) :
                  theorem MeasureTheory.OuterMeasure.comap_boundedBy {α : Type u_1} {m : Set αENNReal} {β : Type u_2} (f : βα) (h : (Monotone fun (s : { s : Set α // Set.Nonempty s }) => m s) Function.Surjective f) :

                  If m u = ∞ for any set u that has nonempty intersection both with s and t, then μ (s ∪ t) = μ s + μ t, where μ = MeasureTheory.OuterMeasure.boundedBy m.

                  E.g., if α is an (e)metric space and m u = ∞ on any set of diameter ≥ r, then this lemma implies that μ (s ∪ t) = μ s + μ t on any two sets such that r ≤ edist x y for all x ∈ s and y ∈ t.

                  A set s is Carathéodory-measurable for an outer measure m if for all sets t we have m t = m (t ∩ s) + m (t \ s).

                  Equations
                  Instances For
                    theorem MeasureTheory.OuterMeasure.measure_inter_union {α : Type u} (m : MeasureTheory.OuterMeasure α) {s₁ : Set α} {s₂ : Set α} (h : s₁ s₂ ) (h₁ : MeasureTheory.OuterMeasure.IsCaratheodory m s₁) {t : Set α} :
                    m (t (s₁ s₂)) = m (t s₁) + m (t s₂)
                    theorem MeasureTheory.OuterMeasure.isCaratheodory_sum {α : Type u} (m : MeasureTheory.OuterMeasure α) {s : Set α} (h : ∀ (i : ), MeasureTheory.OuterMeasure.IsCaratheodory m (s i)) (hd : Pairwise (Disjoint on s)) {t : Set α} {n : } :
                    (Finset.sum (Finset.range n) fun (i : ) => m (t s i)) = m (t ⋃ (i : ), ⋃ (_ : i < n), s i)
                    theorem MeasureTheory.OuterMeasure.f_iUnion {α : Type u} (m : MeasureTheory.OuterMeasure α) {s : Set α} (h : ∀ (i : ), MeasureTheory.OuterMeasure.IsCaratheodory m (s i)) (hd : Pairwise (Disjoint on s)) :
                    m (⋃ (i : ), s i) = ∑' (i : ), m (s i)

                    The Carathéodory-measurable sets for an outer measure m form a Dynkin system.

                    Equations
                    Instances For

                      Given an outer measure μ, the Carathéodory-measurable space is defined such that s is measurable if ∀t, μ t = μ (t ∩ s) + μ (t \ s).

                      Equations
                      Instances For
                        theorem MeasureTheory.OuterMeasure.isCaratheodory_iff {α : Type u} (m : MeasureTheory.OuterMeasure α) {s : Set α} :
                        MeasurableSet s ∀ (t : Set α), m t = m (t s) + m (t \ s)
                        theorem MeasureTheory.OuterMeasure.isCaratheodory_iff_le {α : Type u} (m : MeasureTheory.OuterMeasure α) {s : Set α} :
                        MeasurableSet s ∀ (t : Set α), m (t s) + m (t \ s) m t
                        theorem MeasureTheory.OuterMeasure.iUnion_eq_of_caratheodory {α : Type u} (m : MeasureTheory.OuterMeasure α) {s : Set α} (h : ∀ (i : ), MeasurableSet (s i)) (hd : Pairwise (Disjoint on s)) :
                        m (⋃ (i : ), s i) = ∑' (i : ), m (s i)
                        theorem MeasureTheory.OuterMeasure.ofFunction_caratheodory {α : Type u_1} {m : Set αENNReal} {s : Set α} {h₀ : m = 0} (hs : ∀ (t : Set α), m (t s) + m (t \ s) m t) :
                        theorem MeasureTheory.OuterMeasure.boundedBy_caratheodory {α : Type u_1} {m : Set αENNReal} {s : Set α} (hs : ∀ (t : Set α), m (t s) + m (t \ s) m t) :

                        Given a set of outer measures, we define a new function that on a set s is defined to be the infimum of μ(s) for the outer measures μ in the collection. We ensure that this function is defined to be 0 on , even if the collection of outer measures is empty. The outer measure generated by this function is the infimum of the given outer measures.

                        Equations
                        Instances For
                          theorem MeasureTheory.OuterMeasure.sInf_apply {α : Type u_1} {m : Set (MeasureTheory.OuterMeasure α)} {s : Set α} (h : Set.Nonempty m) :
                          (sInf m) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ μ ∈ m, μ (t n)

                          The value of the Infimum of a nonempty set of outer measures on a set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.sInf_apply' {α : Type u_1} {m : Set (MeasureTheory.OuterMeasure α)} {s : Set α} (h : Set.Nonempty s) :
                          (sInf m) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ μ ∈ m, μ (t n)

                          The value of the Infimum of a set of outer measures on a nonempty set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.iInf_apply {α : Type u_1} {ι : Sort u_2} [Nonempty ι] (m : ιMeasureTheory.OuterMeasure α) (s : Set α) :
                          (⨅ (i : ι), m i) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ (i : ι), (m i) (t n)

                          The value of the Infimum of a nonempty family of outer measures on a set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.iInf_apply' {α : Type u_1} {ι : Sort u_2} (m : ιMeasureTheory.OuterMeasure α) {s : Set α} (hs : Set.Nonempty s) :
                          (⨅ (i : ι), m i) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ (i : ι), (m i) (t n)

                          The value of the Infimum of a family of outer measures on a nonempty set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.biInf_apply {α : Type u_1} {ι : Type u_2} {I : Set ι} (hI : Set.Nonempty I) (m : ιMeasureTheory.OuterMeasure α) (s : Set α) :
                          (⨅ i ∈ I, m i) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ i ∈ I, (m i) (t n)

                          The value of the Infimum of a nonempty family of outer measures on a set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.biInf_apply' {α : Type u_1} {ι : Type u_2} (I : Set ι) (m : ιMeasureTheory.OuterMeasure α) {s : Set α} (hs : Set.Nonempty s) :
                          (⨅ i ∈ I, m i) s = ⨅ (t : Set α), ⨅ (_ : s Set.iUnion t), ∑' (n : ), ⨅ i ∈ I, (m i) (t n)

                          The value of the Infimum of a nonempty family of outer measures on a set is not simply the minimum value of a measure on that set: it is the infimum sum of measures of countable set of sets that covers that set, where a different measure can be used for each set in the cover.

                          theorem MeasureTheory.OuterMeasure.map_iInf_le {α : Type u_1} {ι : Sort u_2} {β : Type u_3} (f : αβ) (m : ιMeasureTheory.OuterMeasure α) :
                          (MeasureTheory.OuterMeasure.map f) (⨅ (i : ι), m i) ⨅ (i : ι), (MeasureTheory.OuterMeasure.map f) (m i)
                          theorem MeasureTheory.OuterMeasure.comap_iInf {α : Type u_1} {ι : Sort u_2} {β : Type u_3} (f : αβ) (m : ιMeasureTheory.OuterMeasure β) :
                          (MeasureTheory.OuterMeasure.comap f) (⨅ (i : ι), m i) = ⨅ (i : ι), (MeasureTheory.OuterMeasure.comap f) (m i)
                          theorem MeasureTheory.OuterMeasure.map_iInf {α : Type u_1} {ι : Sort u_2} {β : Type u_3} {f : αβ} (hf : Function.Injective f) (m : ιMeasureTheory.OuterMeasure α) :
                          theorem MeasureTheory.OuterMeasure.map_iInf_comap {α : Type u_1} {ι : Sort u_2} {β : Type u_3} [Nonempty ι] {f : αβ} (m : ιMeasureTheory.OuterMeasure β) :
                          theorem MeasureTheory.OuterMeasure.map_biInf_comap {α : Type u_1} {ι : Type u_2} {β : Type u_3} {I : Set ι} (hI : Set.Nonempty I) {f : αβ} (m : ιMeasureTheory.OuterMeasure β) :
                          theorem MeasureTheory.OuterMeasure.restrict_iInf {α : Type u_1} {ι : Sort u_2} [Nonempty ι] (s : Set α) (m : ιMeasureTheory.OuterMeasure α) :
                          (MeasureTheory.OuterMeasure.restrict s) (⨅ (i : ι), m i) = ⨅ (i : ι), (MeasureTheory.OuterMeasure.restrict s) (m i)
                          theorem MeasureTheory.OuterMeasure.restrict_biInf {α : Type u_1} {ι : Type u_2} {I : Set ι} (hI : Set.Nonempty I) (s : Set α) (m : ιMeasureTheory.OuterMeasure α) :
                          (MeasureTheory.OuterMeasure.restrict s) (⨅ i ∈ I, m i) = ⨅ i ∈ I, (MeasureTheory.OuterMeasure.restrict s) (m i)

                          This proves that Inf and restrict commute for outer measures, so long as the set of outer measures is nonempty.

                          Induced Outer Measure #

                          We can extend a function defined on a subset of Set α to an outer measure. The underlying function is called extend, and the measure it induces is called inducedOuterMeasure.

                          Some lemmas below are proven twice, once in the general case, and one where the function m is only defined on measurable sets (i.e. when P = MeasurableSet). In the latter cases, we can remove some hypotheses in the statement. The general version has the same name, but with a prime at the end.

                          def MeasureTheory.extend {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) (s : α) :

                          We can trivially extend a function defined on a subclass of objects (with codomain ℝ≥0∞) to all objects by defining it to be on the objects not in the class.

                          Equations
                          Instances For
                            theorem MeasureTheory.extend_eq {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {s : α} (h : P s) :
                            theorem MeasureTheory.extend_eq_top {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {s : α} (h : ¬P s) :
                            theorem MeasureTheory.smul_extend {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {R : Type u_2} [Zero R] [SMulWithZero R ENNReal] [IsScalarTower R ENNReal ENNReal] [NoZeroSMulDivisors R ENNReal] {c : R} (hc : c 0) :
                            c MeasureTheory.extend m = MeasureTheory.extend fun (s : α) (h : P s) => c m s h
                            theorem MeasureTheory.le_extend {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {s : α} (h : P s) :
                            theorem MeasureTheory.extend_congr {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {β : Type u_2} {Pb : βProp} {mb : (s : β) → Pb sENNReal} {sa : α} {sb : β} (hP : P sa Pb sb) (hm : ∀ (ha : P sa) (hb : Pb sb), m sa ha = mb sb hb) :
                            @[simp]
                            theorem MeasureTheory.extend_top {α : Type u_2} {P : αProp} :
                            (MeasureTheory.extend fun (x : α) (x : P x) => ) =
                            theorem MeasureTheory.extend_empty {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (P0 : P ) (m0 : m P0 = 0) :
                            theorem MeasureTheory.extend_iUnion_nat {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) {f : Set α} (hm : ∀ (i : ), P (f i)) (mU : m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) :
                            MeasureTheory.extend m (⋃ (i : ), f i) = ∑' (i : ), MeasureTheory.extend m (f i)
                            theorem MeasureTheory.extend_iUnion_le_tsum_nat' {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (s : Set α) :
                            MeasureTheory.extend m (⋃ (i : ), s i) ∑' (i : ), MeasureTheory.extend m (s i)
                            theorem MeasureTheory.extend_mono' {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) ⦃s₁ : Set α ⦃s₂ : Set α (h₁ : P s₁) (hs : s₁ s₂) :
                            theorem MeasureTheory.extend_iUnion {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (P0 : P ) (m0 : m P0 = 0) (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) {β : Type u_2} [Countable β] {f : βSet α} (hd : Pairwise (Disjoint on f)) (hm : ∀ (i : β), P (f i)) :
                            MeasureTheory.extend m (⋃ (i : β), f i) = ∑' (i : β), MeasureTheory.extend m (f i)
                            theorem MeasureTheory.extend_union {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} (P0 : P ) (m0 : m P0 = 0) (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) {s₁ : Set α} {s₂ : Set α} (hd : Disjoint s₁ s₂) (h₁ : P s₁) (h₂ : P s₂) :
                            def MeasureTheory.inducedOuterMeasure {α : Type u_1} {P : Set αProp} (m : (s : Set α) → P sENNReal) (P0 : P ) (m0 : m P0 = 0) :

                            Given an arbitrary function on a subset of sets, we can define the outer measure corresponding to it (this is the unique maximal outer measure that is at most m on the domain of m).

                            Equations
                            Instances For
                              theorem MeasureTheory.le_inducedOuterMeasure {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} {μ : MeasureTheory.OuterMeasure α} :
                              μ MeasureTheory.inducedOuterMeasure m P0 m0 ∀ (s : Set α) (hs : P s), μ s m s hs
                              theorem MeasureTheory.inducedOuterMeasure_union_of_false_of_nonempty_inter {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} {s : Set α} {t : Set α} (h : ∀ (u : Set α), Set.Nonempty (s u)Set.Nonempty (t u)¬P u) :

                              If P u is False for any set u that has nonempty intersection both with s and t, then μ (s ∪ t) = μ s + μ t, where μ = inducedOuterMeasure m P0 m0.

                              E.g., if α is an (e)metric space and P u = diam u < r, then this lemma implies that μ (s ∪ t) = μ s + μ t on any two sets such that r ≤ edist x y for all x ∈ s and y ∈ t.

                              theorem MeasureTheory.inducedOuterMeasure_eq_extend' {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) {s : Set α} (hs : P s) :
                              theorem MeasureTheory.inducedOuterMeasure_eq' {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) {s : Set α} (hs : P s) :
                              (MeasureTheory.inducedOuterMeasure m P0 m0) s = m s hs
                              theorem MeasureTheory.inducedOuterMeasure_eq_iInf {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) (s : Set α) :
                              (MeasureTheory.inducedOuterMeasure m P0 m0) s = ⨅ (t : Set α), ⨅ (ht : P t), ⨅ (_ : s t), m t ht
                              theorem MeasureTheory.inducedOuterMeasure_preimage {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) (f : α α) (Pm : ∀ (s : Set α), P (f ⁻¹' s) P s) (mm : ∀ (s : Set α) (hs : P s), m (f ⁻¹' s) = m s hs) {A : Set α} :
                              theorem MeasureTheory.inducedOuterMeasure_exists_set {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) {s : Set α} (hs : (MeasureTheory.inducedOuterMeasure m P0 m0) s ) {ε : ENNReal} (hε : ε 0) :
                              ∃ (t : Set α), P t s t (MeasureTheory.inducedOuterMeasure m P0 m0) t (MeasureTheory.inducedOuterMeasure m P0 m0) s + ε
                              theorem MeasureTheory.inducedOuterMeasure_caratheodory {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} (PU : ∀ ⦃f : Set α⦄, (∀ (i : ), P (f i))P (⋃ (i : ), f i)) (msU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), P (f i)), m (⋃ (i : ), f i) ∑' (i : ), m (f i) ) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) (s : Set α) :
                              MeasurableSet s ∀ (t : Set α), P t(MeasureTheory.inducedOuterMeasure m P0 m0) (t s) + (MeasureTheory.inducedOuterMeasure m P0 m0) (t \ s) (MeasureTheory.inducedOuterMeasure m P0 m0) t

                              To test whether s is Carathéodory-measurable we only need to check the sets t for which P t holds. See ofFunction_caratheodory for another way to show the Carathéodory-measurability of s.

                              If P is MeasurableSet for some measurable space, then we can remove some hypotheses of the above lemmas.

                              theorem MeasureTheory.extend_mono {α : Type u_1} [MeasurableSpace α] {m : (s : Set α) → MeasurableSet sENNReal} (m0 : m = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) {s₁ : Set α} {s₂ : Set α} (h₁ : MeasurableSet s₁) (hs : s₁ s₂) :
                              theorem MeasureTheory.extend_iUnion_le_tsum_nat {α : Type u_1} [MeasurableSpace α] {m : (s : Set α) → MeasurableSet sENNReal} (m0 : m = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) (s : Set α) :
                              MeasureTheory.extend m (⋃ (i : ), s i) ∑' (i : ), MeasureTheory.extend m (s i)
                              theorem MeasureTheory.inducedOuterMeasure_eq_extend {α : Type u_1} [MeasurableSpace α] {m : (s : Set α) → MeasurableSet sENNReal} (m0 : m = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) {s : Set α} (hs : MeasurableSet s) :
                              theorem MeasureTheory.inducedOuterMeasure_eq {α : Type u_1} [MeasurableSpace α] {m : (s : Set α) → MeasurableSet sENNReal} (m0 : m = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) = ∑' (i : ), m (f i) ) {s : Set α} (hs : MeasurableSet s) :
                              (MeasureTheory.inducedOuterMeasure m m0) s = m s hs

                              Given an outer measure m we can forget its value on non-measurable sets, and then consider m.trim, the unique maximal outer measure less than that function.

                              Equations
                              Instances For
                                theorem MeasureTheory.OuterMeasure.trim_mono {α : Type u_1} [MeasurableSpace α] :
                                Monotone MeasureTheory.OuterMeasure.trim
                                theorem MeasureTheory.OuterMeasure.trim_eq_iInf {α : Type u_1} [MeasurableSpace α] (m : MeasureTheory.OuterMeasure α) (s : Set α) :
                                (MeasureTheory.OuterMeasure.trim m) s = ⨅ (t : Set α), ⨅ (_ : s t), ⨅ (_ : MeasurableSet t), m t
                                theorem MeasureTheory.OuterMeasure.trim_eq_iInf' {α : Type u_1} [MeasurableSpace α] (m : MeasureTheory.OuterMeasure α) (s : Set α) :
                                (MeasureTheory.OuterMeasure.trim m) s = ⨅ (t : { t : Set α // s t MeasurableSet t }), m t
                                theorem MeasureTheory.OuterMeasure.exists_measurable_superset_forall_eq_trim {α : Type u_1} [MeasurableSpace α] {ι : Sort u_2} [Countable ι] (μ : ιMeasureTheory.OuterMeasure α) (s : Set α) :
                                ∃ (t : Set α), s t MeasurableSet t ∀ (i : ι), (μ i) t = (MeasureTheory.OuterMeasure.trim (μ i)) s

                                If μ i is a countable family of outer measures, then for every set s there exists a measurable set t ⊇ s such that μ i t = (μ i).trim s for all i.

                                theorem MeasureTheory.OuterMeasure.trim_binop {α : Type u_1} [MeasurableSpace α] {m₁ : MeasureTheory.OuterMeasure α} {m₂ : MeasureTheory.OuterMeasure α} {m₃ : MeasureTheory.OuterMeasure α} {op : ENNRealENNRealENNReal} (h : ∀ (s : Set α), m₁ s = op (m₂ s) (m₃ s)) (s : Set α) :

                                If m₁ s = op (m₂ s) (m₃ s) for all s, then the same is true for m₁.trim, m₂.trim, and m₃ s.

                                theorem MeasureTheory.OuterMeasure.trim_op {α : Type u_1} [MeasurableSpace α] {m₁ : MeasureTheory.OuterMeasure α} {m₂ : MeasureTheory.OuterMeasure α} {op : ENNRealENNReal} (h : ∀ (s : Set α), m₁ s = op (m₂ s)) (s : Set α) :

                                If m₁ s = op (m₂ s) for all s, then the same is true for m₁.trim and m₂.trim.

                                trim sends the supremum of two outer measures to the supremum of the trimmed measures.

                                theorem MeasureTheory.OuterMeasure.trim_iSup {α : Type u_1} [MeasurableSpace α] {ι : Sort u_2} [Countable ι] (μ : ιMeasureTheory.OuterMeasure α) :
                                MeasureTheory.OuterMeasure.trim (⨆ (i : ι), μ i) = ⨆ (i : ι), MeasureTheory.OuterMeasure.trim (μ i)

                                trim sends the supremum of a countable family of outer measures to the supremum of the trimmed measures.

                                The trimmed property of a measure μ states that μ.toOuterMeasure.trim = μ.toOuterMeasure. This theorem shows that a restricted trimmed outer measure is a trimmed outer measure.