# Documentation

Mathlib.MeasureTheory.Measure.OuterMeasure

# 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 #

• OuterMeasure.boundedBy is the greatest outer measure that is at most the given function. If you know that the given function sends ∅ to 0, then OuterMeasure.ofFunction is a special case.
• caratheodory is the Carathéodory-measurable space of an outer measure.
• sInf_eq_boundedBy_sInfGen is a characterization of the infimum of outer measures.
• inducedOuterMeasure is the measure induced by a function on a subset of Set α

## Tags #

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

structure MeasureTheory.OuterMeasure (α : Type u_1) :
Type u_1
• measureOf : Set αENNReal
• empty : s = 0
• mono : ∀ {s₁ s₂ : Set α}, s₁ s₂s s₁ s s₂
• iUnion_nat : ∀ (s_1 : Set α), s (⋃ (i : ), s_1 i) ∑' (i : ), s (s_1 i)

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

Instances For
instance MeasureTheory.OuterMeasure.instCoeFun {α : Type u_1} :
CoeFun () fun x => Set αENNReal
@[simp]
theorem MeasureTheory.OuterMeasure.empty' {α : Type u_1} (m : ) :
m = 0
theorem MeasureTheory.OuterMeasure.mono' {α : Type u_1} (m : ) {s₁ : Set α} {s₂ : Set α} (h : s₁ s₂) :
m s₁ m s₂
theorem MeasureTheory.OuterMeasure.mono_null {α : Type u_1} (m : ) {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 : ) {a : Set α} {b : Set α} (hs : a b) (hnz : m a 0) :
0 < m b
theorem MeasureTheory.OuterMeasure.iUnion {α : Type u_1} (m : ) {β : Type u_5} [] (s : βSet α) :
m (⋃ (i : β), s i) ∑' (i : β), m (s i)
theorem MeasureTheory.OuterMeasure.iUnion_null {α : Type u_1} {β : Type u_2} [] (m : ) {s : βSet α} (h : ∀ (i : β), m (s i) = 0) :
m (⋃ (i : β), s i) = 0
@[simp]
theorem MeasureTheory.OuterMeasure.iUnion_null_iff {α : Type u_1} {β : Type u_2} [] (m : ) {s : βSet α} :
m (⋃ (i : β), s i) = 0 ∀ (i : β), m (s i) = 0
@[simp]
theorem MeasureTheory.OuterMeasure.iUnion_null_iff' {α : Type u_1} (m : ) {ι : Prop} {s : ιSet α} :
m (⋃ (i : ι), s i) = 0 ∀ (i : ι), m (s i) = 0

A version of iUnion_null_iff for unions indexed by Props. TODO: in the long run it would be better to combine this with iUnion_null_iff by generalising to Sort.

theorem MeasureTheory.OuterMeasure.biUnion_null_iff {α : Type u_1} {β : Type u_2} (m : ) {s : Set β} (hs : ) {t : βSet α} :
m (⋃ (i : β) (_ : i s), t i) = 0 ∀ (i : β), i sm (t i) = 0
theorem MeasureTheory.OuterMeasure.sUnion_null_iff {α : Type u_1} (m : ) {S : Set (Set α)} (hS : ) :
m (⋃₀ S) = 0 ∀ (s : Set α), s Sm s = 0
theorem MeasureTheory.OuterMeasure.iUnion_finset {α : Type u_1} {β : Type u_2} (m : ) (s : βSet α) (t : ) :
m (⋃ (i : β) (_ : i t), s i) Finset.sum t fun i => m (s i)
theorem MeasureTheory.OuterMeasure.union {α : Type u_1} (m : ) (s₁ : Set α) (s₂ : Set α) :
m (s₁ s₂) m s₁ + m s₂
theorem MeasureTheory.OuterMeasure.null_of_locally_null {α : Type u_1} [] (m : ) (s : Set α) (hs : ∀ (x : α), x su, u 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} [] (m : ) {s : Set α} (hs : m s 0) :
x, x s ∀ (t : Set α), t 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 : ) {s : ιSet α} (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 : ) {s : Set α} (h_mono : ∀ (n : ), s n s (n + 1)) (h0 : ∑' (k : ), m (s (k + 1) \ s k) ) [(i : ) → DecidablePred fun x => x s i] :
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 : } {t : Set α} (s : Set α) :
m t m (t s) + m (t \ s)
theorem MeasureTheory.OuterMeasure.diff_null {α : Type u_1} (m : ) (s : Set α) {t : Set α} (ht : m t = 0) :
m (s \ t) = m s
theorem MeasureTheory.OuterMeasure.union_null {α : Type u_1} (m : ) {s₁ : Set α} {s₂ : Set α} (h₁ : m s₁ = 0) (h₂ : m s₂ = 0) :
m (s₁ s₂) = 0
theorem MeasureTheory.OuterMeasure.ext {α : Type u_1} {μ₁ : } {μ₂ : } (h : ∀ (s : Set α), μ₁ s = μ₂ s) :
μ₁ = μ₂
theorem MeasureTheory.OuterMeasure.ext_nonempty {α : Type u_1} {μ₁ : } {μ₂ : } (h : ∀ (s : Set α), μ₁ s = μ₂ s) :
μ₁ = μ₂

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

@[simp]
theorem MeasureTheory.OuterMeasure.coe_zero {α : Type u_1} :
0 = 0
@[simp]
theorem MeasureTheory.OuterMeasure.coe_add {α : Type u_1} (m₁ : ) (m₂ : ) :
↑(m₁ + m₂) = m₁ + m₂
theorem MeasureTheory.OuterMeasure.add_apply {α : Type u_1} (m₁ : ) (m₂ : ) (s : Set α) :
↑(m₁ + m₂) s = m₁ s + m₂ s
instance MeasureTheory.OuterMeasure.instSMul {α : Type u_1} {R : Type u_3} [] :
@[simp]
theorem MeasureTheory.OuterMeasure.coe_smul {α : Type u_1} {R : Type u_3} [] (c : R) (m : ) :
↑(c m) = c m
theorem MeasureTheory.OuterMeasure.smul_apply {α : Type u_1} {R : Type u_3} [] (c : R) (m : ) (s : Set α) :
↑(c m) s = c m s
instance MeasureTheory.OuterMeasure.instSMulCommClass {α : Type u_1} {R : Type u_3} {R' : Type u_4} [] [] [] [] :
instance MeasureTheory.OuterMeasure.instIsScalarTower {α : Type u_1} {R : Type u_3} {R' : Type u_4} [] [] [] [SMul R R'] [] :
instance MeasureTheory.OuterMeasure.instIsCentralScalar {α : Type u_1} {R : Type u_3} [] [] :
instance MeasureTheory.OuterMeasure.instMulAction {α : Type u_1} {R : Type u_3} [] [] :
@[simp]
theorem MeasureTheory.OuterMeasure.coeFnAddMonoidHom_apply {α : Type u_1} (self : ) :
∀ (a : Set α), MeasureTheory.OuterMeasure.coeFnAddMonoidHom self a = self a

(⇑) as an AddMonoidHom.

Instances For
instance MeasureTheory.OuterMeasure.instModule {α : Type u_1} {R : Type u_3} [] [] :
@[simp]
theorem MeasureTheory.OuterMeasure.univ_eq_zero_iff {α : Type u_1} (m : ) :
m Set.univ = 0 m = 0
@[simp]
theorem MeasureTheory.OuterMeasure.sSup_apply {α : Type u_1} (ms : ) (s : Set α) :
↑(sSup ms) s = ⨆ (m : ) (_ : m ms), m s
@[simp]
theorem MeasureTheory.OuterMeasure.iSup_apply {α : Type u_1} {ι : Sort u_5} (f : ) (s : Set α) :
↑(⨆ (i : ι), f i) s = ⨆ (i : ι), ↑(f i) s
theorem MeasureTheory.OuterMeasure.coe_iSup {α : Type u_1} {ι : Sort u_5} (f : ) :
↑(⨆ (i : ι), f i) = ⨆ (i : ι), ↑(f i)
@[simp]
theorem MeasureTheory.OuterMeasure.sup_apply {α : Type u_1} (m₁ : ) (m₂ : ) (s : Set α) :
↑(m₁ m₂) s = m₁ s m₂ s
theorem MeasureTheory.OuterMeasure.smul_iSup {α : Type u_1} {R : Type u_3} [] {ι : Sort u_5} (f : ) (c : R) :
c ⨆ (i : ι), f i = ⨆ (i : ι), c f i
theorem MeasureTheory.OuterMeasure.mono'' {α : Type u_1} {m₁ : } {m₂ : } {s₁ : Set α} {s₂ : Set α} (hm : m₁ m₂) (hs : s₁ s₂) :
m₁ s₁ m₂ s₂
def MeasureTheory.OuterMeasure.map {α : Type u_1} {β : Type u_5} (f : αβ) :

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

Instances For
@[simp]
theorem MeasureTheory.OuterMeasure.map_apply {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) (s : Set β) :
↑() s = m (f ⁻¹' s)
@[simp]
theorem MeasureTheory.OuterMeasure.map_id {α : Type u_1} (m : ) :
= m
@[simp]
theorem MeasureTheory.OuterMeasure.map_map {α : Type u_1} {β : Type u_5} {γ : Type u_6} (f : αβ) (g : βγ) (m : ) :
↑() () = ↑() m
theorem MeasureTheory.OuterMeasure.map_mono {α : Type u_1} {β : Type u_5} (f : αβ) :
@[simp]
theorem MeasureTheory.OuterMeasure.map_sup {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) (m' : ) :
↑() (m m') =
@[simp]
theorem MeasureTheory.OuterMeasure.map_iSup {α : Type u_1} {β : Type u_5} {ι : Sort u_6} (f : αβ) (m : ) :
↑() (⨆ (i : ι), m i) = ⨆ (i : ι), ↑() (m i)
def MeasureTheory.OuterMeasure.dirac {α : Type u_1} (a : α) :

The dirac outer measure.

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

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

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

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

Instances For
@[simp]
theorem MeasureTheory.OuterMeasure.comap_apply {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) (s : Set α) :
↑() s = m (f '' s)
theorem MeasureTheory.OuterMeasure.comap_mono {α : Type u_1} {β : Type u_5} (f : αβ) :
@[simp]
theorem MeasureTheory.OuterMeasure.comap_iSup {α : Type u_1} {β : Type u_5} {ι : Sort u_6} (f : αβ) (m : ) :
↑() (⨆ (i : ι), m i) = ⨆ (i : ι), ↑() (m i)
def MeasureTheory.OuterMeasure.restrict {α : Type u_1} (s : Set α) :

Restrict an OuterMeasure to a set.

Instances For
@[simp]
theorem MeasureTheory.OuterMeasure.restrict_apply {α : Type u_1} (s : Set α) (t : Set α) (m : ) :
↑() t = m (t s)
theorem MeasureTheory.OuterMeasure.restrict_mono {α : Type u_1} {s : Set α} {t : Set α} (h : s t) {m : } {m' : } (hm : m m') :
@[simp]
theorem MeasureTheory.OuterMeasure.restrict_univ {α : Type u_1} (m : ) :
↑() m = m
@[simp]
@[simp]
theorem MeasureTheory.OuterMeasure.restrict_iSup {α : Type u_1} {ι : Sort u_5} (s : Set α) (m : ) :
↑() (⨆ (i : ι), m i) = ⨆ (i : ι), ↑() (m i)
theorem MeasureTheory.OuterMeasure.map_comap {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) :
theorem MeasureTheory.OuterMeasure.map_comap_le {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) :
m
theorem MeasureTheory.OuterMeasure.restrict_le_self {α : Type u_1} (m : ) (s : Set α) :
@[simp]
theorem MeasureTheory.OuterMeasure.map_le_restrict_range {α : Type u_1} {β : Type u_5} {ma : } {mb : } {f : αβ} :
mb
theorem MeasureTheory.OuterMeasure.map_comap_of_surjective {α : Type u_1} {β : Type u_5} {f : αβ} (hf : ) (m : ) :
= m
theorem MeasureTheory.OuterMeasure.le_comap_map {α : Type u_1} {β : Type u_5} (f : αβ) (m : ) :
m
theorem MeasureTheory.OuterMeasure.comap_map {α : Type u_1} {β : Type u_5} {f : αβ} (hf : ) (m : ) :
= m
@[simp]
theorem MeasureTheory.OuterMeasure.top_apply {α : Type u_1} {s : Set α} (h : ) :
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 : αβ) :
theorem MeasureTheory.OuterMeasure.map_top {α : Type u_1} {β : Type u_2} (f : αβ) :
@[simp]
theorem MeasureTheory.OuterMeasure.map_top_of_surjective {α : Type u_1} {β : Type u_2} (f : αβ) (hf : ) :
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 α.

Instances For
theorem MeasureTheory.OuterMeasure.ofFunction_apply {α : Type u_1} (m : Set αENNReal) (m_empty : m = 0) (s : Set α) :
↑() s = ⨅ (t : Set α) (_ : s ), ∑' (n : ), m (t n)
theorem MeasureTheory.OuterMeasure.ofFunction_le {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} (s : Set α) :
↑() s m s
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)) :
↑() s = m s
theorem MeasureTheory.OuterMeasure.le_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {μ : } :
μ ∀ (s : Set α), μ s m s
theorem MeasureTheory.OuterMeasure.isGreatest_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} :
IsGreatest {μ | ∀ (s : Set α), μ s m s} ()
theorem MeasureTheory.OuterMeasure.ofFunction_eq_sSup {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} :
= sSup {μ | ∀ (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 = ) :
↑() (s t) = ↑() s + ↑() t

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 : ) :
↑() () = MeasureTheory.OuterMeasure.ofFunction (fun s => m (f '' s)) (_ : (fun s => m (f '' s)) = 0)
theorem MeasureTheory.OuterMeasure.map_ofFunction_le {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {β : Type u_2} (f : αβ) :
↑() () MeasureTheory.OuterMeasure.ofFunction (fun s => m (f ⁻¹' s)) m_empty
theorem MeasureTheory.OuterMeasure.map_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {β : Type u_2} {f : αβ} (hf : ) :
↑() () = MeasureTheory.OuterMeasure.ofFunction (fun s => m (f ⁻¹' s)) m_empty
theorem MeasureTheory.OuterMeasure.restrict_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} (s : Set α) (hm : ) :
↑() () = MeasureTheory.OuterMeasure.ofFunction (fun t => m (t s)) (_ : (fun t => m (t s)) = 0)
theorem MeasureTheory.OuterMeasure.smul_ofFunction {α : Type u_1} {m : Set αENNReal} {m_empty : m = 0} {c : ENNReal} (hc : c ) :

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.

Instances For
theorem MeasureTheory.OuterMeasure.boundedBy_le {α : Type u_1} {m : Set αENNReal} (s : Set α) :
m s
theorem MeasureTheory.OuterMeasure.boundedBy_eq_ofFunction {α : Type u_1} {m : Set αENNReal} (m_empty : m = 0) (s : Set α) :
= ↑() s
theorem MeasureTheory.OuterMeasure.boundedBy_apply {α : Type u_1} {m : Set αENNReal} (s : Set α) :
= ⨅ (t : Set α) (_ : s ), ∑' (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)) :
= m s
@[simp]
theorem MeasureTheory.OuterMeasure.le_boundedBy {α : Type u_1} {m : Set αENNReal} {μ : } :
∀ (s : Set α), μ s m s
theorem MeasureTheory.OuterMeasure.le_boundedBy' {α : Type u_1} {m : Set αENNReal} {μ : } :
∀ (s : Set α), μ s m s
theorem MeasureTheory.OuterMeasure.smul_boundedBy {α : Type u_1} {m : Set αENNReal} {c : ENNReal} (hc : c ) :
theorem MeasureTheory.OuterMeasure.comap_boundedBy {α : Type u_1} {m : Set αENNReal} {β : Type u_2} (f : βα) (h : (Monotone fun s => m s) ) :
theorem MeasureTheory.OuterMeasure.boundedBy_union_of_top_of_nonempty_inter {α : Type u_1} {m : Set αENNReal} {s : Set α} {t : Set α} (h : ∀ (u : Set α), Set.Nonempty (s u)Set.Nonempty (t u)m u = ) :
↑() (s t) =

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).

Instances For
theorem MeasureTheory.OuterMeasure.isCaratheodory_iff_le' {α : Type u} (m : ) {s : Set α} :
∀ (t : Set α), m (t s) + m (t \ s) m t
@[simp]
theorem MeasureTheory.OuterMeasure.isCaratheodory_compl {α : Type u} (m : ) {s₁ : Set α} :
@[simp]
theorem MeasureTheory.OuterMeasure.isCaratheodory_union {α : Type u} (m : ) {s₁ : Set α} {s₂ : Set α} (h₁ : ) (h₂ : ) :
theorem MeasureTheory.OuterMeasure.measure_inter_union {α : Type u} (m : ) {s₁ : Set α} {s₂ : Set α} (h : s₁ s₂ ) (h₁ : ) {t : Set α} :
m (t (s₁ s₂)) = m (t s₁) + m (t s₂)
theorem MeasureTheory.OuterMeasure.isCaratheodory_iUnion_lt {α : Type u} (m : ) {s : Set α} {n : } :
(∀ (i : ), i < n) → MeasureTheory.OuterMeasure.IsCaratheodory m (⋃ (i : ) (_ : i < n), s i)
theorem MeasureTheory.OuterMeasure.isCaratheodory_inter {α : Type u} (m : ) {s₁ : Set α} {s₂ : Set α} (h₁ : ) (h₂ : ) :
theorem MeasureTheory.OuterMeasure.isCaratheodory_sum {α : Type u} (m : ) {s : Set α} (h : ∀ (i : ), ) (hd : Pairwise (Disjoint on s)) {t : Set α} {n : } :
(Finset.sum () fun i => m (t s i)) = m (t ⋃ (i : ) (_ : i < n), s i)
theorem MeasureTheory.OuterMeasure.isCaratheodory_iUnion_nat {α : Type u} (m : ) {s : Set α} (h : ∀ (i : ), ) (hd : Pairwise (Disjoint on s)) :
theorem MeasureTheory.OuterMeasure.f_iUnion {α : Type u} (m : ) {s : Set α} (h : ∀ (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.

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).

Instances For
theorem MeasureTheory.OuterMeasure.isCaratheodory_iff {α : Type u} (m : ) {s : Set α} :
∀ (t : Set α), m t = m (t s) + m (t \ s)
theorem MeasureTheory.OuterMeasure.isCaratheodory_iff_le {α : Type u} (m : ) {s : Set α} :
∀ (t : Set α), m (t s) + m (t \ s) m t
theorem MeasureTheory.OuterMeasure.iUnion_eq_of_caratheodory {α : Type u} (m : ) {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) :
@[simp]
theorem MeasureTheory.OuterMeasure.le_add_caratheodory {α : Type u_1} (m₁ : ) (m₂ : ) :
theorem MeasureTheory.OuterMeasure.le_sum_caratheodory {α : Type u_1} {ι : Type u_2} (m : ) :
@[simp]
def MeasureTheory.OuterMeasure.sInfGen {α : Type u_1} (m : ) (s : Set α) :

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.

Instances For
theorem MeasureTheory.OuterMeasure.sInfGen_def {α : Type u_1} (m : ) (t : Set α) :
= ⨅ (μ : ) (_ : μ m), μ t
theorem MeasureTheory.OuterMeasure.iSup_sInfGen_nonempty {α : Type u_1} {m : } (h : ) (t : Set α) :
⨆ (_ : ), = ⨅ (μ : ) (_ : μ m), μ t
theorem MeasureTheory.OuterMeasure.sInf_apply {α : Type u_1} {m : } {s : Set α} (h : ) :
↑(sInf m) s = ⨅ (t : Set α) (_ : s ), ∑' (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 : } {s : Set α} (h : ) :
↑(sInf m) s = ⨅ (t : Set α) (_ : s ), ∑' (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} [] (m : ) (s : Set α) :
↑(⨅ (i : ι), m i) s = ⨅ (t : Set α) (_ : s ), ∑' (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 : ) {s : Set α} (hs : ) :
↑(⨅ (i : ι), m i) s = ⨅ (t : Set α) (_ : s ), ∑' (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 : ) (m : ) (s : Set α) :
↑(⨅ (i : ι) (_ : i I), m i) s = ⨅ (t : Set α) (_ : s ), ∑' (n : ), ⨅ (i : ι) (_ : 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 : ) {s : Set α} (hs : ) :
↑(⨅ (i : ι) (_ : i I), m i) s = ⨅ (t : Set α) (_ : s ), ∑' (n : ), ⨅ (i : ι) (_ : 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 : ) :
↑() (⨅ (i : ι), m i) ⨅ (i : ι), ↑() (m i)
theorem MeasureTheory.OuterMeasure.comap_iInf {α : Type u_1} {ι : Sort u_2} {β : Type u_3} (f : αβ) (m : ) :
↑() (⨅ (i : ι), m i) = ⨅ (i : ι), ↑() (m i)
theorem MeasureTheory.OuterMeasure.map_iInf {α : Type u_1} {ι : Sort u_2} {β : Type u_3} {f : αβ} (hf : ) (m : ) :
↑() (⨅ (i : ι), m i) = ↑() (⨅ (i : ι), ↑() (m i))
theorem MeasureTheory.OuterMeasure.map_iInf_comap {α : Type u_1} {ι : Sort u_2} {β : Type u_3} [] {f : αβ} (m : ) :
↑() (⨅ (i : ι), ↑() (m i)) = ⨅ (i : ι), ↑() (↑() (m i))
theorem MeasureTheory.OuterMeasure.map_biInf_comap {α : Type u_1} {ι : Type u_2} {β : Type u_3} {I : Set ι} (hI : ) {f : αβ} (m : ) :
↑() (⨅ (i : ι) (_ : i I), ↑() (m i)) = ⨅ (i : ι) (_ : i I), ↑() (↑() (m i))
theorem MeasureTheory.OuterMeasure.restrict_iInf_restrict {α : Type u_1} {ι : Sort u_2} (s : Set α) (m : ) :
↑() (⨅ (i : ι), ↑() (m i)) = ↑() (⨅ (i : ι), m i)
theorem MeasureTheory.OuterMeasure.restrict_iInf {α : Type u_1} {ι : Sort u_2} [] (s : Set α) (m : ) :
↑() (⨅ (i : ι), m i) = ⨅ (i : ι), ↑() (m i)
theorem MeasureTheory.OuterMeasure.restrict_biInf {α : Type u_1} {ι : Type u_2} {I : Set ι} (hI : ) (s : Set α) (m : ) :
↑() (⨅ (i : ι) (_ : i I), m i) = ⨅ (i : ι) (_ : i I), ↑() (m i)
theorem MeasureTheory.OuterMeasure.restrict_sInf_eq_sInf_restrict {α : Type u_1} (m : ) {s : Set α} (hm : ) :
↑() (sInf m) =

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.

Instances For
theorem MeasureTheory.extend_eq {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {s : α} (h : P s) :
= m s h
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] [] {c : R} (hc : c 0) :
= MeasureTheory.extend fun s h => c m s h
theorem MeasureTheory.le_extend {α : Type u_1} {P : αProp} (m : (s : α) → P sENNReal) {s : α} (h : P s) :
m s h
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} :
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) (PU (fun i => f i) hm) = ∑' (i : ), m (f i) (hm 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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm 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) (PU (fun i => f i) hm) = ∑' (i : ), m (f i) (hm i)) {β : Type u_2} [] {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) (PU (fun i => f i) hm) = ∑' (i : ), m (f i) (hm i)) {s₁ : Set α} {s₂ : Set α} (hd : Disjoint s₁ s₂) (h₁ : P s₁) (h₂ : P s₂) :
MeasureTheory.extend m (s₁ 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).

Instances For
theorem MeasureTheory.le_inducedOuterMeasure {α : Type u_1} {P : Set αProp} {m : (s : Set α) → P sENNReal} {P0 : P } {m0 : m P0 = 0} {μ : } :
μ ∀ (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) :
↑() (s t) = ↑() s + ↑() t

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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm 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) :
↑() 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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm 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) :
↑() 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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm i)) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) (s : Set α) :
↑() 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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm 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) ((Pm s).mpr hs) = m s hs) {A : Set α} :
↑() (f ⁻¹' A) = ↑() A
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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm i)) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) {s : Set α} (hs : ↑() s ) {ε : ENNReal} (hε : ε 0) :
t _ht, s t ↑() t ↑() 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) (PU (fun i => f i) hm) ∑' (i : ), m (f i) (hm i)) (m_mono : ∀ ⦃s₁ s₂ : Set α⦄ (hs₁ : P s₁) (hs₂ : P s₂), s₁ s₂m s₁ hs₁ m s₂ hs₂) (s : Set α) :
∀ (t : Set α), P t↑() (t s) + ↑() (t \ s) ↑() 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} [] {m : (s : Set α) → } (m0 : m (_ : ) = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) (_ : MeasurableSet (⋃ (b : ), f b)) = ∑' (i : ), m (f i) (_ : MeasurableSet (f i))) {s₁ : Set α} {s₂ : Set α} (h₁ : ) (hs : s₁ s₂) :
theorem MeasureTheory.extend_iUnion_le_tsum_nat {α : Type u_1} [] {m : (s : Set α) → } (m0 : m (_ : ) = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) (_ : MeasurableSet (⋃ (b : ), f b)) = ∑' (i : ), m (f i) (_ : MeasurableSet (f i))) (s : Set α) :
MeasureTheory.extend m (⋃ (i : ), s i) ∑' (i : ), MeasureTheory.extend m (s i)
theorem MeasureTheory.inducedOuterMeasure_eq_extend {α : Type u_1} [] {m : (s : Set α) → } (m0 : m (_ : ) = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) (_ : MeasurableSet (⋃ (b : ), f b)) = ∑' (i : ), m (f i) (_ : MeasurableSet (f i))) {s : Set α} (hs : ) :
↑() s =
theorem MeasureTheory.inducedOuterMeasure_eq {α : Type u_1} [] {m : (s : Set α) → } (m0 : m (_ : ) = 0) (mU : ∀ ⦃f : Set α⦄ (hm : ∀ (i : ), MeasurableSet (f i)), Pairwise (Disjoint on f)m (⋃ (i : ), f i) (_ : MeasurableSet (⋃ (b : ), f b)) = ∑' (i : ), m (f i) (_ : MeasurableSet (f i))) {s : Set α} (hs : ) :
↑() s = m s hs
def MeasureTheory.OuterMeasure.trim {α : Type u_1} [] (m : ) :

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.

Instances For
theorem MeasureTheory.OuterMeasure.le_trim {α : Type u_1} [] (m : ) :
@[simp]
theorem MeasureTheory.OuterMeasure.trim_eq {α : Type u_1} [] (m : ) {s : Set α} (hs : ) :
= m s
theorem MeasureTheory.OuterMeasure.trim_congr {α : Type u_1} [] {m₁ : } {m₂ : } (H : ∀ {s : Set α}, m₁ s = m₂ s) :
theorem MeasureTheory.OuterMeasure.trim_mono {α : Type u_1} [] :
Monotone MeasureTheory.OuterMeasure.trim
theorem MeasureTheory.OuterMeasure.le_trim_iff {α : Type u_1} [] {m₁ : } {m₂ : } :
∀ (s : Set α), m₁ s m₂ s
theorem MeasureTheory.OuterMeasure.trim_le_trim_iff {α : Type u_1} [] {m₁ : } {m₂ : } :
∀ (s : Set α), m₁ s m₂ s
theorem MeasureTheory.OuterMeasure.trim_eq_trim_iff {α : Type u_1} [] {m₁ : } {m₂ : } :
∀ (s : Set α), m₁ s = m₂ s
theorem MeasureTheory.OuterMeasure.trim_eq_iInf {α : Type u_1} [] (m : ) (s : Set α) :
= ⨅ (t : Set α) (_ : s t) (_ : ), m t
theorem MeasureTheory.OuterMeasure.trim_eq_iInf' {α : Type u_1} [] (m : ) (s : Set α) :
= ⨅ (t : { t // s t }), m t
@[simp]
@[simp]
theorem MeasureTheory.OuterMeasure.trim_sum_ge {α : Type u_1} [] {ι : Type u_2} (m : ) :
theorem MeasureTheory.OuterMeasure.exists_measurable_superset_eq_trim {α : Type u_1} [] (m : ) (s : Set α) :
t, s t m t =
theorem MeasureTheory.OuterMeasure.exists_measurable_superset_of_trim_eq_zero {α : Type u_1} [] {m : } {s : Set α} (h : = 0) :
t, s t m t = 0
theorem MeasureTheory.OuterMeasure.exists_measurable_superset_forall_eq_trim {α : Type u_1} [] {ι : Sort u_2} [] (μ : ) (s : Set α) :
t, s t ∀ (i : ι), ↑(μ i) t = ↑() 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} [] {m₁ : } {m₂ : } {m₃ : } {op : } (h : ∀ (s : Set α), m₁ s = op (m₂ s) (m₃ s)) (s : Set α) :
= op () ()

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} [] {m₁ : } {m₂ : } {op : } (h : ∀ (s : Set α), m₁ s = op (m₂ s)) (s : Set α) :
= op ()

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

theorem MeasureTheory.OuterMeasure.trim_add {α : Type u_1} [] (m₁ : ) (m₂ : ) :

trim is additive.

theorem MeasureTheory.OuterMeasure.trim_smul {α : Type u_1} [] {R : Type u_2} [] (c : R) (m : ) :

trim respects scalar multiplication.

theorem MeasureTheory.OuterMeasure.trim_sup {α : Type u_1} [] (m₁ : ) (m₂ : ) :

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

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

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

theorem MeasureTheory.OuterMeasure.restrict_trim {α : Type u_1} [] {μ : } {s : Set α} (hs : ) :

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.