@@ -7,6 +7,7 @@ Authors: Rémy Degenne
7
7
import analysis.inner_product_space.projection
8
8
import measure_theory.function.l2_space
9
9
import measure_theory.decomposition.radon_nikodym
10
+ import measure_theory.function.uniform_integrable
10
11
11
12
/-! # Conditional expectation
12
13
@@ -68,6 +69,9 @@ However, some lemmas also use `𝕜 : is_R_or_C`:
68
69
* results about scalar multiplication are stated not only for `ℝ` but also for `𝕜` if we happen to
69
70
have `normed_space 𝕜 F`.
70
71
72
+ TODO: split this file in two with one containing constructions and the other with basic
73
+ properties.
74
+
71
75
## Tags
72
76
73
77
conditional expectation, conditional expected value
@@ -2145,29 +2149,6 @@ begin
2145
2149
((condexp_L1_mono hf hg hfg).trans_eq (condexp_ae_eq_condexp_L1 hm _).symm),
2146
2150
end
2147
2151
2148
- section real
2149
-
2150
- lemma rn_deriv_ae_eq_condexp {hm : m ≤ m0} [hμm : sigma_finite (μ.trim hm)] {f : α → ℝ}
2151
- (hf : integrable f μ) :
2152
- signed_measure.rn_deriv ((μ.with_densityᵥ f).trim hm) (μ.trim hm) =ᵐ[μ] μ[f | m] :=
2153
- begin
2154
- refine ae_eq_condexp_of_forall_set_integral_eq hm hf _ _ _,
2155
- { exact λ _ _ _, (integrable_of_integrable_trim hm (signed_measure.integrable_rn_deriv
2156
- ((μ.with_densityᵥ f).trim hm) (μ.trim hm))).integrable_on },
2157
- { intros s hs hlt,
2158
- conv_rhs { rw [← hf.with_densityᵥ_trim_eq_integral hm hs,
2159
- ← signed_measure.with_densityᵥ_rn_deriv_eq ((μ.with_densityᵥ f).trim hm) (μ.trim hm)
2160
- (hf.with_densityᵥ_trim_absolutely_continuous hm)], },
2161
- rw [with_densityᵥ_apply
2162
- (signed_measure.integrable_rn_deriv ((μ.with_densityᵥ f).trim hm) (μ.trim hm)) hs,
2163
- ← set_integral_trim hm _ hs],
2164
- exact (signed_measure.measurable_rn_deriv _ _).strongly_measurable },
2165
- { exact strongly_measurable.ae_strongly_measurable'
2166
- (signed_measure.measurable_rn_deriv _ _).strongly_measurable },
2167
- end
2168
-
2169
- end real
2170
-
2171
2152
section indicator
2172
2153
2173
2154
lemma condexp_ae_eq_restrict_zero (hs : measurable_set[m] s) (hf : f =ᵐ[μ.restrict s] 0 ) :
@@ -2336,6 +2317,115 @@ end
2336
2317
2337
2318
end indicator
2338
2319
2320
+ section real
2321
+
2322
+ lemma rn_deriv_ae_eq_condexp {hm : m ≤ m0} [hμm : sigma_finite (μ.trim hm)] {f : α → ℝ}
2323
+ (hf : integrable f μ) :
2324
+ signed_measure.rn_deriv ((μ.with_densityᵥ f).trim hm) (μ.trim hm) =ᵐ[μ] μ[f | m] :=
2325
+ begin
2326
+ refine ae_eq_condexp_of_forall_set_integral_eq hm hf _ _ _,
2327
+ { exact λ _ _ _, (integrable_of_integrable_trim hm (signed_measure.integrable_rn_deriv
2328
+ ((μ.with_densityᵥ f).trim hm) (μ.trim hm))).integrable_on },
2329
+ { intros s hs hlt,
2330
+ conv_rhs { rw [← hf.with_densityᵥ_trim_eq_integral hm hs,
2331
+ ← signed_measure.with_densityᵥ_rn_deriv_eq ((μ.with_densityᵥ f).trim hm) (μ.trim hm)
2332
+ (hf.with_densityᵥ_trim_absolutely_continuous hm)], },
2333
+ rw [with_densityᵥ_apply
2334
+ (signed_measure.integrable_rn_deriv ((μ.with_densityᵥ f).trim hm) (μ.trim hm)) hs,
2335
+ ← set_integral_trim hm _ hs],
2336
+ exact (signed_measure.measurable_rn_deriv _ _).strongly_measurable },
2337
+ { exact strongly_measurable.ae_strongly_measurable'
2338
+ (signed_measure.measurable_rn_deriv _ _).strongly_measurable },
2339
+ end
2340
+
2341
+ /-- TODO: this should be generalized and proved using Jensen's inequality
2342
+ for the conditional expectation (not in mathlib yet) .-/
2343
+ lemma snorm_one_condexp_le_snorm (f : α → ℝ) :
2344
+ snorm (μ[f | m]) 1 μ ≤ snorm f 1 μ :=
2345
+ begin
2346
+ by_cases hf : integrable f μ,
2347
+ swap, { rw [snorm_congr_ae (condexp_undef hf), snorm_zero], exact zero_le _ },
2348
+ by_cases hm : m ≤ m0,
2349
+ swap, { rw [condexp_of_not_le hm, snorm_zero], exact zero_le _ },
2350
+ by_cases hsig : sigma_finite (μ.trim hm),
2351
+ swap, { rw [condexp_of_not_sigma_finite hm hsig, snorm_zero], exact zero_le _ },
2352
+ calc snorm (μ[f | m]) 1 μ ≤ snorm (μ[|f| | m]) 1 μ :
2353
+ begin
2354
+ refine snorm_mono_ae _,
2355
+ filter_upwards [@condexp_mono _ m m0 _ _ _ _ _ _ _ _ hf hf.abs
2356
+ (@ae_of_all _ m0 _ μ (λ x, le_abs_self (f x) : ∀ x, f x ≤ |f x|)),
2357
+ eventually_le.trans (condexp_neg f).symm.le
2358
+ (@condexp_mono _ m m0 _ _ _ _ _ _ _ _ hf.neg hf.abs
2359
+ (@ae_of_all _ m0 _ μ (λ x, neg_le_abs_self (f x) : ∀ x, -f x ≤ |f x|)))] with x hx₁ hx₂,
2360
+ exact abs_le_abs hx₁ hx₂,
2361
+ end
2362
+ ... = snorm f 1 μ :
2363
+ begin
2364
+ rw [snorm_one_eq_lintegral_nnnorm, snorm_one_eq_lintegral_nnnorm,
2365
+ ← ennreal.to_real_eq_to_real (ne_of_lt integrable_condexp.2 ) (ne_of_lt hf.2 ),
2366
+ ← integral_norm_eq_lintegral_nnnorm
2367
+ (strongly_measurable_condexp.mono hm).ae_strongly_measurable,
2368
+ ← integral_norm_eq_lintegral_nnnorm hf.1 ],
2369
+ simp_rw [real.norm_eq_abs],
2370
+ rw ← @integral_condexp _ _ _ _ _ m m0 μ _ hm hsig hf.abs,
2371
+ refine integral_congr_ae _,
2372
+ have : 0 ≤ᵐ[μ] μ[|f| | m],
2373
+ { rw ← @condexp_zero α ℝ _ _ _ m m0 μ,
2374
+ exact condexp_mono (integrable_zero _ _ _) hf.abs
2375
+ (@ae_of_all _ m0 _ μ (λ x, abs_nonneg (f x) : ∀ x, 0 ≤ |f x|)) },
2376
+ filter_upwards [this ] with x hx,
2377
+ exact abs_eq_self.2 hx
2378
+ end
2379
+ end
2380
+
2381
+ /-- Given a integrable function `g`, the conditional expectations of `g` with respect to
2382
+ a sequence of sub-σ-algebras is uniformly integrable. -/
2383
+ lemma integrable.uniform_integrable_condexp {ι : Type *} [is_finite_measure μ]
2384
+ {g : α → ℝ} (hint : integrable g μ) {ℱ : ι → measurable_space α} (hℱ : ∀ i, ℱ i ≤ m0) :
2385
+ uniform_integrable (λ i, μ[g | ℱ i]) 1 μ :=
2386
+ begin
2387
+ have hmeas : ∀ n, ∀ C, measurable_set {x | C ≤ ∥μ[g | ℱ n] x∥₊} :=
2388
+ λ n C, measurable_set_le measurable_const
2389
+ (strongly_measurable_condexp.mono (hℱ n)).measurable.nnnorm,
2390
+ have hg : mem_ℒp g 1 μ := mem_ℒp_one_iff_integrable.2 hint,
2391
+ refine uniform_integrable_of le_rfl ennreal.one_ne_top
2392
+ (λ n, strongly_measurable_condexp.mono (hℱ n)) (λ ε hε, _),
2393
+ by_cases hne : snorm g 1 μ = 0 ,
2394
+ { rw snorm_eq_zero_iff hg.1 one_ne_zero at hne,
2395
+ refine ⟨0 , λ n, (le_of_eq $ (snorm_eq_zero_iff
2396
+ ((strongly_measurable_condexp.mono (hℱ n)).ae_strongly_measurable.indicator (hmeas n 0 ))
2397
+ one_ne_zero).2 _).trans (zero_le _)⟩,
2398
+ filter_upwards [@condexp_congr_ae _ _ _ _ _ (ℱ n) m0 μ _ _ hne] with x hx,
2399
+ simp only [zero_le', set.set_of_true, set.indicator_univ, pi.zero_apply, hx, condexp_zero] },
2400
+ obtain ⟨δ, hδ, h⟩ := hg.snorm_indicator_le μ le_rfl ennreal.one_ne_top hε,
2401
+ set C : ℝ≥0 := ⟨δ, hδ.le⟩⁻¹ * (snorm g 1 μ).to_nnreal with hC,
2402
+ have hCpos : 0 < C :=
2403
+ mul_pos (nnreal.inv_pos.2 hδ) (ennreal.to_nnreal_pos hne hg.snorm_lt_top.ne),
2404
+ have : ∀ n, μ {x : α | C ≤ ∥μ[g | ℱ n] x∥₊} ≤ ennreal.of_real δ,
2405
+ { intro n,
2406
+ have := mul_meas_ge_le_pow_snorm' μ one_ne_zero ennreal.one_ne_top
2407
+ ((@strongly_measurable_condexp _ _ _ _ _ (ℱ n) _ μ g).mono
2408
+ (hℱ n)).ae_strongly_measurable C,
2409
+ rw [ennreal.one_to_real, ennreal.rpow_one, ennreal.rpow_one, mul_comm,
2410
+ ← ennreal.le_div_iff_mul_le (or.inl (ennreal.coe_ne_zero.2 hCpos.ne.symm))
2411
+ (or.inl ennreal.coe_lt_top.ne)] at this ,
2412
+ simp_rw [ennreal.coe_le_coe] at this ,
2413
+ refine this.trans _,
2414
+ rw [ennreal.div_le_iff_le_mul (or.inl (ennreal.coe_ne_zero.2 hCpos.ne.symm))
2415
+ (or.inl ennreal.coe_lt_top.ne), hC, nonneg.inv_mk, ennreal.coe_mul,
2416
+ ennreal.coe_to_nnreal hg.snorm_lt_top.ne, ← mul_assoc, ← ennreal.of_real_eq_coe_nnreal,
2417
+ ← ennreal.of_real_mul hδ.le, mul_inv_cancel hδ.ne.symm, ennreal.of_real_one, one_mul],
2418
+ exact snorm_one_condexp_le_snorm _ },
2419
+ refine ⟨C, λ n, le_trans _ (h {x : α | C ≤ ∥μ[g | ℱ n] x∥₊} (hmeas n C) (this n))⟩,
2420
+ have hmeasℱ : measurable_set[ℱ n] {x : α | C ≤ ∥μ[g | ℱ n] x∥₊} :=
2421
+ @measurable_set_le _ _ _ _ _ (ℱ n) _ _ _ _ _ measurable_const
2422
+ (@measurable.nnnorm _ _ _ _ _ (ℱ n) _ strongly_measurable_condexp.measurable),
2423
+ rw ← snorm_congr_ae (condexp_indicator hint hmeasℱ),
2424
+ exact snorm_one_condexp_le_snorm _,
2425
+ end
2426
+
2427
+ end real
2428
+
2339
2429
end condexp
2340
2430
2341
2431
end measure_theory
0 commit comments