Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 1aaff8d

Browse files
committed
feat(measure_theory/decomposition/lebesgue): Lebesgue decomposition for sigma-finite measures (#8875)
This PR shows sigma-finite measures `have_lebesgue_decomposition`. With this instance, `absolutely_continuous_iff_with_density_radon_nikodym_deriv_eq` will provide the Radon-Nikodym theorem for sigma-finite measures.
1 parent 42b5e80 commit 1aaff8d

File tree

5 files changed

+161
-14
lines changed

5 files changed

+161
-14
lines changed

src/measure_theory/constructions/borel_space.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,6 +1279,15 @@ lemma measurable.ennreal_tsum {ι} [encodable ι] {f : ι → α → ℝ≥0∞}
12791279
by { simp_rw [ennreal.tsum_eq_supr_sum], apply measurable_supr,
12801280
exact λ s, s.measurable_sum (λ i _, h i) }
12811281

1282+
@[measurability]
1283+
lemma measurable.ennreal_tsum' {ι} [encodable ι] {f : ι → α → ℝ≥0∞} (h : ∀ i, measurable (f i)) :
1284+
measurable (∑' i, f i) :=
1285+
begin
1286+
convert measurable.ennreal_tsum h,
1287+
ext1 x,
1288+
exact tsum_apply (pi.summable.2 (λ _, ennreal.summable)),
1289+
end
1290+
12821291
@[measurability]
12831292
lemma measurable.nnreal_tsum {ι} [encodable ι] {f : ι → α → ℝ≥0} (h : ∀ i, measurable (f i)) :
12841293
measurable (λ x, ∑' i, f i x) :=

src/measure_theory/decomposition/lebesgue.lean

Lines changed: 122 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import measure_theory.decomposition.jordan
99
# Lebesgue decomposition
1010
1111
This file proves the Lebesgue decomposition theorem. The Lebesgue decomposition theorem states that,
12-
given two finite measures `μ` and `ν`, there exists a finite measure `ξ` and a measurable function
12+
given two σ-finite measures `μ` and `ν`, there exists a finite measure `ξ` and a measurable function
1313
`f` such that `μ = ξ + fν` and `ξ` is mutually singular with respect to `ν`.
1414
1515
The Lebesgue decomposition provides the Radon-Nikodym theorem readily.
@@ -22,13 +22,13 @@ The Lebesgue decomposition provides the Radon-Nikodym theorem readily.
2222
* `measure_theory.measure.singular_part` : If a pair of measures `have_lebesgue_decomposition`,
2323
then `singular_part` chooses the measure from `have_lebesgue_decomposition`, otherwise it
2424
returns the zero measure.
25-
* ``measure_theory.measure.radon_nikodym_deriv` : If a pair of measures
25+
* `measure_theory.measure.radon_nikodym_deriv` : If a pair of measures
2626
`have_lebesgue_decomposition`, then `radon_nikodym_deriv` chooses the measurable function from
2727
`have_lebesgue_decomposition`, otherwise it returns the zero function.
2828
2929
## Main results
3030
31-
* `measure_theory.measure.have_lebesgue_decomposition_of_finite_measure` :
31+
* `measure_theory.measure.have_lebesgue_decomposition_of_sigma_finite` :
3232
the Lebesgue decomposition theorem.
3333
* `measure_theory.measure.eq_singular_part` : Given measures `μ` and `ν`, if `s` is a measure
3434
mutually singular to `ν` and `f` is a measurable function such that `μ = s + fν`, then
@@ -37,10 +37,6 @@ The Lebesgue decomposition provides the Radon-Nikodym theorem readily.
3737
measure mutually singular to `ν` and `f` is a measurable function such that `μ = s + fν`,
3838
then `f = radon_nikodym_deriv μ ν`.
3939
40-
## To do
41-
42-
The Lebesgue decomposition theorem can be generalized to σ-finite measures from the finite version.
43-
4440
# Tags
4541
4642
Lebesgue decomposition theorem
@@ -458,11 +454,13 @@ end lebesgue_decomposition
458454

459455
open lebesgue_decomposition
460456

461-
/-- **The Lebesgue decomposition theorem**: Any pair of finite measures `μ` and `ν`
462-
`have_lebesgue_decomposition`. That is to say, there exists a measure `ξ` and a measurable function
463-
`f`, such that `ξ` is mutually singular with respect to `ν` and `μ = ξ + ν.with_density f` -/
464-
@[priority 100] -- see Note [lower instance priority]
465-
instance have_lebesgue_decomposition_of_finite_measure
457+
/-- Any pair of finite measures `μ` and `ν`, `have_lebesgue_decomposition`. That is to say,
458+
there exist a measure `ξ` and a measurable function `f`, such that `ξ` is mutually singular
459+
with respect to `ν` and `μ = ξ + ν.with_density f`.
460+
461+
This is not an instance since this is also shown for the more general σ-finite measures with
462+
`measure_theory.measure.have_lebesgue_decomposition_of_sigma_finite`. -/
463+
theorem have_lebesgue_decomposition_of_finite_measure
466464
{μ ν : measure α} [finite_measure μ] [finite_measure ν] :
467465
have_lebesgue_decomposition μ ν :=
468466
begin
@@ -574,6 +572,118 @@ instance have_lebesgue_decomposition_of_finite_measure
574572
add_comm, ennreal.add_sub_cancel_of_le (hle A hA)] },
575573
end
576574

575+
local attribute [instance] have_lebesgue_decomposition_of_finite_measure
576+
577+
instance {μ : measure α} {S : μ.finite_spanning_sets_in {s : set α | measurable_set s}} (n : ℕ) :
578+
finite_measure (μ.restrict $ S.set n) :=
579+
by { rw [restrict_apply measurable_set.univ, set.univ_inter], exact S.finite _ }⟩
580+
581+
/-- **The Lebesgue decomposition theorem**: Any pair of σ-finite measures `μ` and `ν`
582+
`have_lebesgue_decomposition`. That is to say, there exist a measure `ξ` and a measurable function
583+
`f`, such that `ξ` is mutually singular with respect to `ν` and `μ = ξ + ν.with_density f` -/
584+
@[priority 100] -- see Note [lower instance priority]
585+
instance have_lebesgue_decomposition_of_sigma_finite
586+
(μ ν : measure α) [sigma_finite μ] [sigma_finite ν] :
587+
have_lebesgue_decomposition μ ν :=
588+
begin
589+
-- Since `μ` and `ν` are both σ-finite, there exists a sequence of pairwise disjoint spanning
590+
-- sets which are finite with respect to both `μ` and `ν`
591+
obtain ⟨S, T, h₁, h₂⟩ := exists_eq_disjoint_finite_spanning_sets_in μ ν,
592+
have h₃ : pairwise (disjoint on T.set) := h₁ ▸ h₂,
593+
-- We define `μn` and `νn` as sequences of measures such that `μn n = μ ∩ S n` and
594+
-- `νn n = ν ∩ S n` where `S` is the aforementioned finite spanning set sequence.
595+
-- Since `S` is spanning, it is clear that `sum μn = μ` and `sum νn = ν`
596+
set μn : ℕ → measure α := λ n, μ.restrict (S.set n) with hμn,
597+
have hμ : μ = sum μn,
598+
{ rw [hμn, ← restrict_Union h₂ S.set_mem, S.spanning, restrict_univ] },
599+
set νn : ℕ → measure α := λ n, ν.restrict (T.set n) with hνn,
600+
have hν : ν = sum νn,
601+
{ rw [hνn, ← restrict_Union h₃ T.set_mem, T.spanning, restrict_univ] },
602+
-- As `S` is finite with respect to both `μ` and `ν`, it is clear that `μn n` and `νn n` are
603+
-- finite measures for all `n : ℕ`. Thus, we may apply the finite Lebesgue decomposition theorem
604+
-- to `μn n` and `νn n`. We define `ξ` as the sum of the singular part of the Lebesgue
605+
-- decompositions of `μn n` and `νn n`, and `f` as the sum of the Radon-Nikodym derviatives of
606+
-- `μn n` and `νn n` restricted on `S n`
607+
set ξ := sum (λ n, singular_part (μn n) (νn n)) with hξ,
608+
set f := ∑' n, (S.set n).indicator (radon_nikodym_deriv (μn n) (νn n)) with hf,
609+
-- I claim `ξ` and `f` form a Lebesgue decomposition of `μ` and `ν`
610+
refine ⟨⟨ξ, f⟩, _, _, _⟩,
611+
{ exact measurable.ennreal_tsum' (λ n, measurable.indicator
612+
(measurable_radon_nikodym_deriv (μn n) (νn n)) (S.set_mem n)) },
613+
-- We show that `ξ` is mutually singular with respect to `ν`
614+
{ choose A hA₁ hA₂ hA₃ using λ n, mutually_singular_singular_part (μn n) (νn n),
615+
simp only [hξ],
616+
-- We use the set `B := ⋃ j, (S.set j) ∩ A j` where `A n` is the set provided as
617+
-- `singular_part (μn n) (νn n) ⊥ₘ νn n`
618+
refine ⟨⋃ j, (S.set j) ∩ A j,
619+
measurable_set.Union (λ n, (S.set_mem n).inter (hA₁ n)), _, _⟩,
620+
-- `ξ B = 0` since `ξ B = ∑ i j, singular_part (μn j) (νn j) (S.set i ∩ A i)`
621+
-- `= ∑ i, singular_part (μn i) (νn i) (S.set i ∩ A i)`
622+
-- `≤ ∑ i, singular_part (μn i) (νn i) (A i) = 0`
623+
-- where the second equality follows as `singular_part (μn j) (νn j) (S.set i ∩ A i)` vanishes
624+
-- for all `i ≠ j`
625+
{ rw [measure_Union],
626+
{ have : ∀ i, (sum (λ n, (μn n).singular_part (νn n))) (S.set i ∩ A i) =
627+
(μn i).singular_part (νn i) (S.set i ∩ A i),
628+
{ intro i, rw [sum_apply _ ((S.set_mem i).inter (hA₁ i)), tsum_eq_single i],
629+
{ intros j hij,
630+
rw [hμn, ← nonpos_iff_eq_zero],
631+
refine le_trans ((singular_part_le _ _) _ ((S.set_mem i).inter (hA₁ i))) (le_of_eq _),
632+
rw [restrict_apply ((S.set_mem i).inter (hA₁ i)), set.inter_comm, ← set.inter_assoc],
633+
have : disjoint (S.set j) (S.set i) := h₂ j i hij,
634+
rw set.disjoint_iff_inter_eq_empty at this,
635+
rw [this, set.empty_inter, measure_empty] },
636+
{ apply_instance } },
637+
simp_rw [this, tsum_eq_zero_iff ennreal.summable],
638+
intro n, exact measure_mono_null (set.inter_subset_right _ _) (hA₂ n) },
639+
{ exact h₂.mono (λ i j, disjoint.mono inf_le_left inf_le_left) },
640+
{ exact λ n, (S.set_mem n).inter (hA₁ n) } },
641+
-- We will now show `ν Bᶜ = 0`. This follows since `Bᶜ = ⋃ n, S.set n ∩ (A n)ᶜ` and thus,
642+
-- `ν Bᶜ = ∑ i, ν (S.set i ∩ (A i)ᶜ) = ∑ i, (νn i) (A i)ᶜ = 0`
643+
{ have hcompl : is_compl (⋃ n, (S.set n ∩ A n)) (⋃ n, S.set n ∩ (A n)ᶜ),
644+
{ split,
645+
{ rintro x ⟨hx₁, hx₂⟩, rw set.mem_Union at hx₁ hx₂,
646+
obtain ⟨⟨i, hi₁, hi₂⟩, ⟨j, hj₁, hj₂⟩⟩ := ⟨hx₁, hx₂⟩,
647+
have : i = j,
648+
{ by_contra hij, exact h₂ i j hij ⟨hi₁, hj₁⟩ },
649+
exact hj₂ (this ▸ hi₂) },
650+
{ intros x hx,
651+
simp only [set.mem_Union, set.sup_eq_union, set.mem_inter_eq,
652+
set.mem_union_eq, set.mem_compl_eq, or_iff_not_imp_left],
653+
intro h, push_neg at h,
654+
rw [set.top_eq_univ, ← S.spanning, set.mem_Union] at hx,
655+
obtain ⟨i, hi⟩ := hx,
656+
exact ⟨i, hi, h i hi⟩ } },
657+
rw [hcompl.compl_eq, measure_Union, tsum_eq_zero_iff ennreal.summable],
658+
{ intro n, rw [set.inter_comm, ← restrict_apply (hA₁ n).compl, ← hA₃ n, hνn, h₁] },
659+
{ exact h₂.mono (λ i j, disjoint.mono inf_le_left inf_le_left) },
660+
{ exact λ n, (S.set_mem n).inter (hA₁ n).compl } } },
661+
-- Finally, it remains to show `μ = ξ + ν.with_density f`. Since `μ = sum μn`, and
662+
-- `ξ + ν.with_density f = ∑ n, singular_part (μn n) (νn n)`
663+
-- `+ ν.with_density (radon_nikodym_deriv (μn n) (νn n)) ∩ (S.set n)`,
664+
-- it suffices to show that the individual summands are equal. This follows by the
665+
-- Lebesgue decomposition properties on the individual `μn n` and `νn n`
666+
{ simp only [hξ, hf, hμ],
667+
rw [with_density_tsum _, sum_add_sum],
668+
{ refine sum_congr (λ n, _),
669+
conv_lhs { rw have_lebesgue_decomposition_add (μn n) (νn n) },
670+
suffices heq : (νn n).with_density ((μn n).radon_nikodym_deriv (νn n)) =
671+
ν.with_density ((S.set n).indicator ((μn n).radon_nikodym_deriv (νn n))),
672+
{ rw heq },
673+
rw [hν, with_density_indicator (S.set_mem n), restrict_sum _ (S.set_mem n)],
674+
suffices hsumeq : sum (λ (i : ℕ), (νn i).restrict (S.set n)) = νn n,
675+
{ rw hsumeq },
676+
ext1 s hs,
677+
rw [sum_apply _ hs, tsum_eq_single n, hνn, h₁,
678+
restrict_restrict (T.set_mem n), set.inter_self],
679+
{ intros m hm,
680+
rw [hνn, h₁, restrict_restrict (T.set_mem n), set.inter_comm,
681+
set.disjoint_iff_inter_eq_empty.1 (h₃ m n hm), restrict_empty,
682+
coe_zero, pi.zero_apply] },
683+
{ apply_instance } },
684+
{ exact λ n, measurable.indicator (measurable_radon_nikodym_deriv _ _) (S.set_mem n) } },
685+
end
686+
577687
end measure
578688

579689
end measure_theory

src/measure_theory/decomposition/radon_nikodym.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ most notably conditional expectations and probability cumulative functions.
1818
1919
## Main results
2020
21-
* `measure_theory.measureabsolutely_continuous_iff_with_density_radon_nikodym_derive_eq` :
21+
* `measure_theory.measure.absolutely_continuous_iff_with_density_radon_nikodym_deriv_eq` :
2222
the Radon-Nikodym theorem
2323
2424
## Tags
@@ -60,7 +60,7 @@ end
6060
/-- **The Radon-Nikodym theorem**: Given two measures `μ` and `ν`, if
6161
`have_lebesgue_decomposition μ ν`, then `μ` is absolutely continuous to `ν` if and only if
6262
`ν.with_density (radon_nikodym_deriv μ ν) = μ`. -/
63-
theorem absolutely_continuous_iff_with_density_radon_nikodym_derive_eq
63+
theorem absolutely_continuous_iff_with_density_radon_nikodym_deriv_eq
6464
{μ ν : measure α} [have_lebesgue_decomposition μ ν] :
6565
μ ≪ ν ↔ ν.with_density (radon_nikodym_deriv μ ν) = μ :=
6666
⟨with_density_radon_nikodym_deriv_eq μ ν, λ h, h ▸ with_density_absolutely_continuous _ _⟩

src/measure_theory/integral/lebesgue.lean

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,6 +1894,24 @@ begin
18941894
simp [with_density_apply _ hs],
18951895
end
18961896

1897+
lemma with_density_tsum {f : ℕ → α → ℝ≥0∞} (h : ∀ i, measurable (f i)) :
1898+
μ.with_density (∑' n, f n) = sum (λ n, μ.with_density (f n)) :=
1899+
begin
1900+
ext1 s hs,
1901+
simp_rw [sum_apply _ hs, with_density_apply _ hs],
1902+
change ∫⁻ x in s, (∑' n, f n) x ∂μ = ∑' (i : ℕ), ∫⁻ x, f i x ∂(μ.restrict s),
1903+
rw ← lintegral_tsum h,
1904+
refine lintegral_congr (λ x, tsum_apply (pi.summable.2 (λ _, ennreal.summable))),
1905+
end
1906+
1907+
lemma with_density_indicator {s : set α} (hs : measurable_set s) (f : α → ℝ≥0∞) :
1908+
μ.with_density (s.indicator f) = (μ.restrict s).with_density f :=
1909+
begin
1910+
ext1 t ht,
1911+
rw [with_density_apply _ ht, lintegral_indicator _ hs,
1912+
restrict_comm hs ht, ← with_density_apply _ ht]
1913+
end
1914+
18971915
end lintegral
18981916

18991917
end measure_theory

src/measure_theory/measure/measure_space.lean

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1089,6 +1089,16 @@ ext $ λ s hs, by simp [hs, tsum_fintype]
10891089
(sum μ).restrict s = sum (λ i, (μ i).restrict s) :=
10901090
ext $ λ t ht, by simp only [sum_apply, restrict_apply, ht, ht.inter hs]
10911091

1092+
lemma sum_congr {μ ν : ℕ → measure α} (h : ∀ n, μ n = ν n) : sum μ = sum ν :=
1093+
by { congr, ext1 n, exact h n }
1094+
1095+
lemma sum_add_sum (μ ν : ℕ → measure α) : sum μ + sum ν = sum (λ n, μ n + ν n) :=
1096+
begin
1097+
ext1 s hs,
1098+
simp only [add_apply, sum_apply _ hs, pi.add_apply, coe_add,
1099+
tsum_add ennreal.summable ennreal.summable],
1100+
end
1101+
10921102
omit m0
10931103
end sum
10941104

0 commit comments

Comments
 (0)