mathlib documentation

measure_theory.measure.measure_space

Measure spaces #

The definition of a measure and a measure space are in measure_theory.measure_space_def, 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 measure_space_def, and to be available in measure_space (through measurable_space).

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

We introduce the following typeclasses for measures:

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 #

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:

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

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

References #

Tags #

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

@[protected, instance]
theorem measure_theory.ae_interval_oc_iff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} [linear_order α] {a b : α} {P : α → Prop} :
(∀ᵐ (x : α) ∂μ, x set.interval_oc a bP x) (∀ᵐ (x : α) ∂μ, x set.Ioc a bP x) ∀ᵐ (x : α) ∂μ, x set.Ioc b aP x

See also measure_theory.ae_restrict_interval_oc_iff.

theorem measure_theory.measure_union {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} (hd : disjoint s₁ s₂) (h : measurable_set s₂) :
μ (s₁ s₂) = μ s₁ + μ s₂
theorem measure_theory.measure_union' {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} (hd : disjoint s₁ s₂) (h : measurable_set s₁) :
μ (s₁ s₂) = μ s₁ + μ s₂
theorem measure_theory.measure_inter_add_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measurable_set t) :
μ (s t) + μ (s \ t) = μ s
theorem measure_theory.measure_diff_add_inter {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measurable_set t) :
μ (s \ t) + μ (s t) = μ s
theorem measure_theory.measure_union_add_inter {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measurable_set t) :
μ (s t) + μ (s t) = μ s + μ t
theorem measure_theory.measure_union_add_inter' {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : measurable_set s) (t : set α) :
μ (s t) + μ (s t) = μ s + μ t
theorem measure_theory.measure_add_measure_compl {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s : set α} (h : measurable_set s) :
μ s + μ s = μ set.univ
theorem measure_theory.measure_bUnion₀ {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} {s : set β} {f : β → set α} (hs : s.countable) (hd : s.pairwise (measure_theory.ae_disjoint μ on f)) (h : ∀ (b : β), b smeasure_theory.null_measurable_set (f b) μ) :
μ (⋃ (b : β) (H : b s), f b) = ∑' (p : s), μ (f p)
theorem measure_theory.measure_bUnion {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} {s : set β} {f : β → set α} (hs : s.countable) (hd : s.pairwise_disjoint f) (h : ∀ (b : β), b smeasurable_set (f b)) :
μ (⋃ (b : β) (H : b s), f b) = ∑' (p : s), μ (f p)
theorem measure_theory.measure_sUnion₀ {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {S : set (set α)} (hs : S.countable) (hd : S.pairwise (measure_theory.ae_disjoint μ)) (h : ∀ (s : set α), s Smeasure_theory.null_measurable_set s μ) :
μ (⋃₀ S) = ∑' (s : S), μ s
theorem measure_theory.measure_sUnion {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {S : set (set α)} (hs : S.countable) (hd : S.pairwise disjoint) (h : ∀ (s : set α), s Smeasurable_set s) :
μ (⋃₀ S) = ∑' (s : S), μ s
theorem measure_theory.measure_bUnion_finset₀ {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} {s : finset ι} {f : ι → set α} (hd : s.pairwise (measure_theory.ae_disjoint μ on f)) (hm : ∀ (b : ι), b smeasure_theory.null_measurable_set (f b) μ) :
μ (⋃ (b : ι) (H : b s), f b) = s.sum (λ (p : ι), μ (f p))
theorem measure_theory.measure_bUnion_finset {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} {s : finset ι} {f : ι → set α} (hd : s.pairwise_disjoint f) (hm : ∀ (b : ι), b smeasurable_set (f b)) :
μ (⋃ (b : ι) (H : b s), f b) = s.sum (λ (p : ι), μ (f p))
theorem measure_theory.tsum_measure_preimage_singleton {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} {s : set β} (hs : s.countable) {f : α → β} (hf : ∀ (y : β), y smeasurable_set (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 measure_theory.sum_measure_preimage_singleton {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} (s : finset β) {f : α → β} (hf : ∀ (y : β), y smeasurable_set (f ⁻¹' {y})) :
s.sum (λ (b : β), μ (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 measure_theory.measure_diff_null' {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} (h : μ (s₁ s₂) = 0) :
μ (s₁ \ s₂) = μ s₁
theorem measure_theory.measure_diff_null {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} (h : μ s₂ = 0) :
μ (s₁ \ s₂) = μ s₁
theorem measure_theory.measure_add_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : measurable_set s) (t : set α) :
μ s + μ (t \ s) = μ (s t)
theorem measure_theory.measure_diff' {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (hm : measurable_set t) (h_fin : μ t ) :
μ (s \ t) = μ (s t) - μ t
theorem measure_theory.measure_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} (h : s₂ s₁) (h₂ : measurable_set s₂) (h_fin : μ s₂ ) :
μ (s₁ \ s₂) = μ s₁ - μ s₂
theorem measure_theory.le_measure_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ : set α} :
μ s₁ - μ s₂ μ (s₁ \ s₂)
theorem measure_theory.measure_diff_lt_of_lt_add {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) (hst : s t) (hs' : μ s ) {ε : ennreal} (h : μ t < μ s + ε) :
μ (t \ s) < ε
theorem measure_theory.measure_diff_le_iff_le_add {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) (hst : s t) (hs' : μ s ) {ε : ennreal} :
μ (t \ s) ε μ t μ s + ε
theorem measure_theory.measure_eq_measure_of_null_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hst : s t) (h_nulldiff : μ (t \ s) = 0) :
μ s = μ t
theorem measure_theory.measure_eq_measure_of_between_null_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ s₃ : set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₁ = μ s₂ μ s₂ = μ s₃
theorem measure_theory.measure_eq_measure_smaller_of_between_null_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ s₃ : set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₁ = μ s₂
theorem measure_theory.measure_eq_measure_larger_of_between_null_diff {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ s₃ : set α} (h12 : s₁ s₂) (h23 : s₂ s₃) (h_nulldiff : μ (s₃ \ s₁) = 0) :
μ s₂ = μ s₃
theorem measure_theory.measure_compl {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s : set α} (h₁ : measurable_set s) (h_fin : μ s ) :
μ s = μ set.univ - μ s
theorem measure_theory.ae_eq_of_subset_of_measure_ge {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h₁ : s t) (h₂ : μ t μ s) (hsm : measurable_set s) (ht : μ t ) :
s =ᵐ[μ] t

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

theorem measure_theory.measure_Union_congr_of_subset {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} [countable β] {s t : β → set α} (hsub : ∀ (b : β), s b t b) (h_le : ∀ (b : β), μ (t b) μ (s b)) :
μ (⋃ (b : β), s b) = μ (⋃ (b : β), t b)
theorem measure_theory.measure_union_congr_of_subset {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s₁ s₂ t₁ t₂ : set α} (hs : s₁ s₂) (hsμ : μ s₂ μ s₁) (ht : t₁ t₂) (htμ : μ t₂ μ t₁) :
μ (s₁ t₁) = μ (s₂ t₂)
@[simp]
theorem measure_theory.measure_Union_to_measurable {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} [countable β] (s : β → set α) :
μ (⋃ (b : β), measure_theory.to_measurable μ (s b)) = μ (⋃ (b : β), s b)
theorem measure_theory.measure_bUnion_to_measurable {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} {I : set β} (hc : I.countable) (s : β → set α) :
μ (⋃ (b : β) (H : b I), measure_theory.to_measurable μ (s b)) = μ (⋃ (b : β) (H : b I), s b)
@[simp]
theorem measure_theory.measure_to_measurable_union {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} :
@[simp]
theorem measure_theory.measure_union_to_measurable {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s t : set α} :
theorem measure_theory.sum_measure_le_measure_univ {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} {s : finset ι} {t : ι → set α} (h : ∀ (i : ι), i smeasurable_set (t i)) (H : s.pairwise_disjoint t) :
s.sum (λ (i : ι), μ (t i)) μ set.univ
theorem measure_theory.tsum_measure_le_measure_univ {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} {s : ι → set α} (hs : ∀ (i : ι), measurable_set (s i)) (H : pairwise (disjoint on s)) :
∑' (i : ι), μ (s i) μ set.univ
theorem measure_theory.exists_nonempty_inter_of_measure_univ_lt_tsum_measure {α : Type u_1} {ι : Type u_5} {m : measurable_space α} (μ : measure_theory.measure α) {s : ι → set α} (hs : ∀ (i : ι), measurable_set (s i)) (H : μ set.univ < ∑' (i : ι), μ (s i)) :
∃ (i j : ι) (h : 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 measure_theory.exists_nonempty_inter_of_measure_univ_lt_sum_measure {α : Type u_1} {ι : Type u_5} {m : measurable_space α} (μ : measure_theory.measure α) {s : finset ι} {t : ι → set α} (h : ∀ (i : ι), i smeasurable_set (t i)) (H : μ set.univ < s.sum (λ (i : ι), μ (t i))) :
∃ (i : ι) (H : i s) (j : ι) (H : j s) (h : i j), (t i t j).nonempty

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

theorem measure_theory.nonempty_inter_of_measure_lt_add {α : Type u_1} {m : measurable_space α} (μ : measure_theory.measure α) {s t u : set α} (ht : measurable_set t) (h's : s u) (h't : t u) (h : μ u < μ s + μ t) :

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 measure_theory.nonempty_inter_of_measure_lt_add' {α : Type u_1} {m : measurable_space α} (μ : measure_theory.measure α) {s t u : set α} (hs : measurable_set s) (h's : s u) (h't : t u) (h : μ u < μ s + μ t) :

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 measure_theory.measure_Union_eq_supr {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : directed has_subset.subset 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 measure_theory.measure_bUnion_eq_supr {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} {s : ι → set α} {t : set ι} (ht : t.countable) (hd : directed_on (has_subset.subset on s) t) :
μ (⋃ (i : ι) (H : i t), s i) = ⨆ (i : ι) (H : i t), μ (s i)
theorem measure_theory.measure_Inter_eq_infi {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (h : ∀ (i : ι), measurable_set (s i)) (hd : directed superset 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 measure_theory.tendsto_measure_Union {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} [semilattice_sup ι] [countable ι] {s : ι → set α} (hm : monotone s) :
filter.tendsto (μ s) filter.at_top (nhds (μ (⋃ (n : ι), s n)))

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

theorem measure_theory.tendsto_measure_Inter {α : Type u_1} {ι : Type u_5} {m : measurable_space α} {μ : measure_theory.measure α} [countable ι] [semilattice_sup ι] {s : ι → set α} (hs : ∀ (n : ι), measurable_set (s n)) (hm : antitone s) (hf : ∃ (i : ι), μ (s i) ) :
filter.tendsto (μ s) filter.at_top (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 measure_theory.tendsto_measure_bInter_gt {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {ι : Type u_2} [linear_order ι] [topological_space ι] [order_topology ι] [densely_ordered ι] [topological_space.first_countable_topology ι] {s : ι → set α} {a : ι} (hs : ∀ (r : ι), r > ameasurable_set (s r)) (hm : ∀ (i j : ι), a < ii js i s j) (hf : ∃ (r : ι) (H : r > a), μ (s r) ) :
filter.tendsto (μ s) (nhds_within a (set.Ioi a)) (nhds (μ (⋂ (r : ι) (H : 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 measure_theory.measure_limsup_eq_zero {α : Type u_1} {m : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : ∑' (i : ), μ (s i) ) :

One direction of the 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.

theorem measure_theory.measure_if {α : Type u_1} {β : Type u_2} {m : measurable_space α} {μ : measure_theory.measure α} {x : β} {t : set β} {s : set α} :
μ (ite (x t) s ) = t.indicator (λ (_x : β), μ s) x

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

Equations
@[simp]
theorem measure_theory.to_measure_apply {α : Type u_1} [ms : measurable_space α] (m : measure_theory.outer_measure α) (h : ms m.caratheodory) {s : set α} (hs : measurable_set s) :
(m.to_measure h) s = m s
theorem measure_theory.le_to_measure_apply {α : Type u_1} [ms : measurable_space α] (m : measure_theory.outer_measure α) (h : ms m.caratheodory) (s : set α) :
m s (m.to_measure h) s
theorem measure_theory.measure.measure_inter_eq_of_measure_eq {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t u : set α} (hs : measurable_set s) (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 measure_theory.measure.measure_to_measurable_inter {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) (ht : μ t ) :

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

The ℝ≥0∞-module of measures #

@[simp, norm_cast]
theorem measure_theory.measure.coe_zero {α : Type u_1} {m : measurable_space α} :
0 = 0
@[protected, instance]
noncomputable def measure_theory.measure.has_add {α : Type u_1} [measurable_space α] :
Equations
@[simp]
theorem measure_theory.measure.add_to_outer_measure {α : Type u_1} {m : measurable_space α} (μ₁ μ₂ : measure_theory.measure α) :
@[simp, norm_cast]
theorem measure_theory.measure.coe_add {α : Type u_1} {m : measurable_space α} (μ₁ μ₂ : measure_theory.measure α) :
(μ₁ + μ₂) = μ₁ + μ₂
theorem measure_theory.measure.add_apply {α : Type u_1} {m : measurable_space α} (μ₁ μ₂ : measure_theory.measure α) (s : set α) :
(μ₁ + μ₂) s = μ₁ s + μ₂ s
@[protected, instance]
Equations
@[simp, norm_cast]
theorem measure_theory.measure.coe_smul {α : Type u_1} {R : Type u_6} [has_smul R ennreal] [is_scalar_tower R ennreal ennreal] {m : measurable_space α} (c : R) (μ : measure_theory.measure α) :
(c μ) = c μ
@[simp]
theorem measure_theory.measure.smul_apply {α : Type u_1} {R : Type u_6} [has_smul R ennreal] [is_scalar_tower R ennreal ennreal] {m : measurable_space α} (c : R) (μ : measure_theory.measure α) (s : set α) :
(c μ) s = c μ s

Coercion to function as an additive monoid homomorphism.

Equations
@[simp]
theorem measure_theory.measure.coe_finset_sum {α : Type u_1} {ι : Type u_5} {m : measurable_space α} (I : finset ι) (μ : ι → measure_theory.measure α) :
(I.sum (λ (i : ι), μ i)) = I.sum (λ (i : ι), (μ i))
theorem measure_theory.measure.finset_sum_apply {α : Type u_1} {ι : Type u_5} {m : measurable_space α} (I : finset ι) (μ : ι → measure_theory.measure α) (s : set α) :
(I.sum (λ (i : ι), μ i)) s = I.sum (λ (i : ι), (μ i) s)
@[simp]
theorem measure_theory.measure.coe_nnreal_smul_apply {α : Type u_1} {m : measurable_space α} (c : nnreal) (μ : measure_theory.measure α) (s : set α) :
(c μ) s = c * μ s
theorem measure_theory.measure.ae_smul_measure_iff {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {p : α → Prop} {c : ennreal} (hc : c 0) :
(∀ᵐ (x : α) ∂c μ, p x) ∀ᵐ (x : α) ∂μ, p x
theorem measure_theory.measure.measure_eq_left_of_subset_of_measure_add_eq {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} (h : + ν) t ) (h' : s t) (h'' : + ν) s = + ν) t) :
μ s = μ t
theorem measure_theory.measure.measure_eq_right_of_subset_of_measure_add_eq {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} (h : + ν) t ) (h' : s t) (h'' : + ν) s = + ν) t) :
ν s = ν t
theorem measure_theory.measure.measure_to_measurable_add_inter_left {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} (hs : measurable_set s) (ht : + ν) t ) :
μ (measure_theory.to_measurable + ν) t s) = μ (t s)
theorem measure_theory.measure.measure_to_measurable_add_inter_right {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} (hs : measurable_set s) (ht : + ν) t ) :
ν (measure_theory.to_measurable + ν) t s) = ν (t s)

The complete lattice of measures #

@[protected, instance]

Measures are partially ordered.

The definition of less equal here is equivalent to the definition without the measurable set condition, and this is shown by measure.le_iff'. It is defined this way since, to prove μ ≤ ν, we may simply intros s hs instead of rewriting followed by intros s hs.

Equations
theorem measure_theory.measure.le_iff {α : Type u_1} {m0 : measurable_space α} {μ₁ μ₂ : measure_theory.measure α} :
μ₁ μ₂ ∀ (s : set α), measurable_set sμ₁ s μ₂ s
theorem measure_theory.measure.to_outer_measure_le {α : Type u_1} {m0 : measurable_space α} {μ₁ μ₂ : measure_theory.measure α} :
μ₁.to_outer_measure μ₂.to_outer_measure μ₁ μ₂
theorem measure_theory.measure.le_iff' {α : Type u_1} {m0 : measurable_space α} {μ₁ μ₂ : measure_theory.measure α} :
μ₁ μ₂ ∀ (s : set α), μ₁ s μ₂ s
theorem measure_theory.measure.lt_iff {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} :
μ < ν μ ν ∃ (s : set α), measurable_set s μ s < ν s
theorem measure_theory.measure.lt_iff' {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} :
μ < ν μ ν ∃ (s : set α), μ s < ν s
@[protected]
theorem measure_theory.measure.le_add_left {α : Type u_1} {m0 : measurable_space α} {μ ν ν' : measure_theory.measure α} (h : μ ν) :
μ ν' + ν
@[protected]
theorem measure_theory.measure.le_add_right {α : Type u_1} {m0 : measurable_space α} {μ ν ν' : measure_theory.measure α} (h : μ ν) :
μ ν + ν'
@[simp]
theorem measure_theory.measure.top_add {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
+ μ =
@[simp]
theorem measure_theory.measure.add_top {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
μ + =
@[protected]
theorem measure_theory.measure.zero_le {α : Type u_1} {m0 : measurable_space α} (μ : measure_theory.measure α) :
0 μ
theorem measure_theory.measure.nonpos_iff_eq_zero' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
μ 0 μ = 0
@[simp]
theorem measure_theory.measure.measure_univ_eq_zero {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
μ set.univ = 0 μ = 0

Pushforward and pullback #

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

Equations
noncomputable def measure_theory.measure.mapₗ {α : Type u_1} {β : Type u_2} [measurable_space β] [measurable_space α] (f : α → β) :

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

Equations
theorem measure_theory.measure.mapₗ_congr {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f g : α → β} (hf : measurable f) (hg : measurable g) (h : f =ᵐ[μ] g) :
@[irreducible]
noncomputable def measure_theory.measure.map {α : Type u_1} {β : Type u_2} [measurable_space β] [measurable_space α] (f : α → β) (μ : measure_theory.measure α) :

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

Equations
Instances for measure_theory.measure.map
@[simp]
theorem measure_theory.measure.map_add {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] (μ ν : measure_theory.measure α) {f : α → β} (hf : measurable f) :
@[simp]
theorem measure_theory.measure.map_zero {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] (f : α → β) :
theorem measure_theory.measure.map_of_not_ae_measurable {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {f : α → β} {μ : measure_theory.measure α} (hf : ¬ae_measurable f μ) :
theorem measure_theory.measure.map_congr {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f g : α → β} (h : f =ᵐ[μ] g) :
@[protected, simp]
theorem measure_theory.measure.map_smul {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] (c : ennreal) (μ : measure_theory.measure α) (f : α → β) :
@[simp]
theorem measure_theory.measure.map_apply_of_ae_measurable {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {s : set β} (hs : measurable_set s) :

We can evaluate the pushforward on measurable sets. For non-measurable sets, see measure_theory.measure.le_map_apply and measurable_equiv.map_apply.

@[simp]
theorem measure_theory.measure.map_apply {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : measurable f) {s : set β} (hs : measurable_set s) :
@[simp]
@[simp]
theorem measure_theory.measure.map_id' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
measure_theory.measure.map (λ (x : α), x) μ = μ
theorem measure_theory.measure.map_map {α : Type u_1} {β : Type u_2} {γ : Type u_3} {m0 : measurable_space α} [measurable_space β] [measurable_space γ] {μ : measure_theory.measure α} {g : β → γ} {f : α → β} (hg : measurable g) (hf : measurable f) :
theorem measure_theory.measure.map_mono {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ ν : measure_theory.measure α} {f : α → β} (h : μ ν) (hf : measurable f) :
theorem measure_theory.measure.le_map_apply {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) (s : set β) :

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

theorem measure_theory.measure.preimage_null_of_map_null {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {s : set β} (hs : (measure_theory.measure.map f μ) s = 0) :
μ (f ⁻¹' s) = 0

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

theorem measure_theory.measure.tendsto_ae_map {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) :
noncomputable def measure_theory.measure.comapₗ {α : Type u_1} {β : Type u_2} [measurable_space β] [measurable_space α] (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
theorem measure_theory.measure.comapₗ_apply {α : Type u_1} {s : set α} {β : Type u_2} [measurable_space α] {mβ : measurable_space β} (f : α → β) (hfi : function.injective f) (hf : ∀ (s : set α), measurable_set smeasurable_set (f '' s)) (μ : measure_theory.measure β) (hs : measurable_set s) :
noncomputable def measure_theory.measure.comap {α : Type u_1} {β : Type u_2} [measurable_space β] [measurable_space α] (f : α → β) (μ : measure_theory.measure β) :

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
theorem measure_theory.measure.comap_apply₀ {α : Type u_1} {β : Type u_2} [measurable_space β] {s : set α} [measurable_space α] (f : α → β) (μ : measure_theory.measure β) (hfi : function.injective f) (hf : ∀ (s : set α), measurable_set smeasure_theory.null_measurable_set (f '' s) μ) (hs : measure_theory.null_measurable_set s (measure_theory.measure.comap f μ)) :
theorem measure_theory.measure.comap_apply {α : Type u_1} {s : set α} {β : Type u_2} [measurable_space α] {mβ : measurable_space β} (f : α → β) (hfi : function.injective f) (hf : ∀ (s : set α), measurable_set smeasurable_set (f '' s)) (μ : measure_theory.measure β) (hs : measurable_set s) :
theorem measure_theory.measure.comapₗ_eq_comap {α : Type u_1} {s : set α} {β : Type u_2} [measurable_space α] {mβ : measurable_space β} (f : α → β) (hfi : function.injective f) (hf : ∀ (s : set α), measurable_set smeasurable_set (f '' s)) (μ : measure_theory.measure β) (hs : measurable_set s) :

Restricting a measure #

Restrict a measure μ to a set s as an ℝ≥0∞-linear map.

Equations

This lemma shows that restrict and to_outer_measure commute. Note that the LHS has a restrict on measures and the RHS has a restrict on outer measures.

theorem measure_theory.measure.restrict_apply₀ {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (ht : measure_theory.null_measurable_set t (μ.restrict s)) :
(μ.restrict s) t = μ (t s)
@[simp]
theorem measure_theory.measure.restrict_apply {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (ht : measurable_set t) :
(μ.restrict s) t = μ (t s)

If t is a measurable set, then the measure of t with respect to the restriction of the measure to s equals the outer measure of t ∩ s. An alternate version requiring that s be measurable instead of t exists as measure.restrict_apply'.

theorem measure_theory.measure.restrict_mono' {α : Type u_1} {m0 : measurable_space α} ⦃s s' : set α⦄ ⦃μ ν : measure_theory.measure α⦄ (hs : s ≤ᵐ[μ] s') (hμν : μ ν) :
μ.restrict s ν.restrict s'

Restriction of a measure to a subset is monotone both in set and in measure.

theorem measure_theory.measure.restrict_mono {α : Type u_1} {m0 : measurable_space α} ⦃s s' : set α⦄ (hs : s s') ⦃μ ν : measure_theory.measure α⦄ (hμν : μ ν) :
μ.restrict s ν.restrict s'

Restriction of a measure to a subset is monotone both in set and in measure.

theorem measure_theory.measure.restrict_mono_ae {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : s ≤ᵐ[μ] t) :
theorem measure_theory.measure.restrict_congr_set {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : s =ᵐ[μ] t) :
μ.restrict s = μ.restrict t
@[simp]
theorem measure_theory.measure.restrict_apply' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) :
(μ.restrict s) t = μ (t s)

If s is a measurable set, then the outer measure of t with respect to the restriction of the measure to s equals the outer measure of t ∩ s. This is an alternate version of measure.restrict_apply, requiring that s is measurable instead of t.

theorem measure_theory.measure.restrict_apply₀' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measure_theory.null_measurable_set s μ) :
(μ.restrict s) t = μ (t s)
theorem measure_theory.measure.restrict_le_self {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} :
μ.restrict s μ
theorem measure_theory.measure.restrict_eq_self {α : Type u_1} {m0 : measurable_space α} (μ : measure_theory.measure α) {s t : set α} (h : s t) :
(μ.restrict t) s = μ s
@[simp]
theorem measure_theory.measure.restrict_apply_self {α : Type u_1} {m0 : measurable_space α} (μ : measure_theory.measure α) (s : set α) :
(μ.restrict s) s = μ s
theorem measure_theory.measure.restrict_apply_univ {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} (s : set α) :
theorem measure_theory.measure.le_restrict_apply {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} (s t : set α) :
μ (t s) (μ.restrict s) t
theorem measure_theory.measure.restrict_apply_superset {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : s t) :
(μ.restrict s) t = μ s
@[simp]
theorem measure_theory.measure.restrict_add {α : Type u_1} {m0 : measurable_space α} (μ ν : measure_theory.measure α) (s : set α) :
+ ν).restrict s = μ.restrict s + ν.restrict s
@[simp]
theorem measure_theory.measure.restrict_zero {α : Type u_1} {m0 : measurable_space α} (s : set α) :
0.restrict s = 0
@[simp]
theorem measure_theory.measure.restrict_smul {α : Type u_1} {m0 : measurable_space α} (c : ennreal) (μ : measure_theory.measure α) (s : set α) :
(c μ).restrict s = c μ.restrict s
@[simp]
theorem measure_theory.measure.restrict_restrict {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) :
(μ.restrict t).restrict s = μ.restrict (s t)
theorem measure_theory.measure.restrict_restrict_of_subset {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : s t) :
(μ.restrict t).restrict s = μ.restrict s
theorem measure_theory.measure.restrict_restrict' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (ht : measurable_set t) :
(μ.restrict t).restrict s = μ.restrict (s t)
theorem measure_theory.measure.restrict_comm {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) :
(μ.restrict t).restrict s = (μ.restrict s).restrict t
theorem measure_theory.measure.restrict_apply_eq_zero {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (ht : measurable_set t) :
(μ.restrict s) t = 0 μ (t s) = 0
theorem measure_theory.measure.measure_inter_eq_zero_of_restrict {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : (μ.restrict s) t = 0) :
μ (t s) = 0
theorem measure_theory.measure.restrict_apply_eq_zero' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (hs : measurable_set s) :
(μ.restrict s) t = 0 μ (t s) = 0
@[simp]
theorem measure_theory.measure.restrict_eq_zero {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} :
μ.restrict s = 0 μ s = 0
theorem measure_theory.measure.restrict_zero_set {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} (h : μ s = 0) :
μ.restrict s = 0
@[simp]
theorem measure_theory.measure.restrict_empty {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
@[simp]
theorem measure_theory.measure.restrict_inter_add_diff₀ {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measure_theory.null_measurable_set t μ) :
μ.restrict (s t) + μ.restrict (s \ t) = μ.restrict s
theorem measure_theory.measure.restrict_inter_add_diff {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measurable_set t) :
μ.restrict (s t) + μ.restrict (s \ t) = μ.restrict s
theorem measure_theory.measure.restrict_union_add_inter₀ {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measure_theory.null_measurable_set t μ) :
μ.restrict (s t) + μ.restrict (s t) = μ.restrict s + μ.restrict t
theorem measure_theory.measure.restrict_union_add_inter {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {t : set α} (s : set α) (ht : measurable_set t) :
μ.restrict (s t) + μ.restrict (s t) = μ.restrict s + μ.restrict t
theorem measure_theory.measure.restrict_union_add_inter' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : measurable_set s) (t : set α) :
μ.restrict (s t) + μ.restrict (s t) = μ.restrict s + μ.restrict t
theorem measure_theory.measure.restrict_union {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : disjoint s t) (ht : measurable_set t) :
μ.restrict (s t) = μ.restrict s + μ.restrict t
theorem measure_theory.measure.restrict_union' {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s t : set α} (h : disjoint s t) (hs : measurable_set s) :
μ.restrict (s t) = μ.restrict s + μ.restrict t
@[simp]
theorem measure_theory.measure.restrict_add_restrict_compl {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : measurable_set s) :
μ.restrict s + μ.restrict s = μ
@[simp]
theorem measure_theory.measure.restrict_compl_add_restrict {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : measurable_set s) :
μ.restrict s + μ.restrict s = μ
theorem measure_theory.measure.restrict_union_le {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} (s s' : set α) :
μ.restrict (s s') μ.restrict s + μ.restrict s'
theorem measure_theory.measure.restrict_Union_apply_ae {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : pairwise (measure_theory.ae_disjoint μ on s)) (hm : ∀ (i : ι), measure_theory.null_measurable_set (s i) μ) {t : set α} (ht : measurable_set t) :
(μ.restrict (⋃ (i : ι), s i)) t = ∑' (i : ι), (μ.restrict (s i)) t
theorem measure_theory.measure.restrict_Union_apply {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : pairwise (disjoint on s)) (hm : ∀ (i : ι), measurable_set (s i)) {t : set α} (ht : measurable_set t) :
(μ.restrict (⋃ (i : ι), s i)) t = ∑' (i : ι), (μ.restrict (s i)) t
theorem measure_theory.measure.restrict_Union_apply_eq_supr {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : directed has_subset.subset s) {t : set α} (ht : measurable_set t) :
(μ.restrict (⋃ (i : ι), s i)) t = ⨆ (i : ι), (μ.restrict (s i)) t
theorem measure_theory.measure.restrict_map {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : measurable f) {s : set β} (hs : measurable_set s) :

The restriction of the pushforward measure is the pushforward of the restriction. For a version assuming only ae_measurable, see restrict_map_of_ae_measurable.

theorem measure_theory.measure.restrict_eq_self_of_ae_mem {α : Type u_1} {m0 : measurable_space α} ⦃s : set α⦄ ⦃μ : measure_theory.measure α⦄ (hs : ∀ᵐ (x : α) ∂μ, x s) :
μ.restrict s = μ
theorem measure_theory.measure.restrict_congr_meas {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s : set α} (hs : measurable_set s) :
μ.restrict s = ν.restrict s ∀ (t : set α), t smeasurable_set tμ t = ν t
theorem measure_theory.measure.restrict_congr_mono {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} (hs : s t) (h : μ.restrict t = ν.restrict t) :
μ.restrict s = ν.restrict s
theorem measure_theory.measure.restrict_union_congr {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s t : set α} :
μ.restrict (s t) = ν.restrict (s t) μ.restrict s = ν.restrict s μ.restrict t = ν.restrict t

If two measures agree on all measurable subsets of s and t, then they agree on all measurable subsets of s ∪ t.

theorem measure_theory.measure.restrict_finset_bUnion_congr {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s : finset ι} {t : ι → set α} :
μ.restrict (⋃ (i : ι) (H : i s), t i) = ν.restrict (⋃ (i : ι) (H : i s), t i) ∀ (i : ι), i sμ.restrict (t i) = ν.restrict (t i)
theorem measure_theory.measure.restrict_Union_congr {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} [countable ι] {s : ι → set α} :
μ.restrict (⋃ (i : ι), s i) = ν.restrict (⋃ (i : ι), s i) ∀ (i : ι), μ.restrict (s i) = ν.restrict (s i)
theorem measure_theory.measure.restrict_bUnion_congr {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {s : set ι} {t : ι → set α} (hc : s.countable) :
μ.restrict (⋃ (i : ι) (H : i s), t i) = ν.restrict (⋃ (i : ι) (H : i s), t i) ∀ (i : ι), i sμ.restrict (t i) = ν.restrict (t i)
theorem measure_theory.measure.restrict_sUnion_congr {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S : set (set α)} (hc : S.countable) :
μ.restrict (⋃₀ S) = ν.restrict (⋃₀ S) ∀ (s : set α), s Sμ.restrict s = ν.restrict s
theorem measure_theory.measure.restrict_Inf_eq_Inf_restrict {α : Type u_1} {t : set α} {m0 : measurable_space α} {m : set (measure_theory.measure α)} (hm : m.nonempty) (ht : measurable_set t) :

This lemma shows that Inf and restrict commute for measures.

theorem measure_theory.measure.exists_mem_of_measure_ne_zero_of_ae {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} (hs : μ s 0) {p : α → Prop} (hp : ∀ᵐ (x : α) ∂μ.restrict s, p x) :
∃ (x : α), x s p x

Extensionality results #

theorem measure_theory.measure.ext_iff_of_Union_eq_univ {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} [countable ι] {s : ι → set α} (hs : (⋃ (i : ι), s i) = set.univ) :
μ = ν ∀ (i : ι), μ.restrict (s i) = ν.restrict (s i)

Two measures are equal if they have equal restrictions on a spanning collection of sets (formulated using Union).

theorem measure_theory.measure.ext_of_Union_eq_univ {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} [countable ι] {s : ι → set α} (hs : (⋃ (i : ι), s i) = set.univ) :
(∀ (i : ι), μ.restrict (s i) = ν.restrict (s i))μ = ν

Alias of the reverse direction of measure_theory.measure.ext_iff_of_Union_eq_univ.

theorem measure_theory.measure.ext_iff_of_bUnion_eq_univ {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S : set ι} {s : ι → set α} (hc : S.countable) (hs : (⋃ (i : ι) (H : i S), s i) = set.univ) :
μ = ν ∀ (i : ι), i Sμ.restrict (s i) = ν.restrict (s i)

Two measures are equal if they have equal restrictions on a spanning collection of sets (formulated using bUnion).

theorem measure_theory.measure.ext_of_bUnion_eq_univ {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S : set ι} {s : ι → set α} (hc : S.countable) (hs : (⋃ (i : ι) (H : i S), s i) = set.univ) :
(∀ (i : ι), i Sμ.restrict (s i) = ν.restrict (s i))μ = ν

Alias of the reverse direction of measure_theory.measure.ext_iff_of_bUnion_eq_univ.

theorem measure_theory.measure.ext_iff_of_sUnion_eq_univ {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S : set (set α)} (hc : S.countable) (hs : ⋃₀ S = set.univ) :
μ = ν ∀ (s : set α), s Sμ.restrict s = ν.restrict s

Two measures are equal if they have equal restrictions on a spanning collection of sets (formulated using sUnion).

theorem measure_theory.measure.ext_of_sUnion_eq_univ {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S : set (set α)} (hc : S.countable) (hs : ⋃₀ S = set.univ) :
(∀ (s : set α), s Sμ.restrict s = ν.restrict s)μ = ν

Alias of the reverse direction of measure_theory.measure.ext_iff_of_sUnion_eq_univ.

theorem measure_theory.measure.ext_of_generate_from_of_cover {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S T : set (set α)} (h_gen : m0 = measurable_space.generate_from S) (hc : T.countable) (h_inter : is_pi_system S) (hU : ⋃₀ T = set.univ) (htop : ∀ (t : set α), t Tμ t ) (ST_eq : ∀ (t : set α), t T∀ (s : set α), s Sμ (s t) = ν (s t)) (T_eq : ∀ (t : set α), t Tμ t = ν t) :
μ = ν
theorem measure_theory.measure.ext_of_generate_from_of_cover_subset {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} {S T : set (set α)} (h_gen : m0 = measurable_space.generate_from S) (h_inter : is_pi_system S) (h_sub : T S) (hc : T.countable) (hU : ⋃₀ T = set.univ) (htop : ∀ (s : set α), s Tμ s ) (h_eq : ∀ (s : set α), s Sμ s = ν s) :
μ = ν

Two measures are equal if they are equal on the π-system generating the σ-algebra, and they are both finite on a increasing spanning sequence of sets in the π-system. This lemma is formulated using sUnion.

theorem measure_theory.measure.ext_of_generate_from_of_Union {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} (C : set (set α)) (B : set α) (hA : m0 = measurable_space.generate_from C) (hC : is_pi_system C) (h1B : (⋃ (i : ), B i) = set.univ) (h2B : ∀ (i : ), B i C) (hμB : ∀ (i : ), μ (B i) ) (h_eq : ∀ (s : set α), s Cμ s = ν s) :
μ = ν

Two measures are equal if they are equal on the π-system generating the σ-algebra, and they are both finite on a increasing spanning sequence of sets in the π-system. This lemma is formulated using Union. finite_spanning_sets_in.ext is a reformulation of this lemma.

noncomputable def measure_theory.measure.dirac {α : Type u_1} [measurable_space α] (a : α) :

The dirac measure.

Equations
Instances for measure_theory.measure.dirac
theorem measure_theory.measure.le_dirac_apply {α : Type u_1} {s : set α} [measurable_space α] {a : α} :
@[simp]
theorem measure_theory.measure.dirac_apply' {α : Type u_1} {s : set α} [measurable_space α] (a : α) (hs : measurable_set s) :
@[simp]
theorem measure_theory.measure.dirac_apply_of_mem {α : Type u_1} {s : set α} [measurable_space α] {a : α} (h : a s) :
@[simp]
theorem measure_theory.measure.map_dirac {α : Type u_1} {β : Type u_2} [measurable_space β] [measurable_space α] {f : α → β} (hf : measurable f) (a : α) :
noncomputable def measure_theory.measure.sum {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (f : ι → measure_theory.measure α) :

Sum of an indexed family of measures.

Equations
Instances for measure_theory.measure.sum
theorem measure_theory.measure.le_sum_apply {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (f : ι → measure_theory.measure α) (s : set α) :
∑' (i : ι), (f i) s (measure_theory.measure.sum f) s
@[simp]
theorem measure_theory.measure.sum_apply {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (f : ι → measure_theory.measure α) {s : set α} (hs : measurable_set s) :
(measure_theory.measure.sum f) s = ∑' (i : ι), (f i) s
theorem measure_theory.measure.le_sum {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (μ : ι → measure_theory.measure α) (i : ι) :
@[simp]
theorem measure_theory.measure.sum_apply_eq_zero {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} [countable ι] {μ : ι → measure_theory.measure α} {s : set α} :
(measure_theory.measure.sum μ) s = 0 ∀ (i : ι), (μ i) s = 0
theorem measure_theory.measure.sum_apply_eq_zero' {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : ι → measure_theory.measure α} {s : set α} (hs : measurable_set s) :
(measure_theory.measure.sum μ) s = 0 ∀ (i : ι), (μ i) s = 0
theorem measure_theory.measure.ae_sum_iff {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} [countable ι] {μ : ι → measure_theory.measure α} {p : α → Prop} :
(∀ᵐ (x : α) ∂measure_theory.measure.sum μ, p x) ∀ (i : ι), ∀ᵐ (x : α) ∂μ i, p x
theorem measure_theory.measure.ae_sum_iff' {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : ι → measure_theory.measure α} {p : α → Prop} (h : measurable_set {x : α | p x}) :
(∀ᵐ (x : α) ∂measure_theory.measure.sum μ, p x) ∀ (i : ι), ∀ᵐ (x : α) ∂μ i, p x
@[simp]
theorem measure_theory.measure.sum_fintype {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} [fintype ι] (μ : ι → measure_theory.measure α) :
@[simp]
theorem measure_theory.measure.sum_coe_finset {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (s : finset ι) (μ : ι → measure_theory.measure α) :
measure_theory.measure.sum (λ (i : s), μ i) = s.sum (λ (i : ι), μ i)
@[simp]
theorem measure_theory.measure.ae_sum_eq {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} [countable ι] (μ : ι → measure_theory.measure α) :
(measure_theory.measure.sum μ).ae = ⨆ (i : ι), (μ i).ae
@[simp]
theorem measure_theory.measure.sum_cond {α : Type u_1} {m0 : measurable_space α} (μ ν : measure_theory.measure α) :
measure_theory.measure.sum (λ (b : bool), cond b μ ν) = μ + ν
@[simp]
theorem measure_theory.measure.restrict_sum {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (μ : ι → measure_theory.measure α) {s : set α} (hs : measurable_set s) :
@[simp]
theorem measure_theory.measure.sum_of_empty {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} [is_empty ι] (μ : ι → measure_theory.measure α) :
theorem measure_theory.measure.sum_add_sum_compl {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} (s : set ι) (μ : ι → measure_theory.measure α) :
theorem measure_theory.measure.sum_congr {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} (h : ∀ (n : ), μ n = ν n) :
theorem measure_theory.measure.map_eq_sum {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] [countable β] [measurable_singleton_class β] (μ : measure_theory.measure α) (f : α → β) (hf : measurable f) :

If f is a map with countable codomain, then μ.map f is a sum of Dirac measures.

@[simp]

A measure on a countable type is a sum of Dirac measures.

theorem measure_theory.measure.restrict_Union_ae {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : pairwise (measure_theory.ae_disjoint μ on s)) (hm : ∀ (i : ι), measure_theory.null_measurable_set (s i) μ) :
μ.restrict (⋃ (i : ι), s i) = measure_theory.measure.sum (λ (i : ι), μ.restrict (s i))
theorem measure_theory.measure.restrict_Union {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} (hd : pairwise (disjoint on s)) (hm : ∀ (i : ι), measurable_set (s i)) :
μ.restrict (⋃ (i : ι), s i) = measure_theory.measure.sum (λ (i : ι), μ.restrict (s i))
theorem measure_theory.measure.restrict_Union_le {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] {s : ι → set α} :
μ.restrict (⋃ (i : ι), s i) measure_theory.measure.sum (λ (i : ι), μ.restrict (s i))
noncomputable def measure_theory.measure.count {α : Type u_1} [measurable_space α] :

Counting measure on any measurable space.

Equations
Instances for measure_theory.measure.count
theorem measure_theory.measure.le_count_apply {α : Type u_1} {s : set α} [measurable_space α] :
theorem measure_theory.measure.count_apply {α : Type u_1} {s : set α} [measurable_space α] (hs : measurable_set s) :

count measure evaluates to infinity at infinite sets.

Absolute continuity #

def measure_theory.measure.absolutely_continuous {α : Type u_1} {m0 : measurable_space α} (μ ν : measure_theory.measure α) :
Prop

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

Equations
Instances for measure_theory.measure.absolutely_continuous
theorem measure_theory.measure.absolutely_continuous.mk {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} (h : ∀ ⦃s : set α⦄, measurable_set sν s = 0μ s = 0) :
@[protected, refl]
@[protected, trans]
theorem measure_theory.measure.absolutely_continuous.trans {α : Type u_1} {m0 : measurable_space α} {μ₁ μ₂ μ₃ : measure_theory.measure α} (h1 : μ₁.absolutely_continuous μ₂) (h2 : μ₂.absolutely_continuous μ₃) :
@[protected]
@[protected]
theorem measure_theory.measure.absolutely_continuous_of_le_smul {α : Type u_1} {m0 : measurable_space α} {μ μ' : measure_theory.measure α} {c : ennreal} (hμ'_le : μ' c μ) :
theorem has_le.le.absolutely_continuous_of_ae {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} :
μ.ae ν.aeμ.absolutely_continuous ν

Alias of the forward direction of measure_theory.measure.ae_le_iff_absolutely_continuous.

theorem measure_theory.measure.absolutely_continuous.ae_eq {α : Type u_1} {δ : Type u_4} {m0 : measurable_space α} {μ ν : measure_theory.measure α} (h : μ.absolutely_continuous ν) {f g : α → δ} (h' : f =ᵐ[ν] g) :
f =ᵐ[μ] g

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

structure measure_theory.measure.quasi_measure_preserving {α : Type u_1} {β : Type u_2} [measurable_space β] {m0 : measurable_space α} (f : α → β) (μa : measure_theory.measure α . "volume_tac") (μb : measure_theory.measure β . "volume_tac") :
Prop

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.

@[protected]
@[protected]
@[protected]
theorem measure_theory.measure.quasi_measure_preserving.ae {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μa : measure_theory.measure α} {μb : measure_theory.measure β} {f : α → β} (h : measure_theory.measure.quasi_measure_preserving f μa μb) {p : β → Prop} (hg : ∀ᵐ (x : β) ∂μb, p x) :
∀ᵐ (x : α) ∂μa, p (f x)
theorem measure_theory.measure.quasi_measure_preserving.ae_eq {α : Type u_1} {β : Type u_2} {δ : Type u_4} {m0 : measurable_space α} [measurable_space β] {μa : measure_theory.measure α} {μb : measure_theory.measure β} {f : α → β} (h : measure_theory.measure.quasi_measure_preserving f μa μb) {g₁ g₂ : β → δ} (hg : g₁ =ᵐ[μb] g₂) :
g₁ f =ᵐ[μa] g₂ f
theorem measure_theory.measure.quasi_measure_preserving.preimage_null {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μa : measure_theory.measure α} {μb : measure_theory.measure β} {f : α → β} (h : measure_theory.measure.quasi_measure_preserving f μa μb) {s : set β} (hs : μb s = 0) :
μa (f ⁻¹' s) = 0

The cofinite filter #

def measure_theory.measure.cofinite {α : Type u_1} {m0 : measurable_space α} (μ : measure_theory.measure α) :

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

Equations
theorem measure_theory.measure.mem_cofinite {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} :
theorem measure_theory.measure.compl_mem_cofinite {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {s : set α} :
theorem measure_theory.measure.eventually_cofinite {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} {p : α → Prop} :
(∀ᶠ (x : α) in μ.cofinite, p x) μ {x : α | ¬p x} <

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

theorem measure_theory.ae_disjoint.preimage {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {ν : measure_theory.measure β} {f : α → β} {s t : set β} (ht : measure_theory.ae_disjoint ν s t) (hf : measure_theory.measure.quasi_measure_preserving f μ ν) :
@[simp]
theorem measure_theory.ae_eq_bot {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
μ.ae = μ = 0
@[simp]
theorem measure_theory.ae_ne_bot {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} :
μ.ae.ne_bot μ 0
@[simp]
theorem measure_theory.ae_zero {α : Type u_1} {m0 : measurable_space α} :
0.ae =
theorem measure_theory.ae_mono {α : Type u_1} {m0 : measurable_space α} {μ ν : measure_theory.measure α} (h : μ ν) :
μ.ae ν.ae
theorem measure_theory.mem_ae_map_iff {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {s : set β} (hs : measurable_set s) :
theorem measure_theory.mem_ae_of_mem_ae_map {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {s : set β} (hs : s (measure_theory.measure.map f μ).ae) :
f ⁻¹' s μ.ae
theorem measure_theory.ae_map_iff {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {p : β → Prop} (hp : measurable_set {x : β | p x}) :
(∀ᵐ (y : β) ∂measure_theory.measure.map f μ, p y) ∀ᵐ (x : α) ∂μ, p (f x)
theorem measure_theory.ae_of_ae_map {α : Type u_1} {β : Type u_2} {m0 : measurable_space α} [measurable_space β] {μ : measure_theory.measure α} {f : α → β} (hf : ae_measurable f μ) {p : β → Prop} (h : ∀ᵐ (y : β) ∂measure_theory.measure.map f μ, p y) :
∀ᵐ (x : α) ∂μ, p (f x)
theorem measure_theory.ae_map_mem_range {α : Type u_1} {β : Type u_2} [measurable_space β] {m0 : measurable_space α} (f : α → β) (hf : measurable_set (set.range f)) (μ : measure_theory.measure α) :
∀ᵐ (x : β) ∂measure_theory.measure.map f μ, x set.range f
@[simp]
theorem measure_theory.ae_restrict_Union_eq {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} [countable ι] (s : ι → set α) :
(μ.restrict (⋃ (i : ι), s i)).ae = ⨆ (i : ι), (μ.restrict (s i)).ae
@[simp]
theorem measure_theory.ae_restrict_union_eq {α : Type u_1} {m0 : measurable_space α} {μ : measure_theory.measure α} (s t : set α) :
(μ.restrict (s t)).ae = (μ.restrict s).ae (μ.restrict t).ae
theorem measure_theory.ae_restrict_bUnion_eq {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} (s : ι → set α) {t : set ι} (ht : t.countable) :
(μ.restrict (⋃ (i : ι) (H : i t), s i)).ae = ⨆ (i : ι) (H : i t), (μ.restrict (s i)).ae
theorem measure_theory.ae_restrict_bUnion_finset_eq {α : Type u_1} {ι : Type u_5} {m0 : measurable_space α} {μ : measure_theory.measure α} (s : ι → set α) (t : finset ι) :
(μ.restrict (⋃ (i : ι) (H : i t), s i)).ae = ⨆ (i : ι) (H : i t), (μ.restrict (s i)).ae