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

Commit 43e859a

Browse files
committed
feat(probability/martingale/convergence): a.e. martingale convergence theorem (#15904)
This PR proves the a.e. martingale convergence while a later PR will show the L¹ version. I've also added a new `martingale` folder in the `probability` folder as there are a few files regarding martingales now.
1 parent e1443c9 commit 43e859a

File tree

6 files changed

+398
-6
lines changed

6 files changed

+398
-6
lines changed

src/measure_theory/function/lp_space.lean

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1320,6 +1320,63 @@ hf.of_le_mul (ae_strongly_measurable.inner hf.1 ae_strongly_measurable_const)
13201320

13211321
end inner_product
13221322

1323+
section liminf
1324+
1325+
variables [measurable_space E] [opens_measurable_space E] {R : ℝ≥0}
1326+
1327+
lemma ae_bdd_liminf_at_top_rpow_of_snorm_bdd {p : ℝ≥0∞}
1328+
{f : ℕ → α → E} (hfmeas : ∀ n, measurable (f n)) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
1329+
∀ᵐ x ∂μ, liminf at_top (λ n, (∥f n x∥₊ ^ p.to_real : ℝ≥0∞)) < ∞ :=
1330+
begin
1331+
by_cases hp0 : p.to_real = 0,
1332+
{ simp only [hp0, ennreal.rpow_zero],
1333+
refine eventually_of_forall (λ x, _),
1334+
rw liminf_const (1 : ℝ≥0∞),
1335+
exacts [ennreal.one_lt_top, at_top_ne_bot] },
1336+
have hp : p ≠ 0 := λ h, by simpa [h] using hp0,
1337+
have hp' : p ≠ ∞ := λ h, by simpa [h] using hp0,
1338+
refine ae_lt_top
1339+
(measurable_liminf (λ n, (hfmeas n).nnnorm.coe_nnreal_ennreal.pow_const p.to_real))
1340+
(lt_of_le_of_lt (lintegral_liminf_le
1341+
(λ n, (hfmeas n).nnnorm.coe_nnreal_ennreal.pow_const p.to_real))
1342+
(lt_of_le_of_lt _ (ennreal.rpow_lt_top_of_nonneg
1343+
ennreal.to_real_nonneg ennreal.coe_ne_top : ↑R ^ p.to_real < ∞))).ne,
1344+
simp_rw snorm_eq_lintegral_rpow_nnnorm hp hp' at hbdd,
1345+
simp_rw [liminf_eq, eventually_at_top],
1346+
exact Sup_le (λ b ⟨a, ha⟩, (ha a le_rfl).trans
1347+
((ennreal.rpow_one_div_le_iff (ennreal.to_real_pos hp hp')).1 (hbdd _))),
1348+
end
1349+
1350+
lemma ae_bdd_liminf_at_top_of_snorm_bdd {p : ℝ≥0∞} (hp : p ≠ 0)
1351+
{f : ℕ → α → E} (hfmeas : ∀ n, measurable (f n)) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
1352+
∀ᵐ x ∂μ, liminf at_top (λ n, (∥f n x∥₊ : ℝ≥0∞)) < ∞ :=
1353+
begin
1354+
by_cases hp' : p = ∞,
1355+
{ subst hp',
1356+
simp_rw snorm_exponent_top at hbdd,
1357+
have : ∀ n, ∀ᵐ x ∂μ, (∥f n x∥₊ : ℝ≥0∞) < R + 1 :=
1358+
λ n, ae_lt_of_ess_sup_lt (lt_of_le_of_lt (hbdd n) $
1359+
ennreal.lt_add_right ennreal.coe_ne_top one_ne_zero),
1360+
rw ← ae_all_iff at this,
1361+
filter_upwards [this] with x hx using lt_of_le_of_lt
1362+
(liminf_le_of_frequently_le' $ frequently_of_forall $ λ n, (hx n).le)
1363+
(ennreal.add_lt_top.2 ⟨ennreal.coe_lt_top, ennreal.one_lt_top⟩) },
1364+
filter_upwards [ae_bdd_liminf_at_top_rpow_of_snorm_bdd hfmeas hbdd] with x hx,
1365+
have hppos : 0 < p.to_real := ennreal.to_real_pos hp hp',
1366+
have : liminf at_top (λ n, (∥f n x∥₊ ^ p.to_real : ℝ≥0∞)) =
1367+
liminf at_top (λ n, (∥f n x∥₊ : ℝ≥0∞)) ^ p.to_real,
1368+
{ change liminf at_top (λ n, ennreal.order_iso_rpow p.to_real hppos (∥f n x∥₊ : ℝ≥0∞)) =
1369+
ennreal.order_iso_rpow p.to_real hppos (liminf at_top (λ n, (∥f n x∥₊ : ℝ≥0∞))),
1370+
refine (order_iso.liminf_apply (ennreal.order_iso_rpow p.to_real _) _ _ _ _).symm;
1371+
is_bounded_default },
1372+
rw this at hx,
1373+
rw [← ennreal.rpow_one (liminf at_top (λ n, ∥f n x∥₊)), ← mul_inv_cancel hppos.ne.symm,
1374+
ennreal.rpow_mul],
1375+
exact ennreal.rpow_lt_top_of_nonneg (inv_nonneg.2 hppos.le) hx.ne,
1376+
end
1377+
1378+
end liminf
1379+
13231380
end ℒp
13241381

13251382
/-!
File renamed without changes.
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
/-
2+
Copyright (c) 2022 Kexing Ying. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Kexing Ying
5+
-/
6+
import probability.martingale.upcrossing
7+
import measure_theory.function.uniform_integrable
8+
import measure_theory.constructions.polish
9+
10+
/-!
11+
12+
# Martingale convergence theorems
13+
14+
The martingale convergence theorems are a collection of theorems characterizing the convergence
15+
of a martingale provided it satisfies some boundedness conditions. This file contains the
16+
almost everywhere martingale convergence theorem which provides an almost everywhere limit to
17+
an L¹ bounded submartingale.
18+
19+
## Main results
20+
21+
* `measure_theory.submartingale.ae_tendsto_limit_process`: the almost everywhere martingale
22+
convergence theorem: an L¹-bounded submartingale adapted to the filtration `ℱ` converges almost
23+
everywhere to its limit process.
24+
* `measure_theory.submartingale.mem_ℒ1_limit_process`: the limit process of an L¹-bounded
25+
submartingale is integrable.
26+
27+
-/
28+
29+
open topological_space filter measure_theory.filtration
30+
open_locale nnreal ennreal measure_theory probability_theory big_operators topological_space
31+
32+
namespace measure_theory
33+
34+
variables {Ω ι : Type*} {m0 : measurable_space Ω} {μ : measure Ω} {ℱ : filtration ℕ m0}
35+
variables {a b : ℝ} {f : ℕ → Ω → ℝ} {ω : Ω} {R : ℝ≥0}
36+
37+
section ae_convergence
38+
39+
/-!
40+
41+
### Almost everywhere martingale convergence theorem
42+
43+
We will now prove the almost everywhere martingale convergence theorem.
44+
45+
The a.e. martingale convergence theorem states: if `f` is an L¹-bounded `ℱ`-submartingale, then
46+
it converges almost everywhere to an integrable function which is measurable with respect to
47+
the σ-algebra `ℱ∞ := ⨆ n, ℱ n`.
48+
49+
Mathematically, we proceed by first noting that a real sequence $(x_n)$ converges if
50+
(a) $\limsup_{n \to \infty} |x_n| < \infty$, (b) for all $a < b \in \mathbb{Q}$ we have the
51+
number of upcrossings of $(x_n)$ from below $a$ to above $b$ is finite.
52+
Thus, for all $\omega$ satisfying $\limsup_{n \to \infty} |f_n(\omega)| < \infty$ and the number of
53+
upcrossings of $(f_n(\omega))$ from below $a$ to above $b$ is finite for all $a < b \in \mathbb{Q}$,
54+
we have $(f_n(\omega))$ is convergent.
55+
56+
Hence, assuming $(f_n)$ is L¹-bounded, using Fatou's lemma, we have
57+
$$
58+
\mathbb{E] \limsup_{n \to \infty} |f_n| \le \limsup_{n \to \infty} \mathbb{E}|f_n| < \infty
59+
$$
60+
implying $\limsup_{n \to \infty} |f_n| < \infty$ a.e. Furthermore, by the upcrossing estimate,
61+
the number of upcrossings is finite almost everywhere implying $f$ converges pointwise almost
62+
everywhere.
63+
64+
Thus, denoting $g$ the a.e. limit of $(f_n)$, $g$ is $\mathcal{F}_\infty$-measurable as for all
65+
$n$, $f_n$ is $\mathcal{F}_n$-measurable and $\mathcal{F}_n \le \mathcal{F}_\infty$. Finally, $g$
66+
is integrable as $|g| \le \liminf_{n \to \infty} |f_n|$ so
67+
$$
68+
\mathbb{E}|g| \le \mathbb{E} \limsup_{n \to \infty} |f_n| \le
69+
\limsup_{n \to \infty} \mathbb{E}|f_n| < \infty
70+
$$
71+
as required.
72+
73+
Implementation wise, we have `tendsto_of_no_upcrossings` which showed that
74+
a bounded sequence converges if it does not visit below $a$ and above $b$ infinitely often
75+
for all $a, b ∈ s$ for some dense set $s$. So, we may skip the first step provided we can prove
76+
that the realizations are bounded almost everywhere. Indeed, suppose $(|f_n(\omega)|)$ is not
77+
bounded, then either $f_n(\omega) \to \pm \infty$ or one of $\limsup f_n(\omega)$ or
78+
$\liminf f_n(\omega)$ equals $\pm \infty$ while the other is finite. But the first case
79+
contradicts $\liminf |f_n(\omega)| < \infty$ while the second case contradicts finite upcrossings.
80+
81+
-/
82+
83+
/-- If a stochastic process has bounded upcrossing from below `a` to above `b`,
84+
then it does not frequently visit both below `a` and above `b`. -/
85+
lemma not_frequently_of_upcrossings_lt_top (hab : a < b) (hω : upcrossings a b f ω ≠ ∞) :
86+
¬((∃ᶠ n in at_top, f n ω < a) ∧ (∃ᶠ n in at_top, b < f n ω)) :=
87+
begin
88+
rw [← lt_top_iff_ne_top, upcrossings_lt_top_iff] at hω,
89+
replace hω : ∃ k, ∀ N, upcrossings_before a b f N ω < k,
90+
{ obtain ⟨k, hk⟩ := hω,
91+
exact ⟨k + 1, λ N, lt_of_le_of_lt (hk N) k.lt_succ_self⟩ },
92+
rintro ⟨h₁, h₂⟩,
93+
rw frequently_at_top at h₁ h₂,
94+
refine not_not.2 hω _,
95+
push_neg,
96+
intro k,
97+
induction k with k ih,
98+
{ simp only [zero_le', exists_const] },
99+
{ obtain ⟨N, hN⟩ := ih,
100+
obtain ⟨N₁, hN₁, hN₁'⟩ := h₁ N,
101+
obtain ⟨N₂, hN₂, hN₂'⟩ := h₂ N₁,
102+
exact ⟨(N₂ + 1), nat.succ_le_of_lt $ lt_of_le_of_lt hN
103+
(upcrossings_before_lt_of_exists_upcrossing hab hN₁ hN₁' hN₂ hN₂')⟩ }
104+
end
105+
106+
/-- A stochastic process that frequently visits below `a` and above `b` have infinite
107+
upcrossings. -/
108+
lemma upcrossings_eq_top_of_frequently_lt (hab : a < b)
109+
(h₁ : ∃ᶠ n in at_top, f n ω < a) (h₂ : ∃ᶠ n in at_top, b < f n ω) :
110+
upcrossings a b f ω = ∞ :=
111+
classical.by_contradiction (λ h, not_frequently_of_upcrossings_lt_top hab h ⟨h₁, h₂⟩)
112+
113+
/-- A realization of a stochastic process with bounded upcrossings and bounded liminfs is
114+
convergent.
115+
116+
We use the spelling `< ∞` instead of the standard `≠ ∞` in the assumptions since it is not as easy
117+
to change `<` to `≠` under binders. -/
118+
lemma tendsto_of_uncrossing_lt_top
119+
(hf₁ : liminf at_top (λ n, (∥f n ω∥₊ : ℝ≥0∞)) < ∞)
120+
(hf₂ : ∀ a b : ℚ, a < b → upcrossings a b f ω < ∞) :
121+
∃ c, tendsto (λ n, f n ω) at_top (𝓝 c) :=
122+
begin
123+
by_cases h : is_bounded_under (≤) at_top (λ n, |f n ω|),
124+
{ rw is_bounded_under_le_abs at h,
125+
refine tendsto_of_no_upcrossings rat.dense_range_cast _ h.1 h.2,
126+
{ intros a ha b hb hab,
127+
obtain ⟨⟨a, rfl⟩, ⟨b, rfl⟩⟩ := ⟨ha, hb⟩,
128+
exact not_frequently_of_upcrossings_lt_top hab (hf₂ a b (rat.cast_lt.1 hab)).ne } },
129+
{ obtain ⟨a, b, hab, h₁, h₂⟩ := ennreal.exists_upcrossings_of_not_bounded_under hf₁.ne h,
130+
exact false.elim ((hf₂ a b hab).ne
131+
(upcrossings_eq_top_of_frequently_lt (rat.cast_lt.2 hab) h₁ h₂)) }
132+
end
133+
134+
/-- An L¹-bounded submartingale has bounded upcrossings almost everywhere. -/
135+
lemma submartingale.upcrossings_ae_lt_top' [is_finite_measure μ]
136+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) 1 μ ≤ R) (hab : a < b) :
137+
∀ᵐ ω ∂μ, upcrossings a b f ω < ∞ :=
138+
begin
139+
refine ae_lt_top (hf.adapted.measurable_upcrossings hab) _,
140+
have := hf.mul_lintegral_upcrossings_le_lintegral_pos_part a b,
141+
rw [mul_comm, ← ennreal.le_div_iff_mul_le] at this,
142+
{ refine (lt_of_le_of_lt this (ennreal.div_lt_top _ _)).ne,
143+
{ have hR' : ∀ n, ∫⁻ ω, ∥f n ω - a∥₊ ∂μ ≤ R + ∥a∥₊ * μ set.univ,
144+
{ simp_rw snorm_one_eq_lintegral_nnnorm at hbdd,
145+
intro n,
146+
refine (lintegral_mono _ : ∫⁻ ω, ∥f n ω - a∥₊ ∂μ ≤ ∫⁻ ω, ∥f n ω∥₊ + ∥a∥₊ ∂μ).trans _,
147+
{ intro ω,
148+
simp_rw [sub_eq_add_neg, ← nnnorm_neg a, ← ennreal.coe_add, ennreal.coe_le_coe],
149+
exact nnnorm_add_le _ _ },
150+
{ simp_rw [ lintegral_add_right _ measurable_const, lintegral_const],
151+
exact add_le_add (hbdd _) le_rfl } },
152+
refine ne_of_lt (supr_lt_iff.2 ⟨R + ∥a∥₊ * μ set.univ, ennreal.add_lt_top.2
153+
⟨ennreal.coe_lt_top, ennreal.mul_lt_top ennreal.coe_lt_top.ne (measure_ne_top _ _)⟩,
154+
λ n, le_trans _ (hR' n)⟩),
155+
refine lintegral_mono (λ ω, _),
156+
rw [ennreal.of_real_le_iff_le_to_real, ennreal.coe_to_real, coe_nnnorm],
157+
by_cases hnonneg : 0 ≤ f n ω - a,
158+
{ rw [lattice_ordered_comm_group.pos_of_nonneg _ hnonneg,
159+
real.norm_eq_abs, abs_of_nonneg hnonneg] },
160+
{ rw lattice_ordered_comm_group.pos_of_nonpos _ (not_le.1 hnonneg).le,
161+
exact norm_nonneg _ },
162+
{ simp only [ne.def, ennreal.coe_ne_top, not_false_iff] } },
163+
{ simp only [hab, ne.def, ennreal.of_real_eq_zero, sub_nonpos, not_le] } },
164+
{ simp only [hab, ne.def, ennreal.of_real_eq_zero, sub_nonpos, not_le, true_or]},
165+
{ simp only [ne.def, ennreal.of_real_ne_top, not_false_iff, true_or] }
166+
end
167+
168+
lemma submartingale.upcrossings_ae_lt_top [is_finite_measure μ]
169+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) 1 μ ≤ R) :
170+
∀ᵐ ω ∂μ, ∀ a b : ℚ, a < b → upcrossings a b f ω < ∞ :=
171+
begin
172+
simp only [ae_all_iff, eventually_imp_distrib_left],
173+
rintro a b hab,
174+
exact hf.upcrossings_ae_lt_top' hbdd (rat.cast_lt.2 hab),
175+
end
176+
177+
/-- An L¹-bounded submartingale converges almost everywhere. -/
178+
lemma submartingale.exists_ae_tendsto_of_bdd [is_finite_measure μ]
179+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) 1 μ ≤ R) :
180+
∀ᵐ ω ∂μ, ∃ c, tendsto (λ n, f n ω) at_top (𝓝 c) :=
181+
begin
182+
filter_upwards [hf.upcrossings_ae_lt_top hbdd, ae_bdd_liminf_at_top_of_snorm_bdd one_ne_zero
183+
(λ n, (hf.strongly_measurable n).measurable.mono (ℱ.le n) le_rfl) hbdd] with ω h₁ h₂,
184+
exact tendsto_of_uncrossing_lt_top h₂ h₁,
185+
end
186+
187+
lemma submartingale.exists_ae_trim_tendsto_of_bdd [is_finite_measure μ]
188+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) 1 μ ≤ R) :
189+
∀ᵐ ω ∂(μ.trim (Sup_le (λ m ⟨n, hn⟩, hn ▸ ℱ.le _) : (⨆ n, ℱ n) ≤ m0)),
190+
∃ c, tendsto (λ n, f n ω) at_top (𝓝 c) :=
191+
begin
192+
rw [ae_iff, trim_measurable_set_eq],
193+
{ exact hf.exists_ae_tendsto_of_bdd hbdd },
194+
{ exact measurable_set.compl (@measurable_set_exists_tendsto _ _ _ _ _ _ (⨆ n, ℱ n) _ _ _ _ _
195+
(λ n, ((hf.strongly_measurable n).measurable.mono (le_Sup ⟨n, rfl⟩) le_rfl))) }
196+
end
197+
198+
/-- **Almost everywhere martingale convergence theorem**: An L¹-bounded submartingale converges
199+
almost everywhere to a `⨆ n, ℱ n`-measurable function. -/
200+
lemma submartingale.ae_tendsto_limit_process [is_finite_measure μ]
201+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) 1 μ ≤ R) :
202+
∀ᵐ ω ∂μ, tendsto (λ n, f n ω) at_top (𝓝 (ℱ.limit_process f μ ω)) :=
203+
begin
204+
classical,
205+
suffices : ∃ g, strongly_measurable[⨆ n, ℱ n] g ∧ ∀ᵐ ω ∂μ, tendsto (λ n, f n ω) at_top (𝓝 (g ω)),
206+
{ rw [limit_process, dif_pos this],
207+
exact (classical.some_spec this).2 },
208+
set g' : Ω → ℝ := λ ω, if h : ∃ c, tendsto (λ n, f n ω) at_top (𝓝 c) then h.some else 0,
209+
have hle : (⨆ n, ℱ n) ≤ m0 := Sup_le (λ m ⟨n, hn⟩, hn ▸ ℱ.le _),
210+
have hg' : ∀ᵐ ω ∂(μ.trim hle), tendsto (λ n, f n ω) at_top (𝓝 (g' ω)),
211+
{ filter_upwards [hf.exists_ae_trim_tendsto_of_bdd hbdd] with ω hω,
212+
simp_rw [g', dif_pos hω],
213+
exact hω.some_spec },
214+
have hg'm : @ae_strongly_measurable _ _ _ (⨆ n, ℱ n) g' (μ.trim hle) :=
215+
(@ae_measurable_of_tendsto_metrizable_ae' _ _ (⨆ n, ℱ n) _ _ _ _ _ _ _
216+
(λ n, ((hf.strongly_measurable n).measurable.mono
217+
(le_Sup ⟨n, rfl⟩ : ℱ n ≤ ⨆ n, ℱ n) le_rfl).ae_measurable) hg').ae_strongly_measurable,
218+
obtain ⟨g, hgm, hae⟩ := hg'm,
219+
have hg : ∀ᵐ ω ∂μ.trim hle, tendsto (λ n, f n ω) at_top (𝓝 (g ω)),
220+
{ filter_upwards [hae, hg'] with ω hω hg'ω,
221+
exact hω ▸ hg'ω },
222+
exact ⟨g, hgm, measure_eq_zero_of_trim_eq_zero hle hg⟩,
223+
end
224+
225+
/-- The limiting process of an Lᵖ-bounded submartingale is Lᵖ. -/
226+
lemma submartingale.mem_ℒp_limit_process {p : ℝ≥0∞}
227+
(hf : submartingale f ℱ μ) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
228+
mem_ℒp (ℱ.limit_process f μ) p μ :=
229+
mem_ℒp_limit_process_of_snorm_bdd
230+
(λ n, ((hf.strongly_measurable n).mono (ℱ.le n)).ae_strongly_measurable) hbdd
231+
232+
end ae_convergence
233+
234+
end measure_theory

src/probability/upcrossing.lean renamed to src/probability/martingale/upcrossing.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Kexing Ying
55
-/
66
import probability.hitting_time
7-
import probability.martingale
7+
import probability.martingale.basic
88

99
/-!
1010
@@ -43,7 +43,7 @@ convergence theorems.
4343
stopping time whenever the process it is associated to is adapted.
4444
* `measure_theory.submartingale.mul_integral_upcrossings_before_le_integral_pos_part`: Doob's
4545
upcrossing estimate.
46-
* `measure_theory.submartingale.mul_lintegral_upcrossing_le_lintegral_pos_part`: the inequality
46+
* `measure_theory.submartingale.mul_lintegral_upcrossings_le_lintegral_pos_part`: the inequality
4747
obtained by taking the supremum on both sides of Doob's upcrossing estimate.
4848
4949
### References
@@ -83,7 +83,7 @@ $0 \le f_0$ and $a \le f_N$. In particular, we will show
8383
$$
8484
(b - a) \mathbb{E}[U_N(a, b)] \le \mathbb{E}[f_N].
8585
$$
86-
This is `measure_theory.integral_mul_upcrossing_le_integral` in our formalization.
86+
This is `measure_theory.integral_mul_upcrossings_before_le_integral` in our formalization.
8787
8888
To prove this, we use the fact that given a non-negative, bounded, predictable process $(C_n)$
8989
(i.e. $(C_{n + 1})$ is adapted), $(C \bullet f)_n := \sum_{k \le n} C_{k + 1}(f_{k + 1} - f_k)$ is
@@ -778,7 +778,7 @@ begin
778778
(integral_nonneg (λ ω, lattice_ordered_comm_group.pos_nonneg _)) }
779779
end
780780

781-
/-
781+
/-!
782782
783783
### Variant of the upcrossing estimate
784784

src/probability/stopping.lean

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,54 @@ begin
399399
exact ⟨measurable_iff_comap_le.2 le_rfl, (hum i).is_separable_range⟩
400400
end
401401

402+
section limit
403+
404+
omit
405+
406+
variables {E : Type*} [has_zero E] [topological_space E]
407+
{ℱ : filtration ι m} {f : ι → Ω → E} {μ : measure Ω}
408+
409+
/-- Given a process `f` and a filtration `ℱ`, if `f` converges to some `g` almost everywhere and
410+
`g` is `⨆ n, ℱ n`-measurable, then `limit_process f ℱ μ` chooses said `g`, else it returns 0.
411+
412+
This definition is used to phrase the a.e. martingale convergence theorem
413+
`submartingale.ae_tendsto_limit_process` where an L¹-bounded submartingale `f` adapted to `ℱ`
414+
converges to `limit_process f ℱ μ` `μ`-almost everywhere. -/
415+
noncomputable
416+
def limit_process (f : ι → Ω → E) (ℱ : filtration ι m) (μ : measure Ω . volume_tac) :=
417+
if h : ∃ g : Ω → E, strongly_measurable[⨆ n, ℱ n] g ∧
418+
∀ᵐ ω ∂μ, tendsto (λ n, f n ω) at_top (𝓝 (g ω)) then classical.some h else 0
419+
420+
lemma strongly_measurable_limit_process :
421+
strongly_measurable[⨆ n, ℱ n] (limit_process f ℱ μ) :=
422+
begin
423+
rw limit_process,
424+
split_ifs with h h,
425+
exacts [(classical.some_spec h).1, strongly_measurable_zero]
426+
end
427+
428+
lemma strongly_measurable_limit_process' :
429+
strongly_measurable[m] (limit_process f ℱ μ) :=
430+
strongly_measurable_limit_process.mono (Sup_le (λ m ⟨n, hn⟩, hn ▸ ℱ.le _))
431+
432+
lemma mem_ℒp_limit_process_of_snorm_bdd {R : ℝ≥0} {p : ℝ≥0∞}
433+
{F : Type*} [normed_add_comm_group F] {ℱ : filtration ℕ m} {f : ℕ → Ω → F}
434+
(hfm : ∀ n, ae_strongly_measurable (f n) μ) (hbdd : ∀ n, snorm (f n) p μ ≤ R) :
435+
mem_ℒp (limit_process f ℱ μ) p μ :=
436+
begin
437+
rw limit_process,
438+
split_ifs with h,
439+
{ refine ⟨strongly_measurable.ae_strongly_measurable
440+
((classical.some_spec h).1.mono (Sup_le (λ m ⟨n, hn⟩, hn ▸ ℱ.le _))),
441+
lt_of_le_of_lt (Lp.snorm_lim_le_liminf_snorm hfm _ (classical.some_spec h).2)
442+
(lt_of_le_of_lt _ (ennreal.coe_lt_top : ↑R < ∞))⟩,
443+
simp_rw [liminf_eq, eventually_at_top],
444+
exact Sup_le (λ b ⟨a, ha⟩, (ha a le_rfl).trans (hbdd _)) },
445+
{ exact zero_mem_ℒp }
446+
end
447+
448+
end limit
449+
402450
end filtration
403451

404452
/-! ### Stopping times -/

0 commit comments

Comments
 (0)