# Measure spaces #

The definition of a measure and a measure space are in MeasureTheory.MeasureSpaceDef, with only a few basic properties. This file provides many more properties of these objects. This separation allows the measurability tactic to import only the file MeasureSpaceDef, and to be available in MeasureSpace (through MeasurableSpace).

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 measure 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, a 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∞.

Given a measure, the null sets are the sets where μ s = 0, where μ denotes the corresponding outer measure (so s might not be measurable). We can then define the completion of μ as the measure on the least σ-algebra that also contains all null sets, by defining the measure to be 0 on the null sets.

## Main statements #

• completion is the completion of a measure to all null measurable sets.
• Measure.ofMeasurable and OuterMeasure.toMeasure are two important ways to define a measure.

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

You often don't want to define a measure via its constructor. Two ways that are sometimes more convenient:

• Measure.ofMeasurable is a way to define a measure by only giving its value on measurable sets and proving the properties (1) and (2) mentioned above.
• OuterMeasure.toMeasure is a way of obtaining a measure from an outer measure by showing that all measurable sets in the measurable space are Carathéodory measurable.

To prove that two measures are equal, there are multiple options:

• ext: two measures are equal if they are equal on all measurable sets.
• ext_of_generateFrom_of_iUnion: two measures are equal if they are equal on a π-system generating the measurable sets, if the π-system contains a spanning increasing sequence of sets where the measures take finite value (in particular the measures are σ-finite). This is a special case of the more general ext_of_generateFrom_of_cover
• ext_of_generate_finite: two finite measures are equal if they are equal on a π-system generating the measurable sets. This is a special case of ext_of_generateFrom_of_iUnion using C ∪ {univ}, but is easier to work with.

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

## Tags #

measure, almost everywhere, measure space, completion, null set, null measurable set

instance MeasureTheory.ae_isMeasurablyGenerated {α : Type u_1} {m : } {μ : } :
().IsMeasurablyGenerated
Equations
• =
theorem MeasureTheory.ae_uIoc_iff {α : Type u_1} {m : } {μ : } [] {a : α} {b : α} {P : αProp} :
(∀ᵐ (x : α) ∂μ, x Ι a bP x) (∀ᵐ (x : α) ∂μ, x Set.Ioc a bP x) ∀ᵐ (x : α) ∂μ, x Set.Ioc b aP x

See also MeasureTheory.ae_restrict_uIoc_iff.

theorem MeasureTheory.measure_union {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} (hd : Disjoint s₁ s₂) (h : ) :
μ (s₁ s₂) = μ s₁ + μ s₂
theorem MeasureTheory.measure_union' {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} (hd : Disjoint s₁ s₂) (h : ) :
μ (s₁ s₂) = μ s₁ + μ s₂
theorem MeasureTheory.measure_inter_add_diff {α : Type u_1} {m : } {μ : } {t : Set α} (s : Set α) (ht : ) :
μ (s t) + μ (s \ t) = μ s
theorem MeasureTheory.measure_diff_add_inter {α : Type u_1} {m : } {μ : } {t : Set α} (s : Set α) (ht : ) :
μ (s \ t) + μ (s t) = μ s
theorem MeasureTheory.measure_union_add_inter {α : Type u_1} {m : } {μ : } {t : Set α} (s : Set α) (ht : ) :
μ (s t) + μ (s t) = μ s + μ t
theorem MeasureTheory.measure_union_add_inter' {α : Type u_1} {m : } {μ : } {s : Set α} (hs : ) (t : Set α) :
μ (s t) + μ (s t) = μ s + μ t
theorem MeasureTheory.measure_symmDiff_eq {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hs : ) (ht : ) :
μ (symmDiff s t) = μ (s \ t) + μ (t \ s)
theorem MeasureTheory.measure_symmDiff_le {α : Type u_1} {m : } {μ : } (s : Set α) (t : Set α) (u : Set α) :
μ (symmDiff s u) μ (symmDiff s t) + μ (symmDiff t u)
theorem MeasureTheory.measure_add_measure_compl {α : Type u_1} {m : } {μ : } {s : Set α} (h : ) :
μ s + μ s = μ Set.univ
theorem MeasureTheory.measure_biUnion₀ {α : Type u_1} {β : Type u_2} {m : } {μ : } {s : Set β} {f : βSet α} (hs : s.Countable) (hd : s.Pairwise ()) (h : bs, ) :
μ (bs, f b) = ∑' (p : s), μ (f p)
theorem MeasureTheory.measure_biUnion {α : Type u_1} {β : Type u_2} {m : } {μ : } {s : Set β} {f : βSet α} (hs : s.Countable) (hd : s.PairwiseDisjoint f) (h : bs, MeasurableSet (f b)) :
μ (bs, f b) = ∑' (p : s), μ (f p)
theorem MeasureTheory.measure_sUnion₀ {α : Type u_1} {m : } {μ : } {S : Set (Set α)} (hs : S.Countable) (hd : S.Pairwise ) (h : sS, ) :
μ (⋃₀ S) = ∑' (s : S), μ s
theorem MeasureTheory.measure_sUnion {α : Type u_1} {m : } {μ : } {S : Set (Set α)} (hs : S.Countable) (hd : S.Pairwise Disjoint) (h : sS, ) :
μ (⋃₀ S) = ∑' (s : S), μ s
theorem MeasureTheory.measure_biUnion_finset₀ {α : Type u_1} {ι : Type u_5} {m : } {μ : } {s : } {f : ιSet α} (hd : (s).Pairwise ()) (hm : bs, ) :
μ (bs, f b) = ps, μ (f p)
theorem MeasureTheory.measure_biUnion_finset {α : Type u_1} {ι : Type u_5} {m : } {μ : } {s : } {f : ιSet α} (hd : (s).PairwiseDisjoint f) (hm : bs, MeasurableSet (f b)) :
μ (bs, f b) = ps, μ (f p)
theorem MeasureTheory.tsum_meas_le_meas_iUnion_of_disjoint₀ {α : Type u_1} {ι : Type u_8} [] (μ : ) {As : ιSet α} (As_mble : ∀ (i : ι), ) (As_disj : ) :
∑' (i : ι), μ (As i) μ (⋃ (i : ι), As i)

The measure of an a.e. disjoint union (even uncountable) of null-measurable sets is at least the sum of the measures of the sets.

theorem MeasureTheory.tsum_meas_le_meas_iUnion_of_disjoint {α : Type u_1} {ι : Type u_8} [] (μ : ) {As : ιSet α} (As_mble : ∀ (i : ι), MeasurableSet (As i)) (As_disj : Pairwise (Disjoint on As)) :
∑' (i : ι), μ (As i) μ (⋃ (i : ι), As i)

The measure of a disjoint union (even uncountable) of measurable sets is at least the sum of the measures of the sets.

theorem MeasureTheory.tsum_measure_preimage_singleton {α : Type u_1} {β : Type u_2} {m : } {μ : } {s : Set β} (hs : s.Countable) {f : αβ} (hf : ys, MeasurableSet (f ⁻¹' {y})) :
∑' (b : s), μ (f ⁻¹' {b}) = μ (f ⁻¹' s)

If s is a countable set, then the measure of its preimage can be found as the sum of measures of the fibers f ⁻¹' {y}.

theorem MeasureTheory.measure_preimage_eq_zero_iff_of_countable {α : Type u_1} {β : Type u_2} {m : } {μ : } {s : Set β} {f : αβ} (hs : s.Countable) :
μ (f ⁻¹' s) = 0 xs, μ (f ⁻¹' {x}) = 0
theorem MeasureTheory.sum_measure_preimage_singleton {α : Type u_1} {β : Type u_2} {m : } {μ : } (s : ) {f : αβ} (hf : ys, MeasurableSet (f ⁻¹' {y})) :
bs, μ (f ⁻¹' {b}) = μ (f ⁻¹' s)

If s is a Finset, then the measure of its preimage can be found as the sum of measures of the fibers f ⁻¹' {y}.

theorem MeasureTheory.measure_diff_null' {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} (h : μ (s₁ s₂) = 0) :
μ (s₁ \ s₂) = μ s₁
theorem MeasureTheory.measure_add_diff {α : Type u_1} {m : } {μ : } {s : Set α} (hs : ) (t : Set α) :
μ s + μ (t \ s) = μ (s t)
theorem MeasureTheory.measure_diff' {α : Type u_1} {m : } {μ : } {t : Set α} (s : Set α) (hm : ) (h_fin : μ t ) :
μ (s \ t) = μ (s t) - μ t
theorem MeasureTheory.measure_diff {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} (h : s₂ s₁) (h₂ : ) (h_fin : μ s₂ ) :
μ (s₁ \ s₂) = μ s₁ - μ s₂
theorem MeasureTheory.le_measure_diff {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} :
μ s₁ - μ s₂ μ (s₁ \ s₂)
theorem MeasureTheory.measure_eq_top_iff_of_symmDiff {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hμst : μ (symmDiff s t) ) :
μ s = μ t =

If the measure of the symmetric difference of two sets is finite, then one has infinite measure if and only if the other one does.

theorem MeasureTheory.measure_ne_top_iff_of_symmDiff {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hμst : μ (symmDiff s t) ) :
μ s μ t

If the measure of the symmetric difference of two sets is finite, then one has finite measure if and only if the other one does.

theorem MeasureTheory.measure_diff_lt_of_lt_add {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hs : ) (hst : s t) (hs' : μ s ) {ε : ENNReal} (h : μ t < μ s + ε) :
μ (t \ s) < ε
theorem MeasureTheory.measure_diff_le_iff_le_add {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hs : ) (hst : s t) (hs' : μ s ) {ε : ENNReal} :
μ (t \ s) ε μ t μ s + ε
theorem MeasureTheory.measure_eq_measure_of_null_diff {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (hst : s t) (h_nulldiff : μ (t \ s) = 0) :
μ s = μ t
theorem MeasureTheory.measure_eq_measure_of_between_null_diff {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} {s₃ : Set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₁ = μ s₂ μ s₂ = μ s₃
theorem MeasureTheory.measure_eq_measure_smaller_of_between_null_diff {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} {s₃ : Set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₁ = μ s₂
theorem MeasureTheory.measure_eq_measure_larger_of_between_null_diff {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} {s₃ : Set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₂ = μ s₃
theorem MeasureTheory.measure_compl₀ {α : Type u_1} {m : } {μ : } {s : Set α} (h : ) (hs : μ s ) :
μ s = μ Set.univ - μ s
theorem MeasureTheory.measure_compl {α : Type u_1} {m : } {μ : } {s : Set α} (h₁ : ) (h_fin : μ s ) :
μ s = μ Set.univ - μ s
theorem MeasureTheory.measure_inter_conull' {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (ht : μ (s \ t) = 0) :
μ (s t) = μ s
theorem MeasureTheory.measure_inter_conull {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (ht : μ t = 0) :
μ (s t) = μ s
@[simp]
theorem MeasureTheory.union_ae_eq_left_iff_ae_subset {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} :
s t =ᵐ[μ] s t ≤ᵐ[μ] s
@[simp]
theorem MeasureTheory.union_ae_eq_right_iff_ae_subset {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} :
s t =ᵐ[μ] t s ≤ᵐ[μ] t
theorem MeasureTheory.ae_eq_of_ae_subset_of_measure_ge {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (h₁ : s ≤ᵐ[μ] t) (h₂ : μ t μ s) (hsm : ) (ht : μ t ) :
s =ᵐ[μ] t
theorem MeasureTheory.ae_eq_of_subset_of_measure_ge {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} (h₁ : s t) (h₂ : μ t μ s) (hsm : ) (ht : μ t ) :
s =ᵐ[μ] t

If s ⊆ t, μ t ≤ μ s, μ t ≠ ∞, and s is measurable, then s =ᵐ[μ] t.

theorem MeasureTheory.measure_iUnion_congr_of_subset {α : Type u_1} {β : Type u_2} {m : } {μ : } [] {s : βSet α} {t : βSet α} (hsub : ∀ (b : β), s b t b) (h_le : ∀ (b : β), μ (t b) μ (s b)) :
μ (⋃ (b : β), s b) = μ (⋃ (b : β), t b)
theorem MeasureTheory.measure_union_congr_of_subset {α : Type u_1} {m : } {μ : } {s₁ : Set α} {s₂ : Set α} {t₁ : Set α} {t₂ : Set α} (hs : s₁ s₂) (hsμ : μ s₂ μ s₁) (ht : t₁ t₂) (htμ : μ t₂ μ t₁) :
μ (s₁ t₁) = μ (s₂ t₂)
@[simp]
theorem MeasureTheory.measure_iUnion_toMeasurable {α : Type u_1} {β : Type u_2} {m : } {μ : } [] (s : βSet α) :
μ (⋃ (b : β), ) = μ (⋃ (b : β), s b)
theorem MeasureTheory.measure_biUnion_toMeasurable {α : Type u_1} {β : Type u_2} {m : } {μ : } {I : Set β} (hc : I.Countable) (s : βSet α) :
μ (bI, ) = μ (bI, s b)
@[simp]
theorem MeasureTheory.measure_toMeasurable_union {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} :
μ () = μ (s t)
@[simp]
theorem MeasureTheory.measure_union_toMeasurable {α : Type u_1} {m : } {μ : } {s : Set α} {t : Set α} :
μ () = μ (s t)
theorem MeasureTheory.sum_measure_le_measure_univ {α : Type u_1} {ι : Type u_5} {m : } {μ : } {s : } {t : ιSet α} (h : is, MeasurableSet (t i)) (H : (s).PairwiseDisjoint t) :
is, μ (t i) μ Set.univ
theorem MeasureTheory.tsum_measure_le_measure_univ {α : Type u_1} {ι : Type u_5} {m : } {μ : } {s : ιSet α} (hs : ∀ (i : ι), MeasurableSet (s i)) (H : Pairwise (Disjoint on s)) :
∑' (i : ι), μ (s i) μ Set.univ
theorem MeasureTheory.exists_nonempty_inter_of_measure_univ_lt_tsum_measure {α : Type u_1} {ι : Type u_5} {m : } (μ : ) {s : ιSet α} (hs : ∀ (i : ι), MeasurableSet (s i)) (H : μ Set.univ < ∑' (i : ι), μ (s i)) :
∃ (i : ι) (j : ι), i j (s i s j).Nonempty

Pigeonhole principle for measure spaces: if ∑' i, μ (s i) > μ univ, then one of the intersections s i ∩ s j is not empty.

theorem MeasureTheory.exists_nonempty_inter_of_measure_univ_lt_sum_measure {α : Type u_1} {ι : Type u_5} {m : } (μ : ) {s : } {t : ιSet α} (h : is, MeasurableSet (t i)) (H : μ Set.univ < is, μ (t i)) :
is, js, ∃ (_ : i j), (t i t j).Nonempty

Pigeonhole principle for measure spaces: if s is a Finset and ∑ i ∈ s, μ (t i) > μ univ, then one of the intersections t i ∩ t j is not empty.

theorem MeasureTheory.nonempty_inter_of_measure_lt_add {α : Type u_1} {m : } (μ : ) {s : Set α} {t : Set α} {u : Set α} (ht : ) (h's : s u) (h't : t u) (h : μ u < μ s + μ t) :
(s t).Nonempty

If two sets s and t are included in a set u, and μ s + μ t > μ u, then s intersects t. Version assuming that t is measurable.

theorem MeasureTheory.nonempty_inter_of_measure_lt_add' {α : Type u_1} {m : } (μ : ) {s : Set α} {t : Set α} {u : Set α} (hs : ) (h's : s u) (h't : t u) (h : μ u < μ s + μ t) :
(s t).Nonempty

If two sets s and t are included in a set u, and μ s + μ t > μ u, then s intersects t. Version assuming that s is measurable.

theorem MeasureTheory.measure_iUnion_eq_iSup {α : Type u_1} {ι : Type u_5} {m : } {μ : } [] {s : ιSet α} (hd : Directed (fun (x x_1 : Set α) => x x_1) s) :
μ (⋃ (i : ι), s i) = ⨆ (i : ι), μ (s i)

Continuity from below: the measure of the union of a directed sequence of (not necessarily -measurable) sets is the supremum of the measures.

theorem MeasureTheory.measure_iUnion_eq_iSup' {α : Type u_8} {ι : Type u_9} [] {μ : } [] [] [IsDirected ι fun (x x_1 : ι) => x x_1] {f : ιSet α} :
μ (⋃ (i : ι), f i) = ⨆ (i : ι), μ ()

Continuity from below: the measure of the union of a sequence of (not necessarily measurable) sets is the supremum of the measures of the partial unions.

theorem MeasureTheory.measure_biUnion_eq_iSup {α : Type u_1} {ι : Type u_5} {m : } {μ : } {s : ιSet α} {t : Set ι} (ht : t.Countable) (hd : DirectedOn ((fun (x x_1 : Set α) => x x_1) on s) t) :
μ (it, s i) = it, μ (s i)
theorem MeasureTheory.measure_iInter_eq_iInf {α : Type u_1} {ι : Type u_5} {m : } {μ : } [] {s : ιSet α} (h : ∀ (i : ι), MeasurableSet (s i)) (hd : Directed (fun (x x_1 : Set α) => x x_1) s) (hfin : ∃ (i : ι), μ (s i) ) :
μ (⋂ (i : ι), s i) = ⨅ (i : ι), μ (s i)

Continuity from above: the measure of the intersection of a decreasing sequence of measurable sets is the infimum of the measures.

theorem MeasureTheory.measure_iInter_eq_iInf' {α : Type u_8} {ι : Type u_9} [] {μ : } [] [] [IsDirected ι fun (x x_1 : ι) => x x_1] {f : ιSet α} (h : ∀ (i : ι), MeasurableSet (f i)) (hfin : ∃ (i : ι), μ (f i) ) :
μ (⋂ (i : ι), f i) = ⨅ (i : ι), μ (⋂ (j : ι), ⋂ (_ : j i), f j)

Continuity from above: the measure of the intersection of a sequence of measurable sets is the infimum of the measures of the partial intersections.

theorem MeasureTheory.tendsto_measure_iUnion {α : Type u_1} {ι : Type u_5} {m : } {μ : } [] [IsDirected ι fun (x x_1 : ι) => x x_1] [] {s : ιSet α} (hm : ) :
Filter.Tendsto (μ s) Filter.atTop (nhds (μ (⋃ (n : ι), s n)))

Continuity from below: the measure of the union of an increasing sequence of (not necessarily measurable) sets is the limit of the measures.

theorem MeasureTheory.tendsto_measure_iUnion' {α : Type u_8} {ι : Type u_9} [] {μ : } [] [] [IsDirected ι fun (x x_1 : ι) => x x_1] {f : ιSet α} :
Filter.Tendsto (fun (i : ι) => μ ()) Filter.atTop (nhds (μ (⋃ (i : ι), f i)))

Continuity from below: the measure of the union of a sequence of (not necessarily measurable) sets is the limit of the measures of the partial unions.

theorem MeasureTheory.tendsto_measure_iInter {α : Type u_1} {ι : Type u_5} {m : } {μ : } [] [] [IsDirected ι fun (x x_1 : ι) => x x_1] {s : ιSet α} (hs : ∀ (n : ι), MeasurableSet (s n)) (hm : ) (hf : ∃ (i : ι), μ (s i) ) :
Filter.Tendsto (μ s) Filter.atTop (nhds (μ (⋂ (n : ι), s n)))

Continuity from above: the measure of the intersection of a decreasing sequence of measurable sets is the limit of the measures.

theorem MeasureTheory.tendsto_measure_iInter' {α : Type u_8} {ι : Type u_9} [] {μ : } [] [] [IsDirected ι fun (x x_1 : ι) => x x_1] {f : ιSet α} (hm : ∀ (i : ι), MeasurableSet (f i)) (hf : ∃ (i : ι), μ (f i) ) :
Filter.Tendsto (fun (i : ι) => μ (j{j : ι | j i}, f j)) Filter.atTop (nhds (μ (⋂ (i : ι), f i)))

Continuity from above: the measure of the intersection of a sequence of measurable sets such that one has finite measure is the limit of the measures of the partial intersections.

theorem MeasureTheory.tendsto_measure_biInter_gt {α : Type u_1} {m : } {μ : } {ι : Type u_8} [] [] [] [] {s : ιSet α} {a : ι} (hs : r > a, MeasurableSet (s r)) (hm : ∀ (i j : ι), a < ii js i s j) (hf : r > a, μ (s r) ) :
Filter.Tendsto (μ s) (nhdsWithin a ()) (nhds (μ (⋂ (r : ι), ⋂ (_ : r > a), s r)))

The measure of the intersection of a decreasing sequence of measurable sets indexed by a linear order with first countable topology is the limit of the measures.

theorem MeasureTheory.measure_limsup_eq_zero {α : Type u_1} {m : } {μ : } {s : Set α} (hs : ∑' (i : ), μ (s i) ) :
μ (Filter.limsup s Filter.atTop) = 0

One direction of the Borel-Cantelli lemma (sometimes called the "first Borel-Cantelli lemma"): if (sᵢ) is a sequence of sets such that ∑ μ sᵢ is finite, then the limit superior of the sᵢ is a null set.

Note: for the second Borel-Cantelli lemma (applying to independent sets in a probability space), see ProbabilityTheory.measure_limsup_eq_one.

theorem MeasureTheory.measure_liminf_eq_zero {α : Type u_1} {m : } {μ : } {s : Set α} (h : ∑' (i : ), μ (s i) ) :
μ (Filter.liminf s Filter.atTop) = 0
theorem MeasureTheory.limsup_ae_eq_of_forall_ae_eq {α : Type u_1} {m : } {μ : } (s : Set α) {t : Set α} (h : ∀ (n : ), s n =ᵐ[μ] t) :
Filter.limsup s Filter.atTop =ᵐ[μ] t
theorem MeasureTheory.liminf_ae_eq_of_forall_ae_eq {α : Type u_1} {m : } {μ : } (s : Set α) {t : Set α} (h : ∀ (n : ), s n =ᵐ[μ] t) :
Filter.liminf s Filter.atTop =ᵐ[μ] t
theorem MeasureTheory.measure_if {α : Type u_1} {β : Type u_2} {m : } {μ : } {x : β} {t : Set β} {s : Set α} :
μ (if x t then s else ) = t.indicator (fun (x : β) => μ s) x
def MeasureTheory.OuterMeasure.toMeasure {α : Type u_1} [ms : ] (m : ) (h : ms m.caratheodory) :

Obtain a measure by giving an outer measure where all sets in the σ-algebra are Carathéodory measurable.

Equations
Instances For
theorem MeasureTheory.le_toOuterMeasure_caratheodory {α : Type u_1} [ms : ] (μ : ) :
ms μ.caratheodory
@[simp]
theorem MeasureTheory.toMeasure_toOuterMeasure {α : Type u_1} [ms : ] (m : ) (h : ms m.caratheodory) :
(m.toMeasure h).toOuterMeasure = m.trim
@[simp]
theorem MeasureTheory.toMeasure_apply {α : Type u_1} [ms : ] (m : ) (h : ms m.caratheodory) {s : Set α} (hs : ) :
(m.toMeasure h) s = m s
theorem MeasureTheory.le_toMeasure_apply {α : Type u_1} [ms : ] (m : ) (h : ms m.caratheodory) (s : Set α) :
m s (m.toMeasure h) s
theorem MeasureTheory.toMeasure_apply₀ {α : Type u_1} [ms : ] (m : ) (h : ms m.caratheodory) {s : Set α} (hs : MeasureTheory.NullMeasurableSet s (m.toMeasure h)) :
(m.toMeasure h) s = m s
@[simp]
theorem MeasureTheory.toOuterMeasure_toMeasure {α : Type u_1} [ms : ] {μ : } :
μ.toMeasure = μ
@[simp]
theorem MeasureTheory.boundedBy_measure {α : Type u_1} [ms : ] (μ : ) :
= μ.toOuterMeasure
theorem MeasureTheory.Measure.measure_inter_eq_of_measure_eq {α : Type u_1} {m0 : } {μ : } {s : Set α} {t : Set α} {u : Set α} (hs : ) (h : μ t = μ u) (htu : t u) (ht_ne_top : μ t ) :
μ (t s) = μ (u s)

If u is a superset of t with the same (finite) measure (both sets possibly non-measurable), then for any measurable set s one also has μ (t ∩ s) = μ (u ∩ s).

theorem MeasureTheory.Measure.measure_toMeasurable_inter {α : Type u_1} {m0 : } {μ : } {s : Set α} {t : Set α} (hs : ) (ht : μ t ) :
μ () = μ (t s)

The measurable superset toMeasurable μ t of t (which has the same measure as t) satisfies, for any measurable set s, the equality μ (toMeasurable μ t ∩ s) = μ (u ∩ s). Here, we require that the measure of t is finite. The conclusion holds without this assumption when the measure is s-finite (for example when it is σ-finite), see measure_toMeasurable_inter_of_sFinite.

### The ℝ≥0∞-module of measures #

instance MeasureTheory.Measure.instZero {α : Type u_1} [] :
Equations
• MeasureTheory.Measure.instZero = { zero := { toOuterMeasure := 0, m_iUnion := , trim_le := } }
@[simp]
theorem MeasureTheory.Measure.zero_toOuterMeasure {α : Type u_1} {_m : } :
@[simp]
theorem MeasureTheory.Measure.coe_zero {α : Type u_1} {_m : } :
0 = 0
theorem MeasureTheory.Measure.apply_eq_zero_of_isEmpty {α : Type u_1} [] :
∀ {x : } (μ : ) (s : Set α), μ s = 0
instance MeasureTheory.Measure.instSubsingleton {α : Type u_1} [] {m : } :
Equations
• =
theorem MeasureTheory.Measure.eq_zero_of_isEmpty {α : Type u_1} [] {_m : } (μ : ) :
μ = 0
instance MeasureTheory.Measure.instInhabited {α : Type u_1} [] :
Equations
• MeasureTheory.Measure.instInhabited = { default := 0 }
instance MeasureTheory.Measure.instAdd {α : Type u_1} [] :
Equations
• MeasureTheory.Measure.instAdd = { add := fun (μ₁ μ₂ : ) => { toOuterMeasure := μ₁.toOuterMeasure + μ₂.toOuterMeasure, m_iUnion := , trim_le := } }
@[simp]
theorem MeasureTheory.Measure.add_toOuterMeasure {α : Type u_1} {_m : } (μ₁ : ) (μ₂ : ) :
(μ₁ + μ₂).toOuterMeasure = μ₁.toOuterMeasure + μ₂.toOuterMeasure
@[simp]
theorem MeasureTheory.Measure.coe_add {α : Type u_1} {_m : } (μ₁ : ) (μ₂ : ) :
(μ₁ + μ₂) = μ₁ + μ₂
theorem MeasureTheory.Measure.add_apply {α : Type u_1} {_m : } (μ₁ : ) (μ₂ : ) (s : Set α) :
(μ₁ + μ₂) s = μ₁ s + μ₂ s
instance MeasureTheory.Measure.instSMul {α : Type u_1} {R : Type u_6} [] [] :
Equations
• MeasureTheory.Measure.instSMul = { smul := fun (c : R) (μ : ) => { toOuterMeasure := c μ.toOuterMeasure, m_iUnion := , trim_le := } }
@[simp]
theorem MeasureTheory.Measure.smul_toOuterMeasure {α : Type u_1} {R : Type u_6} [] {_m : } (c : R) (μ : ) :
(c μ).toOuterMeasure = c μ.toOuterMeasure
@[simp]
theorem MeasureTheory.Measure.coe_smul {α : Type u_1} {R : Type u_6} [] {_m : } (c : R) (μ : ) :
(c μ) = c μ
@[simp]
theorem MeasureTheory.Measure.smul_apply {α : Type u_1} {R : Type u_6} [] {_m : } (c : R) (μ : ) (s : Set α) :
(c μ) s = c μ s
instance MeasureTheory.Measure.instSMulCommClass {α : Type u_1} {R : Type u_6} {R' : Type u_7} [] [] [] [] [] :
Equations
• =
instance MeasureTheory.Measure.instIsScalarTower {α : Type u_1} {R : Type u_6} {R' : Type u_7} [] [] [] [SMul R R'] [] [] :
Equations
• =
instance MeasureTheory.Measure.instIsCentralScalar {α : Type u_1} {R : Type u_6} [] [] [] :
Equations
• =
instance MeasureTheory.Measure.instNoZeroSMulDivisors {α : Type u_1} {R : Type u_6} {m0 : } [Zero R] [] :
Equations
• =
instance MeasureTheory.Measure.instMulAction {α : Type u_1} {R : Type u_6} [] [] [] :
Equations
Equations
def MeasureTheory.Measure.coeAddHom {α : Type u_1} :
{x : } →

Coercion to function as an additive monoid homomorphism.

Equations
• MeasureTheory.Measure.coeAddHom = { toFun := DFunLike.coe, map_zero' := , map_add' := }
Instances For
@[simp]
theorem MeasureTheory.Measure.coe_finset_sum {α : Type u_1} {ι : Type u_5} {_m : } (I : ) (μ : ) :
(iI, μ i) = iI, (μ i)
theorem MeasureTheory.Measure.finset_sum_apply {α : Type u_1} {ι : Type u_5} {m : } (I : ) (μ : ) (s : Set α) :
(iI, μ i) s = iI, (μ i) s
instance MeasureTheory.Measure.instDistribMulAction {α : Type u_1} {R : Type u_6} [] [] :
Equations
instance MeasureTheory.Measure.instModule {α : Type u_1} {R : Type u_6} [] [] [] :
Equations
• MeasureTheory.Measure.instModule = Function.Injective.module R { toFun := MeasureTheory.Measure.toOuterMeasure, map_zero' := , map_add' := }
@[simp]
theorem MeasureTheory.Measure.coe_nnreal_smul_apply {α : Type u_1} {_m : } (c : NNReal) (μ : ) (s : Set α) :
(c μ) s = c * μ s
@[simp]
theorem MeasureTheory.Measure.nnreal_smul_coe_apply {α : Type u_1} {_m : } (c : NNReal) (μ : ) (s : Set α) :
c μ s = c * μ s
theorem MeasureTheory.Measure.ae_smul_measure_iff {α : Type u_1} {m0 : } {μ : } {p : αProp} {c : ENNReal} (hc : c 0) :
(∀ᵐ (x : α) ∂c μ, p x) ∀ᵐ (x : α) ∂μ, p x
@[simp]
theorem MeasureTheory.Measure.ae_smul_measure_eq {α : Type u_1} {m0 : } {μ : } {c : ENNReal} (hc : c 0) :
theorem MeasureTheory.Measure.measure_eq_left_of_subset_of_measure_add_eq {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} {t : Set α} (h : (μ + ν) t ) (h' : s t) (h'' : (μ + ν) s = (μ + ν) t) :
μ s = μ t
theorem MeasureTheory.Measure.measure_eq_right_of_subset_of_measure_add_eq {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} {t : Set α} (h : (μ + ν) t ) (h' : s t) (h'' : (μ + ν) s = (μ + ν) t) :
ν s = ν t
theorem MeasureTheory.Measure.measure_toMeasurable_add_inter_left {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} {t : Set α} (hs : ) (ht : (μ + ν) t ) :
μ (MeasureTheory.toMeasurable (μ + ν) t s) = μ (t s)
theorem MeasureTheory.Measure.measure_toMeasurable_add_inter_right {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} {t : Set α} (hs : ) (ht : (μ + ν) t ) :
ν (MeasureTheory.toMeasurable (μ + ν) t s) = ν (t s)

### The complete lattice of measures #

Measures are partially ordered.

Equations
• MeasureTheory.Measure.instPartialOrder =
theorem MeasureTheory.Measure.toOuterMeasure_le {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } :
μ₁.toOuterMeasure μ₂.toOuterMeasure μ₁ μ₂
theorem MeasureTheory.Measure.le_iff {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } :
μ₁ μ₂ ∀ (s : Set α), μ₁ s μ₂ s
theorem MeasureTheory.Measure.le_intro {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } (h : ∀ (s : Set α), s.Nonemptyμ₁ s μ₂ s) :
μ₁ μ₂
theorem MeasureTheory.Measure.le_iff' {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } :
μ₁ μ₂ ∀ (s : Set α), μ₁ s μ₂ s
theorem MeasureTheory.Measure.lt_iff {α : Type u_1} {m0 : } {μ : } {ν : } :
μ < ν μ ν ∃ (s : Set α), μ s < ν s
theorem MeasureTheory.Measure.lt_iff' {α : Type u_1} {m0 : } {μ : } {ν : } :
μ < ν μ ν ∃ (s : Set α), μ s < ν s
instance MeasureTheory.Measure.covariantAddLE {α : Type u_1} [] :
CovariantClass (fun (x x_1 : ) => x + x_1) fun (x x_1 : ) => x x_1
Equations
• =
theorem MeasureTheory.Measure.le_add_left {α : Type u_1} {m0 : } {μ : } {ν : } {ν' : } (h : μ ν) :
μ ν' + ν
theorem MeasureTheory.Measure.le_add_right {α : Type u_1} {m0 : } {μ : } {ν : } {ν' : } (h : μ ν) :
μ ν + ν'
theorem MeasureTheory.Measure.sInf_caratheodory {α : Type u_1} {m0 : } {m : } (s : Set α) (hs : ) :
instance MeasureTheory.Measure.instInfSet {α : Type u_1} [] :
Equations
• MeasureTheory.Measure.instInfSet = { sInf := fun (m : ) => (sInf (MeasureTheory.Measure.toOuterMeasure '' m)).toMeasure }
theorem MeasureTheory.Measure.sInf_apply {α : Type u_1} {m0 : } {s : Set α} {m : } (hs : ) :
(sInf m) s = (sInf (MeasureTheory.Measure.toOuterMeasure '' m)) s
Equations
• MeasureTheory.Measure.instCompleteSemilatticeInf = let __src := inferInstance; let __src_1 := inferInstance;
Equations
• MeasureTheory.Measure.instCompleteLattice = let __src := ; CompleteLattice.mk
@[simp]
theorem MeasureTheory.OuterMeasure.toMeasure_top {α : Type u_1} {m0 : } :
.toMeasure =
@[simp]
theorem MeasureTheory.Measure.toOuterMeasure_top {α : Type u_1} [] :
.toOuterMeasure =
@[simp]
theorem MeasureTheory.Measure.top_add {α : Type u_1} {m0 : } {μ : } :
+ μ =
@[simp]
theorem MeasureTheory.Measure.add_top {α : Type u_1} {m0 : } {μ : } :
μ + =
theorem MeasureTheory.Measure.zero_le {α : Type u_1} {_m0 : } (μ : ) :
0 μ
theorem MeasureTheory.Measure.nonpos_iff_eq_zero' {α : Type u_1} {m0 : } {μ : } :
μ 0 μ = 0
@[simp]
theorem MeasureTheory.Measure.measure_univ_eq_zero {α : Type u_1} {m0 : } {μ : } :
μ Set.univ = 0 μ = 0
theorem MeasureTheory.Measure.measure_univ_ne_zero {α : Type u_1} {m0 : } {μ : } :
μ Set.univ 0 μ 0
instance MeasureTheory.Measure.instNeZeroENNRealCoeSetUniv {α : Type u_1} {m0 : } {μ : } [] :
NeZero (μ Set.univ)
Equations
• =
@[simp]
theorem MeasureTheory.Measure.measure_univ_pos {α : Type u_1} {m0 : } {μ : } :
0 < μ Set.univ μ 0

### Pushforward and pullback #

def MeasureTheory.Measure.liftLinear {α : Type u_1} {β : Type u_2} [] {m0 : } (hf : ∀ (μ : ), inst✝ (f μ.toOuterMeasure).caratheodory) :

Lift a linear map between OuterMeasure spaces such that for each measure μ every measurable set is caratheodory-measurable w.r.t. f μ to a linear map between Measure spaces.

Equations
• = { toFun := fun (μ : ) => (f μ.toOuterMeasure).toMeasure , map_add' := , map_smul' := }
Instances For
theorem MeasureTheory.Measure.liftLinear_apply₀ {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } (hf : ∀ (μ : ), inst✝ (f μ.toOuterMeasure).caratheodory) {s : Set β} (hs : ) :
( μ) s = (f μ.toOuterMeasure) s
@[simp]
theorem MeasureTheory.Measure.liftLinear_apply {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } (hf : ∀ (μ : ), inst✝ (f μ.toOuterMeasure).caratheodory) {s : Set β} (hs : ) :
( μ) s = (f μ.toOuterMeasure) s
theorem MeasureTheory.Measure.le_liftLinear_apply {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } (hf : ∀ (μ : ), inst✝ (f μ.toOuterMeasure).caratheodory) (s : Set β) :
(f μ.toOuterMeasure) s ( μ) s
def MeasureTheory.Measure.mapₗ {α : Type u_1} {β : Type u_2} [] [] (f : αβ) :

The pushforward of a measure as a linear map. It is defined to be 0 if f is not a measurable function.

Equations
• = if hf : then else 0
Instances For
theorem MeasureTheory.Measure.mapₗ_congr {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} {g : αβ} (hf : ) (hg : ) (h : f =ᵐ[μ] g) :
@[irreducible]
def MeasureTheory.Measure.map {α : Type u_8} {β : Type u_9} [] [] (f : αβ) (μ : ) :

The pushforward of a measure. It is defined to be 0 if f is not an almost everywhere measurable function.

Equations
Instances For
theorem MeasureTheory.Measure.map_def {α : Type u_8} {β : Type u_9} [] [] (f : αβ) (μ : ) :
= if hf : then μ else 0
theorem MeasureTheory.Measure.mapₗ_mk_apply_of_aemeasurable {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
theorem MeasureTheory.Measure.mapₗ_apply_of_measurable {α : Type u_1} {β : Type u_2} {m0 : } [] {f : αβ} (hf : ) (μ : ) :
@[simp]
theorem MeasureTheory.Measure.map_add {α : Type u_1} {β : Type u_2} {m0 : } [] (μ : ) (ν : ) {f : αβ} (hf : ) :
@[simp]
theorem MeasureTheory.Measure.map_zero {α : Type u_1} {β : Type u_2} {m0 : } [] (f : αβ) :
@[simp]
theorem MeasureTheory.Measure.map_of_not_aemeasurable {α : Type u_1} {β : Type u_2} {m0 : } [] {f : αβ} {μ : } (hf : ¬) :
theorem MeasureTheory.Measure.map_congr {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} {g : αβ} (h : f =ᵐ[μ] g) :
@[simp]
theorem MeasureTheory.Measure.map_smul {α : Type u_1} {β : Type u_2} {m0 : } [] (c : ENNReal) (μ : ) (f : αβ) :
@[simp]
theorem MeasureTheory.Measure.map_smul_nnreal {α : Type u_1} {β : Type u_2} {m0 : } [] (c : NNReal) (μ : ) (f : αβ) :
theorem MeasureTheory.Measure.map_apply₀ {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : ) :
s = μ (f ⁻¹' s)
@[simp]
theorem MeasureTheory.Measure.map_apply_of_aemeasurable {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : ) :
s = μ (f ⁻¹' s)

We can evaluate the pushforward on measurable sets. For non-measurable sets, see MeasureTheory.Measure.le_map_apply and MeasurableEquiv.map_apply.

@[simp]
theorem MeasureTheory.Measure.map_apply {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : ) :
s = μ (f ⁻¹' s)
theorem MeasureTheory.Measure.map_toOuterMeasure {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
.toOuterMeasure = ( μ.toOuterMeasure).trim
@[simp]
theorem MeasureTheory.Measure.map_eq_zero_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
μ = 0
@[simp]
theorem MeasureTheory.Measure.mapₗ_eq_zero_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
= 0 μ = 0
theorem MeasureTheory.Measure.map_ne_zero_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
μ 0
theorem MeasureTheory.Measure.mapₗ_ne_zero_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
0 μ 0
@[simp]
theorem MeasureTheory.Measure.map_id {α : Type u_1} {m0 : } {μ : } :
@[simp]
theorem MeasureTheory.Measure.map_id' {α : Type u_1} {m0 : } {μ : } :
MeasureTheory.Measure.map (fun (x : α) => x) μ = μ
theorem MeasureTheory.Measure.map_map {α : Type u_1} {β : Type u_2} {γ : Type u_3} {m0 : } [] [] {μ : } {g : βγ} {f : αβ} (hg : ) (hf : ) :
theorem MeasureTheory.Measure.map_mono {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {ν : } {f : αβ} (h : μ ν) (hf : ) :
theorem MeasureTheory.Measure.le_map_apply {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) (s : Set β) :
μ (f ⁻¹' s) s

Even if s is not measurable, we can bound map f μ s from below. See also MeasurableEquiv.map_apply.

theorem MeasureTheory.Measure.le_map_apply_image {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) (s : Set α) :
μ s (f '' s)
theorem MeasureTheory.Measure.preimage_null_of_map_null {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : s = 0) :
μ (f ⁻¹' s) = 0

Even if s is not measurable, map f μ s = 0 implies that μ (f ⁻¹' s) = 0.

theorem MeasureTheory.Measure.tendsto_ae_map {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) :
def MeasureTheory.Measure.comapₗ {α : Type u_1} {β : Type u_2} [] [] (f : αβ) :

Pullback of a Measure as a linear map. If f sends each measurable set to a measurable set, then for each measurable set s we have comapₗ f μ s = μ (f '' s).

If the linearity is not needed, please use comap instead, which works for a larger class of functions.

Equations
• One or more equations did not get rendered due to their size.
Instances For
theorem MeasureTheory.Measure.comapₗ_apply {α : Type u_1} {s : Set α} {β : Type u_8} [] {mβ : } (f : αβ) (hfi : ) (hf : ∀ (s : Set α), MeasurableSet (f '' s)) (μ : ) (hs : ) :
() s = μ (f '' s)
def MeasureTheory.Measure.comap {α : Type u_1} {β : Type u_2} [] [] (f : αβ) (μ : ) :

Pullback of a Measure. If f sends each measurable set to a null-measurable set, then for each measurable set s we have comap f μ s = μ (f '' s).

Equations
• One or more equations did not get rendered due to their size.
Instances For
theorem MeasureTheory.Measure.comap_apply₀ {α : Type u_1} {β : Type u_2} [] {s : Set α} [] (f : αβ) (μ : ) (hfi : ) (hf : ∀ (s : Set α), ) (hs : ) :
s = μ (f '' s)
theorem MeasureTheory.Measure.le_comap_apply {α : Type u_1} {β : Type u_8} [] {mβ : } (f : αβ) (μ : ) (hfi : ) (hf : ∀ (s : Set α), ) (s : Set α) :
μ (f '' s) s
theorem MeasureTheory.Measure.comap_apply {α : Type u_1} {s : Set α} {β : Type u_8} [] {_mβ : } (f : αβ) (hfi : ) (hf : ∀ (s : Set α), MeasurableSet (f '' s)) (μ : ) (hs : ) :
s = μ (f '' s)
theorem MeasureTheory.Measure.comapₗ_eq_comap {α : Type u_1} {s : Set α} {β : Type u_8} [] {_mβ : } (f : αβ) (hfi : ) (hf : ∀ (s : Set α), MeasurableSet (f '' s)) (μ : ) (hs : ) :
() s = s
theorem MeasureTheory.Measure.measure_image_eq_zero_of_comap_eq_zero {α : Type u_1} {β : Type u_8} [] {_mβ : } (f : αβ) (μ : ) (hfi : ) (hf : ∀ (s : Set α), ) {s : Set α} (hs : s = 0) :
μ (f '' s) = 0
theorem MeasureTheory.Measure.ae_eq_image_of_ae_eq_comap {α : Type u_1} {β : Type u_8} [] {mβ : } (f : αβ) (μ : ) (hfi : ) (hf : ∀ (s : Set α), ) {s : Set α} {t : Set α} (hst : ) :
f '' s =ᵐ[μ] f '' t
theorem MeasureTheory.Measure.NullMeasurableSet.image {α : Type u_1} {β : Type u_8} [] {mβ : } (f : αβ) (μ : ) (hfi : ) (hf : ∀ (s : Set α), ) {s : Set α} (hs : ) :
theorem MeasureTheory.Measure.comap_preimage {α : Type u_1} {β : Type u_8} [] {mβ : } (f : αβ) (μ : ) {s : Set β} (hf : ) (hf' : ) (h : ∀ (t : Set α), ) (hs : ) :
(f ⁻¹' s) = μ (s )
noncomputable def MeasureTheory.Measure.sum {α : Type u_1} {ι : Type u_5} {m0 : } (f : ) :

Sum of an indexed family of measures.

Equations
Instances For
theorem MeasureTheory.Measure.le_sum_apply {α : Type u_1} {ι : Type u_5} {m0 : } (f : ) (s : Set α) :
∑' (i : ι), (f i) s
@[simp]
theorem MeasureTheory.Measure.sum_apply {α : Type u_1} {ι : Type u_5} {m0 : } (f : ) {s : Set α} (hs : ) :
= ∑' (i : ι), (f i) s
theorem MeasureTheory.Measure.sum_apply₀ {α : Type u_1} {ι : Type u_5} {m0 : } (f : ) {s : Set α} :
= ∑' (i : ι), (f i) s

For the next theorem, the countability assumption is necessary. For a counterexample, consider an uncountable space, with a distinguished point x₀, and the sigma-algebra made of countable sets not containing x₀, and their complements. All points but x₀ are measurable. Consider the sum of the Dirac masses at points different from x₀, and s = x₀. For any Dirac mass δ_x, we have δ_x (x₀) = 0, so ∑' x, δ_x (x₀) = 0. On the other hand, the measure sum δ_x gives mass one to each point different from x₀, so it gives infinite mass to any measurable set containing x₀ (as such a set is uncountable), and by outer regularity one get sum δ_x {x₀} = ∞.

theorem MeasureTheory.Measure.sum_apply_of_countable {α : Type u_1} {ι : Type u_5} {m0 : } [] (f : ) (s : Set α) :
= ∑' (i : ι), (f i) s
theorem MeasureTheory.Measure.le_sum {α : Type u_1} {ι : Type u_5} {m0 : } (μ : ) (i : ι) :
@[simp]
theorem MeasureTheory.Measure.sum_apply_eq_zero {α : Type u_1} {ι : Type u_5} {m0 : } [] {μ : } {s : Set α} :
= 0 ∀ (i : ι), (μ i) s = 0
theorem MeasureTheory.Measure.sum_apply_eq_zero' {α : Type u_1} {ι : Type u_5} {m0 : } {μ : } {s : Set α} (hs : ) :
= 0 ∀ (i : ι), (μ i) s = 0
@[simp]
theorem MeasureTheory.Measure.sum_zero {α : Type u_1} {ι : Type u_5} {m0 : } :
(MeasureTheory.Measure.sum fun (x : ι) => 0) = 0
theorem MeasureTheory.Measure.sum_sum {α : Type u_1} {ι : Type u_5} {m0 : } {ι' : Type u_8} (μ : ι) :
(MeasureTheory.Measure.sum fun (n : ι) => ) = MeasureTheory.Measure.sum fun (p : ι × ι') => μ p.1 p.2
theorem MeasureTheory.Measure.sum_comm {α : Type u_1} {ι : Type u_5} {m0 : } {ι' : Type u_8} (μ : ι) :
(MeasureTheory.Measure.sum fun (n : ι) => ) = MeasureTheory.Measure.sum fun (m : ι') => MeasureTheory.Measure.sum fun (n : ι) => μ n m
theorem MeasureTheory.Measure.ae_sum_iff {α : Type u_1} {ι : Type u_5} {m0 : } [] {μ : } {p : αProp} :
(∀ᵐ (x : α) ∂, p x) ∀ (i : ι), ∀ᵐ (x : α) ∂μ i, p x
theorem MeasureTheory.Measure.ae_sum_iff' {α : Type u_1} {ι : Type u_5} {m0 : } {μ : } {p : αProp} (h : MeasurableSet {x : α | p x}) :
(∀ᵐ (x : α) ∂, p x) ∀ (i : ι), ∀ᵐ (x : α) ∂μ i, p x
@[simp]
theorem MeasureTheory.Measure.sum_fintype {α : Type u_1} {ι : Type u_5} {m0 : } [] (μ : ) :
= i : ι, μ i
theorem MeasureTheory.Measure.sum_coe_finset {α : Type u_1} {ι : Type u_5} {m0 : } (s : ) (μ : ) :
(MeasureTheory.Measure.sum fun (i : { x : ι // x s }) => μ i) = is, μ i
@[simp]
theorem MeasureTheory.Measure.ae_sum_eq {α : Type u_1} {ι : Type u_5} {m0 : } [] (μ : ) :
= ⨆ (i : ι), MeasureTheory.ae (μ i)
theorem MeasureTheory.Measure.sum_bool {α : Type u_1} {m0 : } (f : ) :
theorem MeasureTheory.Measure.sum_cond {α : Type u_1} {m0 : } (μ : ) (ν : ) :
(MeasureTheory.Measure.sum fun (b : Bool) => bif b then μ else ν) = μ + ν
@[simp]
theorem MeasureTheory.Measure.sum_of_isEmpty {α : Type u_1} {ι : Type u_5} {m0 : } [] (μ : ) :
@[deprecated MeasureTheory.Measure.sum_of_isEmpty]
theorem MeasureTheory.Measure.sum_of_empty {α : Type u_1} {ι : Type u_5} {m0 : } [] (μ : ) :

Alias of MeasureTheory.Measure.sum_of_isEmpty.

theorem MeasureTheory.Measure.sum_add_sum_compl {α : Type u_1} {ι : Type u_5} {m0 : } (s : Set ι) (μ : ) :
((MeasureTheory.Measure.sum fun (i : s) => μ i) + MeasureTheory.Measure.sum fun (i : s) => μ i) =
theorem MeasureTheory.Measure.sum_congr {α : Type u_1} {m0 : } {μ : } {ν : } (h : ∀ (n : ), μ n = ν n) :
theorem MeasureTheory.Measure.sum_add_sum {α : Type u_1} {m0 : } {ι : Type u_8} (μ : ) (ν : ) :
= MeasureTheory.Measure.sum fun (n : ι) => μ n + ν n
@[simp]
theorem MeasureTheory.Measure.sum_comp_equiv {α : Type u_1} {m0 : } {ι : Type u_8} {ι' : Type u_9} (e : ι' ι) (m : ) :
@[simp]
theorem MeasureTheory.Measure.sum_extend_zero {α : Type u_1} {m0 : } {ι : Type u_8} {ι' : Type u_9} {f : ιι'} (hf : ) (m : ) :

### Absolute continuity #

def MeasureTheory.Measure.AbsolutelyContinuous {α : Type u_1} {_m0 : } (μ : ) (ν : ) :

We say that μ is absolutely continuous with respect to ν, or that μ is dominated by ν, if ν(A) = 0 implies that μ(A) = 0.

Equations
• μ.AbsolutelyContinuous ν = ∀ ⦃s : Set α⦄, ν s = 0μ s = 0
Instances For

We say that μ is absolutely continuous with respect to ν, or that μ is dominated by ν, if ν(A) = 0 implies that μ(A) = 0.

Equations
Instances For
theorem MeasureTheory.Measure.absolutelyContinuous_of_le {α : Type u_1} {m0 : } {μ : } {ν : } (h : μ ν) :
μ.AbsolutelyContinuous ν
theorem LE.le.absolutelyContinuous {α : Type u_1} {m0 : } {μ : } {ν : } (h : μ ν) :
μ.AbsolutelyContinuous ν

Alias of MeasureTheory.Measure.absolutelyContinuous_of_le.

theorem MeasureTheory.Measure.absolutelyContinuous_of_eq {α : Type u_1} {m0 : } {μ : } {ν : } (h : μ = ν) :
μ.AbsolutelyContinuous ν
theorem Eq.absolutelyContinuous {α : Type u_1} {m0 : } {μ : } {ν : } (h : μ = ν) :
μ.AbsolutelyContinuous ν

Alias of MeasureTheory.Measure.absolutelyContinuous_of_eq.

theorem MeasureTheory.Measure.AbsolutelyContinuous.mk {α : Type u_1} {m0 : } {μ : } {ν : } (h : ∀ ⦃s : Set α⦄, ν s = 0μ s = 0) :
μ.AbsolutelyContinuous ν
theorem MeasureTheory.Measure.AbsolutelyContinuous.refl {α : Type u_1} {_m0 : } (μ : ) :
μ.AbsolutelyContinuous μ
theorem MeasureTheory.Measure.AbsolutelyContinuous.rfl {α : Type u_1} {m0 : } {μ : } :
μ.AbsolutelyContinuous μ
instance MeasureTheory.Measure.AbsolutelyContinuous.instIsRefl {α : Type u_1} [] :
IsRefl fun (x x_1 : ) => x.AbsolutelyContinuous x_1
Equations
• =
@[simp]
theorem MeasureTheory.Measure.AbsolutelyContinuous.zero {α : Type u_1} {m0 : } (μ : ) :
theorem MeasureTheory.Measure.AbsolutelyContinuous.trans {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } {μ₃ : } (h1 : μ₁.AbsolutelyContinuous μ₂) (h2 : μ₂.AbsolutelyContinuous μ₃) :
μ₁.AbsolutelyContinuous μ₃
theorem MeasureTheory.Measure.AbsolutelyContinuous.map {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {ν : } (h : μ.AbsolutelyContinuous ν) {f : αβ} (hf : ) :
.AbsolutelyContinuous
theorem MeasureTheory.Measure.AbsolutelyContinuous.smul {α : Type u_1} {R : Type u_6} {m0 : } {μ : } {ν : } [] (h : μ.AbsolutelyContinuous ν) (c : R) :
(c μ).AbsolutelyContinuous ν
theorem MeasureTheory.Measure.AbsolutelyContinuous.add {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } {ν : } {ν' : } (h1 : μ₁.AbsolutelyContinuous ν) (h2 : μ₂.AbsolutelyContinuous ν') :
(μ₁ + μ₂).AbsolutelyContinuous (ν + ν')
theorem MeasureTheory.Measure.AbsolutelyContinuous.add_left_iff {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } {ν : } :
(μ₁ + μ₂).AbsolutelyContinuous ν μ₁.AbsolutelyContinuous ν μ₂.AbsolutelyContinuous ν
theorem MeasureTheory.Measure.AbsolutelyContinuous.add_left {α : Type u_1} {m0 : } {μ₁ : } {μ₂ : } {ν : } (h₁ : μ₁.AbsolutelyContinuous ν) (h₂ : μ₂.AbsolutelyContinuous ν) :
(μ₁ + μ₂).AbsolutelyContinuous ν
theorem MeasureTheory.Measure.AbsolutelyContinuous.add_right {α : Type u_1} {m0 : } {μ : } {ν : } (h1 : μ.AbsolutelyContinuous ν) (ν' : ) :
μ.AbsolutelyContinuous (ν + ν')
@[simp]
theorem MeasureTheory.Measure.absolutelyContinuous_zero_iff {α : Type u_1} {m0 : } {μ : } :
μ.AbsolutelyContinuous 0 μ = 0
theorem MeasureTheory.Measure.absolutelyContinuous_refl {α : Type u_1} {_m0 : } (μ : ) :
μ.AbsolutelyContinuous μ

Alias of MeasureTheory.Measure.AbsolutelyContinuous.refl.

theorem MeasureTheory.Measure.absolutelyContinuous_rfl {α : Type u_1} {m0 : } {μ : } :
μ.AbsolutelyContinuous μ

Alias of MeasureTheory.Measure.AbsolutelyContinuous.rfl.

theorem MeasureTheory.Measure.absolutelyContinuous_sum_left {α : Type u_1} {ι : Type u_5} {m0 : } {ν : } {μs : } (hμs : ∀ (i : ι), (μs i).AbsolutelyContinuous ν) :
.AbsolutelyContinuous ν
theorem MeasureTheory.Measure.absolutelyContinuous_sum_right {α : Type u_1} {ι : Type u_5} {m0 : } {ν : } {μs : } (i : ι) (hνμ : ν.AbsolutelyContinuous (μs i)) :
ν.AbsolutelyContinuous
theorem MeasureTheory.Measure.absolutelyContinuous_of_le_smul {α : Type u_1} {m0 : } {μ : } {μ' : } {c : ENNReal} (hμ'_le : μ' c μ) :
μ'.AbsolutelyContinuous μ
theorem MeasureTheory.Measure.smul_absolutelyContinuous {α : Type u_1} {m0 : } {μ : } {c : ENNReal} :
(c μ).AbsolutelyContinuous μ
theorem MeasureTheory.Measure.absolutelyContinuous_smul {α : Type u_1} {m0 : } {μ : } {c : ENNReal} (hc : c 0) :
μ.AbsolutelyContinuous (c μ)
theorem MeasureTheory.Measure.ae_le_iff_absolutelyContinuous {α : Type u_1} {m0 : } {μ : } {ν : } :
μ.AbsolutelyContinuous ν
theorem LE.le.absolutelyContinuous_of_ae {α : Type u_1} {m0 : } {μ : } {ν : } :
μ.AbsolutelyContinuous ν

Alias of the forward direction of MeasureTheory.Measure.ae_le_iff_absolutelyContinuous.

theorem MeasureTheory.Measure.AbsolutelyContinuous.ae_le {α : Type u_1} {m0 : } {μ : } {ν : } :
μ.AbsolutelyContinuous ν

Alias of the reverse direction of MeasureTheory.Measure.ae_le_iff_absolutelyContinuous.

theorem MeasureTheory.Measure.ae_mono' {α : Type u_1} {m0 : } {μ : } {ν : } :
μ.AbsolutelyContinuous ν

Alias of the reverse direction of MeasureTheory.Measure.ae_le_iff_absolutelyContinuous.

Alias of the reverse direction of MeasureTheory.Measure.ae_le_iff_absolutelyContinuous.

theorem MeasureTheory.Measure.AbsolutelyContinuous.ae_eq {α : Type u_1} {δ : Type u_4} {m0 : } {μ : } {ν : } (h : μ.AbsolutelyContinuous ν) {f : αδ} {g : αδ} (h' : f =ᵐ[ν] g) :
f =ᵐ[μ] g
theorem MeasureTheory.AEDisjoint.of_absolutelyContinuous {α : Type u_1} {m0 : } {μ : } {s : Set α} {t : Set α} (h : ) {ν : } (h' : ν.AbsolutelyContinuous μ) :
theorem MeasureTheory.AEDisjoint.of_le {α : Type u_1} {m0 : } {μ : } {s : Set α} {t : Set α} (h : ) {ν : } (h' : ν μ) :

### Quasi measure preserving maps (a.k.a. non-singular maps) #

structure MeasureTheory.Measure.QuasiMeasurePreserving {α : Type u_1} {β : Type u_2} [] {m0 : } (f : αβ) (μa : ) (μb : ) :

A map f : α → β is said to be quasi measure preserving (a.k.a. non-singular) w.r.t. measures μa and μb if it is measurable and μb s = 0 implies μa (f ⁻¹' s) = 0.

• measurable :
• absolutelyContinuous : ().AbsolutelyContinuous μb
Instances For
theorem MeasureTheory.Measure.QuasiMeasurePreserving.measurable {α : Type u_1} {β : Type u_2} [] {m0 : } {f : αβ} {μa : } {μb : } (self : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.absolutelyContinuous {α : Type u_1} {β : Type u_2} [] {m0 : } {f : αβ} {μa : } {μb : } (self : ) :
().AbsolutelyContinuous μb
theorem MeasureTheory.Measure.QuasiMeasurePreserving.id {α : Type u_1} {_m0 : } (μ : ) :
theorem Measurable.quasiMeasurePreserving {α : Type u_1} {β : Type u_2} [] {f : αβ} {_m0 : } (hf : ) (μ : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.mono_left {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μa' : } {μb : } {f : αβ} (h : ) (ha : μa'.AbsolutelyContinuous μa) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.mono_right {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {μb' : } {f : αβ} (h : ) (ha : μb.AbsolutelyContinuous μb') :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.mono {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μa' : } {μb : } {μb' : } {f : αβ} (ha : μa'.AbsolutelyContinuous μa) (hb : μb.AbsolutelyContinuous μb') (h : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {m0 : } [] [] {μa : } {μb : } {μc : } {g : βγ} {f : αβ} (hg : ) (hf : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.iterate {α : Type u_1} {m0 : } {μa : } {f : αα} (hf : ) (n : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.aemeasurable {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} (hf : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.ae_map_le {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} (h : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.tendsto_ae {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} (h : ) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.ae {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} (h : ) {p : βProp} (hg : ∀ᵐ (x : β) ∂μb, p x) :
∀ᵐ (x : α) ∂μa, p (f x)
theorem MeasureTheory.Measure.QuasiMeasurePreserving.ae_eq {α : Type u_1} {β : Type u_2} {δ : Type u_4} {m0 : } [] {μa : } {μb : } {f : αβ} (h : ) {g₁ : βδ} {g₂ : βδ} (hg : g₁ =ᵐ[μb] g₂) :
g₁ f =ᵐ[μa] g₂ f
theorem MeasureTheory.Measure.QuasiMeasurePreserving.preimage_null {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} (h : ) {s : Set β} (hs : μb s = 0) :
μa (f ⁻¹' s) = 0
theorem MeasureTheory.Measure.QuasiMeasurePreserving.preimage_mono_ae {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} {s : Set β} {t : Set β} (hf : ) (h : s ≤ᵐ[μb] t) :
theorem MeasureTheory.Measure.QuasiMeasurePreserving.preimage_ae_eq {α : Type u_1} {β : Type u_2} {m0 : } [] {μa : } {μb : } {f : αβ} {s : Set β} {t : Set β} (hf : ) (h : s =ᵐ[μb] t) :
f ⁻¹' s =ᵐ[μa] f ⁻¹' t
theorem MeasureTheory.Measure.QuasiMeasurePreserving.preimage_iterate_ae_eq {α : Type u_1} {m0 : } {μ : } {s : Set α} {f : αα} (hf : ) (k : ) (hs : f ⁻¹' s =ᵐ[μ] s) :
f^[k] ⁻¹' s =ᵐ[μ] s
theorem MeasureTheory.Measure.QuasiMeasurePreserving.image_zpow_ae_eq {α : Type u_1} {m0 : } {μ : } {s : Set α} {e : α α} (he : ) (he' : MeasureTheory.Measure.QuasiMeasurePreserving (e.symm) μ μ) (k : ) (hs : e '' s =ᵐ[μ] s) :
(e ^ k) '' s =ᵐ[μ] s
theorem MeasureTheory.Measure.QuasiMeasurePreserving.limsup_preimage_iterate_ae_eq {α : Type u_1} {m0 : } {μ : } {s : Set α} {f : αα} (hf : ) (hs : f ⁻¹' s =ᵐ[μ] s) :
Filter.limsup (fun (n : ) => ()^[n] s) Filter.atTop =ᵐ[μ] s
theorem MeasureTheory.Measure.QuasiMeasurePreserving.liminf_preimage_iterate_ae_eq {α : Type u_1} {m0 : } {μ : } {s : Set α} {f : αα} (hf : ) (hs : f ⁻¹' s =ᵐ[μ] s) :
Filter.liminf (fun (n : ) => ()^[n] s) Filter.atTop =ᵐ[μ] s
theorem MeasureTheory.Measure.QuasiMeasurePreserving.exists_preimage_eq_of_preimage_ae {α : Type u_1} {m0 : } {μ : } {s : Set α} {f : αα} (h : ) (hs : ) (hs' : f ⁻¹' s =ᵐ[μ] s) :
∃ (t : Set α), t =ᵐ[μ] s f ⁻¹' t = t

By replacing a measurable set that is almost invariant with the limsup of its preimages, we obtain a measurable set that is almost equal and strictly invariant.

(The liminf would work just as well.)

theorem MeasureTheory.Measure.QuasiMeasurePreserving.vadd_ae_eq_of_ae_eq {G : Type u_8} {α : Type u_9} [] [] [] {s : Set α} {t : Set α} {μ : } (g : G) (h_qmp : MeasureTheory.Measure.QuasiMeasurePreserving (fun (x : α) => -g +ᵥ x) μ μ) (h_ae_eq : s =ᵐ[μ] t) :
g +ᵥ s =ᵐ[μ] g +ᵥ t
theorem MeasureTheory.Measure.QuasiMeasurePreserving.smul_ae_eq_of_ae_eq {G : Type u_8} {α : Type u_9} [] [] [] {s : Set α} {t : Set α} {μ : } (g : G) (h_qmp : MeasureTheory.Measure.QuasiMeasurePreserving (fun (x : α) => g⁻¹ x) μ μ) (h_ae_eq : s =ᵐ[μ] t) :
g s =ᵐ[μ] g t
theorem MeasureTheory.Measure.pairwise_aedisjoint_of_aedisjoint_forall_ne_zero {G : Type u_8} {α : Type u_9} [] [] [] {μ : } {s : Set α} (h_ae_disjoint : ∀ (g : G), g 0MeasureTheory.AEDisjoint μ (g +ᵥ s) s) (h_qmp : ∀ (g : G), MeasureTheory.Measure.QuasiMeasurePreserving (fun (x : α) => g +ᵥ x) μ μ) :
Pairwise ( on fun (g : G) => g +ᵥ s)
theorem MeasureTheory.Measure.pairwise_aedisjoint_of_aedisjoint_forall_ne_one {G : Type u_8} {α : Type u_9} [] [] [] {μ : } {s : Set α} (h_ae_disjoint : ∀ (g : G), g 1MeasureTheory.AEDisjoint μ (g s) s) (h_qmp : ∀ (g : G), MeasureTheory.Measure.QuasiMeasurePreserving (fun (x : α) => g x) μ μ) :
Pairwise ( on fun (g : G) => g s)

### The cofinite filter #

def MeasureTheory.Measure.cofinite {α : Type u_1} {m0 : } (μ : ) :

The filter of sets s such that sᶜ has finite measure.

Equations
Instances For
theorem MeasureTheory.Measure.mem_cofinite {α : Type u_1} {m0 : } {μ : } {s : Set α} :
s μ.cofinite μ s <
theorem MeasureTheory.Measure.compl_mem_cofinite {α : Type u_1} {m0 : } {μ : } {s : Set α} :
s μ.cofinite μ s <
theorem MeasureTheory.Measure.eventually_cofinite {α : Type u_1} {m0 : } {μ : } {p : αProp} :
(∀ᶠ (x : α) in μ.cofinite, p x) μ {x : α | ¬p x} <
instance MeasureTheory.Measure.cofinite.instIsMeasurablyGenerated {α : Type u_1} {m0 : } {μ : } :
μ.cofinite.IsMeasurablyGenerated
Equations
• =
theorem AEMeasurable.nullMeasurable {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (h : ) :
theorem AEMeasurable.nullMeasurableSet_preimage {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} {s : Set β} (hf : ) (hs : ) :
theorem MeasureTheory.NullMeasurableSet.preimage {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {ν : } {f : αβ} {t : Set β} (ht : ) (hf : ) :

The preimage of a null measurable set under a (quasi) measure preserving map is a null measurable set.

theorem MeasureTheory.NullMeasurableSet.mono_ac {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} (h : ) (hle : ν.AbsolutelyContinuous μ) :
theorem MeasureTheory.NullMeasurableSet.mono {α : Type u_1} {m0 : } {μ : } {ν : } {s : Set α} (h : ) (hle : ν μ) :
theorem MeasureTheory.AEDisjoint.preimage {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {ν : } {f : αβ} {s : Set β} {t : Set β} (ht : ) (hf : ) :
@[simp]
theorem MeasureTheory.ae_eq_bot {α : Type u_1} {m0 : } {μ : } :
μ = 0
@[simp]
theorem MeasureTheory.ae_neBot {α : Type u_1} {m0 : } {μ : } :
().NeBot μ 0
instance MeasureTheory.Measure.ae.neBot {α : Type u_1} {m0 : } {μ : } [] :
().NeBot
Equations
• =
@[simp]
theorem MeasureTheory.ae_zero {α : Type u_1} {_m0 : } :
theorem MeasureTheory.ae_mono {α : Type u_1} {m0 : } {μ : } {ν : } (h : μ ν) :
theorem MeasureTheory.mem_ae_map_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : ) :
f ⁻¹' s
theorem MeasureTheory.mem_ae_of_mem_ae_map {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {s : Set β} (hs : ) :
f ⁻¹' s
theorem MeasureTheory.ae_map_iff {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {p : βProp} (hp : MeasurableSet {x : β | p x}) :
(∀ᵐ (y : β) ∂, p y) ∀ᵐ (x : α) ∂μ, p (f x)
theorem MeasureTheory.ae_of_ae_map {α : Type u_1} {β : Type u_2} {m0 : } [] {μ : } {f : αβ} (hf : ) {p : βProp} (h : ∀ᵐ (y : β) ∂, p y) :
∀ᵐ (x : α) ∂μ, p (f x)
theorem MeasureTheory.ae_map_mem_range {α : Type u_1} {β : Type u_2} [] {m0 : } (f : αβ) (hf : ) (μ : ) :
∀ᵐ (x : β) ∂, x
theorem MeasureTheory.biSup_measure_Iic {α : Type u_1} {m0 : } {μ : } [] {s : Set α} (hsc : s.Countable) (hst : ∀ (x : α), ys, x y) (hdir : DirectedOn (fun (x x_1 : α) => x x_1) s) :
xs, μ () = μ Set.univ
theorem MeasureTheory.tendsto_measure_Ico_atTop {α : Type u_1} {m0 : } [] [] [Filter.atTop.IsCountablyGenerated] (μ : ) (a : α) :
Filter.Tendsto (fun (x : α) => μ (Set.Ico a x)) Filter.atTop (nhds (μ ()))
theorem MeasureTheory.tendsto_measure_Ioc_atBot {α : Type u_1} {m0 : } [] [] [Filter.atBot.IsCountablyGenerated] (μ : ) (a : α) :
Filter.Tendsto (fun (x : α) => μ (Set.Ioc x a)) Filter.atBot (nhds (μ ()))
theorem MeasureTheory.tendsto_measure_Iic_atTop {α : Type u_1} {m0 : } [] [Filter.atTop.IsCountablyGenerated] (μ : ) :
Filter.Tendsto (fun (x : α) => μ ()) Filter.atTop (nhds (μ Set.univ))
theorem MeasureTheory.tendsto_measure_Ici_atBot {α : Type u_1} {m0 : } [] [h : Filter.atBot.IsCountablyGenerated] (μ : ) :
Filter.Tendsto (fun (x : α) => μ ()) Filter.atBot (nhds (μ Set.univ))
theorem MeasureTheory.Iio_ae_eq_Iic' {α : Type u_1} {m0 : } {μ : } [] {a : α} (ha : μ {a} = 0) :
=ᵐ[μ]
theorem MeasureTheory.Ioi_ae_eq_Ici' {α : Type u_1} {m0 : } {μ : } [] {a : α} (ha : μ {a} = 0) :
=ᵐ[μ]
theorem MeasureTheory.Ioo_ae_eq_Ioc' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (hb : μ {b} = 0) :
theorem MeasureTheory.Ioc_ae_eq_Icc' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (ha : μ {a} = 0) :
theorem MeasureTheory.Ioo_ae_eq_Ico' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (ha : μ {a} = 0) :
theorem MeasureTheory.Ioo_ae_eq_Icc' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (ha : μ {a} = 0) (hb : μ {b} = 0) :
theorem MeasureTheory.Ico_ae_eq_Icc' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (hb : μ {b} = 0) :
theorem MeasureTheory.Ico_ae_eq_Ioc' {α : Type u_1} {m0 : } {μ : } [] {a : α} {b : α} (ha : μ {a} = 0) (hb : μ {b} = 0) :
theorem MeasurableEmbedding.map_apply {α : Type u_1} {β : Type u_2} {m0 : } {m1 : } {f : αβ} (hf : ) (μ : ) (s : Set β) :
s = μ (f ⁻¹' s)
theorem MeasurableEmbedding.comap_add {α : Type u_1} {β : Type u_2} {m0 : } {m1 : } {f : αβ} (hf : ) (μ : ) (ν : ) :
theorem MeasurableEmbedding.absolutelyContinuous_map {α : Type u_1} {β : Type u_2} {m0 : } {m1 : } {f : αβ} {μ : } {ν : } (hf : ) (hμν : μ.AbsolutelyContinuous ν) :
.AbsolutelyContinuous

Interactions of measurable equivalences and measures

theorem MeasurableEquiv.map_apply {α : Type u_1} {β : Type u_2} [] [] {μ : } (f : α ≃ᵐ β) (s : Set β) :
() s = μ (f ⁻¹' s)

If we map a measure along a measurable equivalence, we can compute the measure on all sets (not just the measurable ones).

theorem MeasurableEquiv.comap_symm {α : Type u_1} {β : Type u_2} [] [] {μ : } (e : α ≃ᵐ β) :
theorem MeasurableEquiv.map_symm {α : Type u_1} {β : Type u_2} [] [] {μ : } (e : β ≃ᵐ α) :
@[simp]
theorem MeasurableEquiv.map_symm_map {α : Type u_1} {β : Type u_2} [] [] {μ : } (e : α ≃ᵐ β) :
MeasureTheory.Measure.map (e.symm) () = μ
@[simp]
theorem MeasurableEquiv.map_map_symm {α : Type u_1} {β : Type u_2} [] [] {ν : } (e : α ≃ᵐ β) :
theorem MeasurableEquiv.map_measurableEquiv_injective {α : Type u_1} {β : Type u_2} [] [] (e : α ≃ᵐ β) :
theorem MeasurableEquiv.map_apply_eq_iff_map_symm_apply_eq {α : Type u_1} {β : Type u_2} [] [] {μ : } {ν : } (e : α ≃ᵐ β) :
= ν MeasureTheory.Measure.map (e.symm) ν = μ
theorem MeasurableEquiv.map_ae {α : Type u_1} {β : Type u_2} [] [] (f : α ≃ᵐ β) (μ : ) :
Filter.map (f) () =
theorem MeasurableEquiv.quasiMeasurePreserving_symm {α : Type u_1} {β : Type u_2} [] [] (μ : ) (e : α ≃ᵐ β) :