AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.DiscreteDoobLpPort
22 named declarations scanned from AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean.
Declarations
def MeasureTheory.runMax Compiled Not mapped
- Internal abbreviation for the running maximum `max {f 0 ω, f 1 ω, …, f n ω}`. Kept `private`: the public theorem states the bound in terms of the explicit `Finset.sup'` form to match `MeasureTheory.maximal_ineq`.
private def runMax (f : ℕ → Ω → ℝ) (n : ℕ) (ω : Ω) : ℝ :=
(Finset.range (n + 1)).sup' Finset.nonempty_range_add_one (fun k ↦ f k ω)
omit m0 in
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:67published source at 7bcd37294df1
lemma MeasureTheory.runMax_nonneg Compiled Not mapped
No declaration docstring.
private lemma runMax_nonneg {f : ℕ → Ω → ℝ} (hnonneg : ∀ n ω, 0 ≤ f n ω) (n : ℕ) (ω : Ω) :
0 ≤ runMax f n ω :=
le_trans (hnonneg 0 ω)
(Finset.le_sup' (f := fun k ↦ f k ω) (Finset.mem_range.mpr (Nat.succ_pos n)))
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:71published source at 7bcd37294df1
lemma MeasureTheory.runMax_measurable Compiled Not mapped
No declaration docstring.
private lemma runMax_measurable {f : ℕ → Ω → ℝ} {𝒢 : Filtration ℕ m0}
(hsub : Submartingale f 𝒢 μ) (n : ℕ) :
Measurable (runMax f n) := by
unfold runMax
exact Finset.measurable_range_sup''
(fun k _ ↦ ((hsub.stronglyMeasurable k).mono (𝒢.le k)).measurable)
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:76published source at 7bcd37294df1
lemma MeasureTheory.runMax_stronglyMeasurable Compiled Not mapped
No declaration docstring.
private lemma runMax_stronglyMeasurable {f : ℕ → Ω → ℝ} {𝒢 : Filtration ℕ m0}
(hsub : Submartingale f 𝒢 μ) (n : ℕ) :
StronglyMeasurable (runMax f n) :=
(runMax_measurable hsub n).stronglyMeasurable
/-- Maximum-inequality at a fixed positive level `t`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:83published source at 7bcd37294df1
lemma MeasureTheory.layer_meas_bound Compiled Not mapped
- Maximum-inequality at a fixed positive level `t`.
private lemma layer_meas_bound
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω) (n : ℕ)
{t : ℝ} (ht : 0 < t) :
ENNReal.ofReal t * μ {ω | t ≤ runMax f n ω}
≤ ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ) := by
have hf_nn : 0 ≤ f := fun k ω ↦ hnonneg k ω
have key := MeasureTheory.maximal_ineq (μ := μ) (𝒢 := 𝒢)
(f := f) hsub hf_nn (ε := t.toNNReal) n
have h_set :
({ω | t ≤ runMax f n ω}) = ({ω | (↑t.toNNReal : ℝ) ≤ runMax f n ω}) := by
rw [Real.coe_toNNReal _ ht.le]
rw [h_set]
exact key
/-- Layer-cake step. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:89published source at 7bcd37294df1
lemma MeasureTheory.lintegral_runMax_rpow_eq_layer Compiled Not mapped
- Layer-cake step.
private lemma lintegral_runMax_rpow_eq_layer
{f : ℕ → Ω → ℝ} {𝒢 : Filtration ℕ m0} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 0 < p) (n : ℕ) :
∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ
= ENNReal.ofReal p *
∫⁻ t in Set.Ioi 0,
μ {ω | t ≤ runMax f n ω} * ENNReal.ofReal (t ^ (p - 1)) :=
MeasureTheory.lintegral_rpow_eq_lintegral_meas_le_mul μ
(ae_of_all _ (runMax_nonneg hnonneg n))
(runMax_measurable hsub n).aemeasurable hp
/-- Pointwise (in `t > 0`) integrand bound. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:105published source at 7bcd37294df1
lemma MeasureTheory.layer_integrand_bound Compiled Not mapped
- Pointwise (in `t > 0`) integrand bound.
private lemma layer_integrand_bound
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω) (n : ℕ) {p : ℝ}
{t : ℝ} (ht : 0 < t) :
μ {ω | t ≤ runMax f n ω} * ENNReal.ofReal (t ^ (p - 1))
≤ ENNReal.ofReal (t ^ (p - 2)) *
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ) := by
have lmb := layer_meas_bound hsub hnonneg n ht
have ht_pow_pos : (0 : ℝ) ≤ t ^ (p - 2) := Real.rpow_nonneg ht.le _
have h_decomp : t ^ (p - 1) = t ^ (p - 2) * t := by
rw [show (p - 1) = (p - 2) + 1 by ring, Real.rpow_add ht, Real.rpow_one]
rw [h_decomp, ENNReal.ofReal_mul ht_pow_pos]
rw [show μ {ω | t ≤ runMax f n ω} * (ENNReal.ofReal (t^(p-2)) * ENNReal.ofReal t)
= ENNReal.ofReal (t^(p-2)) * (ENNReal.ofReal t * μ {ω | t ≤ runMax f n ω})
by ring]
exact mul_le_mul_right lmb _
/-- Combining steps: A ≤ ofReal p · ∫⁻ t in Ioi 0, ofReal(t^(p-2)) · ofReal(∫_{fstar ≥ t} f_n). -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:118published source at 7bcd37294df1
lemma MeasureTheory.A_le_layer_integral Compiled Not mapped
- Combining steps: A ≤ ofReal p · ∫⁻ t in Ioi 0, ofReal(t^(p-2)) · ofReal(∫_{fstar ≥ t} f_n).
private lemma A_le_layer_integral
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) :
∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ
≤ ENNReal.ofReal p *
∫⁻ t in Set.Ioi (0:ℝ),
ENNReal.ofReal (t ^ (p - 2)) *
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ) := by
have hp_pos : 0 < p := lt_trans zero_lt_one hp
rw [MeasureTheory.lintegral_rpow_eq_lintegral_meas_le_mul μ
(ae_of_all _ (runMax_nonneg hnonneg n))
(runMax_measurable hsub n).aemeasurable hp_pos]
apply mul_le_mul_right _ (ENNReal.ofReal p)
apply MeasureTheory.setLIntegral_mono_ae'
· exact measurableSet_Ioi
refine Filter.Eventually.of_forall (fun t ht ↦ ?_)
exact layer_integrand_bound hsub hnonneg n ht
/-- Inner integral evaluation: `∫⁻ t in Ioc 0 f, ofReal(t^(p-2)) = ofReal(f^(p-1)/(p-1))`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:136published source at 7bcd37294df1
lemma MeasureTheory.lintegral_rpow_Ioc Compiled Not mapped
- Inner integral evaluation: `∫⁻ t in Ioc 0 f, ofReal(t^(p-2)) = ofReal(f^(p-1)/(p-1))`.
private lemma lintegral_rpow_Ioc
{f p : ℝ} (hf : 0 < f) (hp : 1 < p) :
∫⁻ t in Set.Ioc (0:ℝ) f, ENNReal.ofReal (t^(p-2)) =
ENNReal.ofReal (f^(p-1)/(p-1)) := by
have hpm1 : -1 < p - 2 := by linarith
rw [show (f^(p-1)/(p-1) : ℝ) = ∫ t in Set.Ioc (0:ℝ) f, t^(p-2) from ?_]
· rw [← MeasureTheory.ofReal_integral_eq_lintegral_ofReal]
· apply MeasureTheory.IntegrableOn.integrable
exact (intervalIntegrable_iff_integrableOn_Ioc_of_le hf.le).mp
(intervalIntegral.intervalIntegrable_rpow' hpm1)
· exact (ae_restrict_iff' measurableSet_Ioc).mpr
(ae_of_all _ (fun t ht ↦ Real.rpow_nonneg ht.1.le _))
rw [← intervalIntegral.integral_of_le hf.le]
rw [integral_rpow (Or.inl hpm1)]
have hzp : (0:ℝ)^(p - 2 + 1) = 0 := Real.zero_rpow (by linarith : p - 2 + 1 ≠ 0)
rw [hzp, show p - 2 + 1 = p - 1 by ring]
ring
/-- Convert `ofReal` of Bochner set integral to `setLIntegral` of `ofReal`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:156published source at 7bcd37294df1
lemma MeasureTheory.ofReal_setIntegral_eq_setLIntegral_ofReal Compiled Not mapped
- Convert `ofReal` of Bochner set integral to `setLIntegral` of `ofReal`.
private lemma ofReal_setIntegral_eq_setLIntegral_ofReal
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω) (n : ℕ)
{t : ℝ} :
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ)
= ∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ := by
rw [MeasureTheory.ofReal_integral_eq_lintegral_ofReal]
· exact (hsub.integrable n).restrict
· exact ae_of_all _ (hnonneg n)
/-- Pointwise inner integral: for `fstar ≥ 0`, integrating `t^(p-2)` against
the indicator `𝟙{0 < t ≤ fstar}` evaluates to `fstar^(p-1)/(p-1)`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:175published source at 7bcd37294df1
lemma MeasureTheory.inner_t_integral Compiled Not mapped
- Pointwise inner integral: for `fstar ≥ 0`, integrating `t^(p-2)` against the indicator `𝟙{0 < t ≤ fstar}` evaluates to `fstar^(p-1)/(p-1)`.
private lemma inner_t_integral
{fstar p : ℝ} (hfstar : 0 ≤ fstar) (hp : 1 < p) :
∫⁻ t in Set.Ioi (0:ℝ), ENNReal.ofReal (t ^ (p - 2)) *
{t : ℝ | t ≤ fstar}.indicator (fun _ ↦ (1 : ℝ≥0∞)) t
= ENNReal.ofReal (fstar ^ (p - 1) / (p - 1)) := by
rcases hfstar.lt_or_eq with hpos | hzero
· -- fstar > 0: rewrite indicator-restricted integral as setLIntegral on Ioc.
have h_eq : Set.EqOn
(fun t ↦ ENNReal.ofReal (t ^ (p - 2)) *
{t : ℝ | t ≤ fstar}.indicator (fun _ ↦ (1 : ℝ≥0∞)) t)
((Set.Ioc 0 fstar).indicator (fun t ↦ ENNReal.ofReal (t ^ (p - 2))))
(Set.Ioi (0:ℝ)) := by
intro t ht
simp only
by_cases hle : t ≤ fstar
· have hmem1 : t ∈ {t : ℝ | t ≤ fstar} := hle
have hmem2 : t ∈ Set.Ioc (0:ℝ) fstar := ⟨ht, hle⟩
rw [Set.indicator_of_mem hmem1, mul_one, Set.indicator_of_mem hmem2]
· have hnmem1 : t ∉ {t : ℝ | t ≤ fstar} := hle
have hnmem2 : t ∉ Set.Ioc (0:ℝ) fstar := fun h ↦ hle h.2
rw [Set.indicator_of_notMem hnmem1, mul_zero, Set.indicator_of_notMem hnmem2]
rw [setLIntegral_congr_fun measurableSet_Ioi h_eq]
have hsubset : Set.Ioc (0:ℝ) fstar ⊆ Set.Ioi 0 :=
fun _ ht ↦ ht.1
have : ∫⁻ t in Set.Ioi (0:ℝ), (Set.Ioc 0 fstar).indicator
(fun t ↦ ENNReal.ofReal (t ^ (p - 2))) t
= ∫⁻ t in Set.Ioc (0:ℝ) fstar, ENNReal.ofReal (t ^ (p - 2)) := by
rw [setLIntegral_indicator measurableSet_Ioc,
Set.inter_eq_left.mpr hsubset]
rw [this]
exact lintegral_rpow_Ioc hpos hp
· -- fstar = 0: both sides are 0.
subst hzero
have h_eq : Set.EqOn
(fun t ↦ ENNReal.ofReal (t ^ (p - 2)) *
{t : ℝ | t ≤ (0:ℝ)}.indicator (fun _ ↦ (1 : ℝ≥0∞)) t)
(fun _ ↦ 0) (Set.Ioi (0:ℝ)) := by
intro t ht
simp only
have hnot : t ∉ {t : ℝ | t ≤ (0:ℝ)} := by
change ¬ t ≤ 0
exact not_le.mpr ht
rw [Set.indicator_of_notMem hnot, mul_zero]
rw [setLIntegral_congr_fun measurableSet_Ioi h_eq, lintegral_zero]
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:187published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.fubini_swap Compiled Not mapped
- Fubini swap stage (Tier A.2 Stage 1). For `p > 1`, a non-negative submartingale `f`, and a time `n`, the iterated integral `∫⁻ t in Ioi 0, ofReal(t^(p-2)) ⋅ ∫⁻_{fstar ≥ t} ofReal(f_n) dμ` equals `∫⁻ ω, ofReal(f_n ω) ⋅ ofReal((fstar ω)^(p-1) / (p-1)) dμ`. Proof: rewrite the inner set-integral as an indicator-weighted full integral; apply `MeasureTheory.lintegral_lintegral_swap` to swap the order of integration; then evaluate the inner `t`-integral pointwise via `inner_t_integral`.
private lemma fubini_swap
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) :
∫⁻ t in Set.Ioi (0:ℝ),
ENNReal.ofReal (t ^ (p - 2)) *
∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ
= ∫⁻ ω, ENNReal.ofReal (f n ω) *
ENNReal.ofReal ((runMax f n ω) ^ (p - 1) / (p - 1)) ∂μ := by
-- Measurability of runMax f n and f n.
have hRunMaxMeas : Measurable (runMax f n) := runMax_measurable hsub n
have hsubM : Measurable (f n) :=
((hsub.stronglyMeasurable n).measurable).mono (𝒢.le n) le_rfl
-- Joint set {(t,ω) | t ≤ runMax f n ω} is product-measurable as the
-- preimage of {(a,b) : ℝ×ℝ | a ≤ b} under (fst, runMax ∘ snd).
have hJointSet : MeasurableSet {pr : ℝ × Ω | pr.1 ≤ runMax f n pr.2} := by
have h1 : Measurable (fun pr : ℝ × Ω ↦ pr.1) := measurable_fst
have h2 : Measurable (fun pr : ℝ × Ω ↦ runMax f n pr.2) :=
hRunMaxMeas.comp measurable_snd
exact measurableSet_le h1 h2
-- Step 1: rewrite the inner setLIntegral as a full lintegral via indicator.
have step1 : ∀ t,
∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ
= ∫⁻ ω, {ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ := by
intro t
rw [lintegral_indicator (measurableSet_le measurable_const hRunMaxMeas)]
-- Step 2: pull the constant ofReal(t^(p-2)) inside the inner lintegral.
have step2 : ∀ t, ENNReal.ofReal (t ^ (p - 2)) *
∫⁻ ω, {ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ
= ∫⁻ ω, ENNReal.ofReal (t ^ (p - 2)) *
{ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ := by
intro t
exact (lintegral_const_mul _ ((ENNReal.measurable_ofReal.comp hsubM).indicator
(measurableSet_le measurable_const hRunMaxMeas))).symm
-- Combine step1 + step2 to a clean bivariate integrand expression.
simp_rw [step1, step2]
-- Joint measurability of the bivariate integrand.
have hF_meas : Measurable (fun pr : ℝ × Ω ↦
ENNReal.ofReal (pr.1 ^ (p - 2)) *
{q : ℝ × Ω | q.1 ≤ runMax f n q.2}.indicator
(fun q ↦ ENNReal.ofReal (f n q.2)) pr) := by
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:246published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.holder_apply Compiled Not mapped
- Stage 2a: apply Hölder to the post-Fubini integral. For non-negative f, g and Hölder conjugates p, q (so 1/p + 1/q = 1): `∫⁻ ω, ofReal(f_n) ⋅ ofReal(fstar^(p-1)) ≤ (∫⁻ f_n^p)^(1/p) ⋅ (∫⁻ fstar^p)^(1/q)`. Wraps `ENNReal.lintegral_mul_le_Lp_mul_Lq` plus the rpow algebra `(x^(p-1))^q = x^p` (using `(p-1)*q = p`).
private lemma holder_apply
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) :
(∫⁻ ω, ENNReal.ofReal (f n ω) *
ENNReal.ofReal ((runMax f n ω) ^ (p - 1)) ∂μ)
≤ (∫⁻ ω, ENNReal.ofReal ((f n ω) ^ p) ∂μ) ^ (1 / p) *
(∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ) ^ ((p - 1) / p) := by
set q := p / (p - 1) with hq_def
have hpq : p.HolderConjugate q := Real.HolderConjugate.conjExponent hp
have hp_pos : 0 < p := lt_trans zero_lt_one hp
have hp_ne_zero : p ≠ 0 := hp_pos.ne'
have hpm1_pos : 0 < p - 1 := by linarith
have hq_pos : 0 < q := by simp only [hq_def]; positivity
have hpm1_q_eq_p : (p - 1) * q = p := by
simp only [hq_def]; field_simp
have hsubM : Measurable (f n) :=
((hsub.stronglyMeasurable n).measurable).mono (𝒢.le n) le_rfl
have hRunMaxMeas : Measurable (runMax f n) := runMax_measurable hsub n
have hf_meas : AEMeasurable (fun ω ↦ ENNReal.ofReal (f n ω)) μ :=
(ENNReal.measurable_ofReal.comp hsubM).aemeasurable
have hg_meas : AEMeasurable
(fun ω ↦ ENNReal.ofReal ((runMax f n ω) ^ (p - 1))) μ :=
(ENNReal.measurable_ofReal.comp (hRunMaxMeas.pow_const (p - 1))).aemeasurable
have key := ENNReal.lintegral_mul_le_Lp_mul_Lq μ hpq hf_meas hg_meas
-- Rewrite (ofReal f_n)^p = ofReal(f_n^p) using nonneg.
have h_f_pow : ∀ ω, (ENNReal.ofReal (f n ω)) ^ p = ENNReal.ofReal ((f n ω) ^ p) :=
fun ω ↦ ENNReal.ofReal_rpow_of_nonneg (hnonneg n ω) hp_pos.le
-- Rewrite (ofReal fstar^(p-1))^q = ofReal(fstar^p) using (p-1)*q = p.
have h_g_pow : ∀ ω,
(ENNReal.ofReal ((runMax f n ω) ^ (p - 1))) ^ q
= ENNReal.ofReal ((runMax f n ω) ^ p) := by
intro ω
rw [ENNReal.ofReal_rpow_of_nonneg
(Real.rpow_nonneg (runMax_nonneg hnonneg n ω) _) hq_pos.le,
← Real.rpow_mul (runMax_nonneg hnonneg n ω) (p - 1) q, hpm1_q_eq_p]
simp_rw [h_f_pow, h_g_pow] at key
-- The goal has 1/p and (p-1)/p; key has 1/q (= q⁻¹). Rewrite 1/q = (p-1)/p.
have h_one_div_q : (1 / q : ℝ) = (p - 1) / p := by
simp only [hq_def, one_div, inv_div]
rw [h_one_div_q] at key
-- Convert LHS: the integral of pointwise product equals the lintegral
-- of the (· * ·) function-product form.
have hlhs : ∫⁻ a : Ω, ((fun ω ↦ ENNReal.ofReal (f n ω)) *
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:393published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.inner_t_integral_truncated Compiled Not mapped
- Truncated inner t-integral: for `fstar ≥ 0` and `K > 0`, `∫⁻ t in Ioi 0, t^(p-2) ⋅ 𝟙{0 < t ≤ K ∧ t ≤ fstar} = ofReal(min fstar K^(p-1) / (p-1))`. Identical to `inner_t_integral` but with an extra `t ≤ K` constraint, which makes the inner Ioc become `Ioc 0 (min fstar K)`.
private lemma inner_t_integral_truncated
{fstar K p : ℝ} (hfstar : 0 ≤ fstar) (hK : 0 < K) (hp : 1 < p) :
∫⁻ t in Set.Ioi (0:ℝ), ENNReal.ofReal (t ^ (p - 2)) *
((Set.Iic K).indicator (fun _ ↦ (1 : ℝ≥0∞)) t *
{t : ℝ | t ≤ fstar}.indicator (fun _ ↦ (1 : ℝ≥0∞)) t)
= ENNReal.ofReal ((min fstar K) ^ (p - 1) / (p - 1)) := by
have hMinNonneg : 0 ≤ min fstar K := le_min hfstar hK.le
rcases hMinNonneg.lt_or_eq with hpos | hzero
· -- min fstar K > 0
have hMinPosLefstar : min fstar K ≤ fstar := min_le_left _ _
have hMinPosLeK : min fstar K ≤ K := min_le_right _ _
have h_eq : Set.EqOn
(fun t ↦ ENNReal.ofReal (t ^ (p - 2)) *
((Set.Iic K).indicator (fun _ ↦ (1 : ℝ≥0∞)) t *
{t : ℝ | t ≤ fstar}.indicator (fun _ ↦ (1 : ℝ≥0∞)) t))
((Set.Ioc 0 (min fstar K)).indicator (fun t ↦ ENNReal.ofReal (t ^ (p - 2))))
(Set.Ioi (0:ℝ)) := by
intro t ht
simp only
by_cases h_le_K : t ≤ K
· by_cases h_le_M : t ≤ fstar
· have h_mem_min : t ∈ Set.Ioc (0:ℝ) (min fstar K) :=
⟨ht, le_min h_le_M h_le_K⟩
rw [Set.indicator_of_mem (show t ∈ Set.Iic K from h_le_K),
Set.indicator_of_mem (show t ∈ {t : ℝ | t ≤ fstar} from h_le_M),
mul_one, mul_one,
Set.indicator_of_mem h_mem_min]
· have h_nmem_min : t ∉ Set.Ioc (0:ℝ) (min fstar K) :=
fun h ↦ h_le_M (h.2.trans hMinPosLefstar)
rw [Set.indicator_of_mem (show t ∈ Set.Iic K from h_le_K),
Set.indicator_of_notMem (show t ∉ {t : ℝ | t ≤ fstar} from h_le_M),
mul_zero, mul_zero,
Set.indicator_of_notMem h_nmem_min]
· have h_nmem_min : t ∉ Set.Ioc (0:ℝ) (min fstar K) :=
fun h ↦ h_le_K (h.2.trans hMinPosLeK)
rw [Set.indicator_of_notMem (show t ∉ Set.Iic K from h_le_K),
zero_mul, mul_zero,
Set.indicator_of_notMem h_nmem_min]
rw [setLIntegral_congr_fun measurableSet_Ioi h_eq]
have hsubset : Set.Ioc (0:ℝ) (min fstar K) ⊆ Set.Ioi 0 := fun _ ht ↦ ht.1
have h_simp : ∫⁻ t in Set.Ioi (0:ℝ),
(Set.Ioc 0 (min fstar K)).indicator
(fun t ↦ ENNReal.ofReal (t ^ (p - 2))) t
= ∫⁻ t in Set.Ioc (0:ℝ) (min fstar K), ENNReal.ofReal (t ^ (p - 2)) := by
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:448published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.fubini_swap_truncated Compiled Not mapped
- Truncated Fubini swap. Analog of `fubini_swap` but with the outer `t`-integral restricted to `Ioc 0 K`, producing `min (runMax f n) K` in the post-swap formula.
private lemma fubini_swap_truncated
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) (K : ℝ) (hK : 0 < K) :
∫⁻ t in Set.Ioc (0:ℝ) K,
ENNReal.ofReal (t ^ (p - 2)) *
∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ
= ∫⁻ ω, ENNReal.ofReal (f n ω) *
ENNReal.ofReal ((min (runMax f n ω) K) ^ (p - 1) / (p - 1)) ∂μ := by
-- Rewrite the LHS via an Ioi 0 outer integral with an Iic K indicator,
-- so we can reuse the bivariate Fubini machinery.
have hRunMaxMeas : Measurable (runMax f n) := runMax_measurable hsub n
have hsubM : Measurable (f n) :=
((hsub.stronglyMeasurable n).measurable).mono (𝒢.le n) le_rfl
have hIocEqRestrict : Set.Ioc (0:ℝ) K = Set.Ioi 0 ∩ Set.Iic K := by
ext t; simp [Set.mem_Ioc, Set.mem_Ioi, Set.mem_Iic, and_comm]
rw [hIocEqRestrict]
rw [← MeasureTheory.lintegral_indicator (measurableSet_Ioi.inter measurableSet_Iic)]
-- Step 1: rewrite the inner setLIntegral as a full lintegral via indicator.
have step1 : ∀ t,
∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ
= ∫⁻ ω, {ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ := by
intro t
rw [lintegral_indicator (measurableSet_le measurable_const hRunMaxMeas)]
-- Step 2: pull the constant ofReal(t^(p-2)) inside the inner lintegral.
have step2 : ∀ t, ENNReal.ofReal (t ^ (p - 2)) *
∫⁻ ω, {ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ
= ∫⁻ ω, ENNReal.ofReal (t ^ (p - 2)) *
{ω | t ≤ runMax f n ω}.indicator
(fun ω ↦ ENNReal.ofReal (f n ω)) ω ∂μ := by
intro t
exact (lintegral_const_mul _ ((ENNReal.measurable_ofReal.comp hsubM).indicator
(measurableSet_le measurable_const hRunMaxMeas))).symm
-- Joint measurability of the bivariate integrand (Ioi 0 ∩ Iic K is product-measurable).
have hJointSet : MeasurableSet {pr : ℝ × Ω | pr.1 ≤ runMax f n pr.2} := by
have h1 : Measurable (fun pr : ℝ × Ω ↦ pr.1) := measurable_fst
have h2 : Measurable (fun pr : ℝ × Ω ↦ runMax f n pr.2) :=
hRunMaxMeas.comp measurable_snd
exact measurableSet_le h1 h2
have hF_meas : Measurable (fun pr : ℝ × Ω ↦
ENNReal.ofReal (pr.1 ^ (p - 2)) *
{q : ℝ × Ω | q.1 ≤ runMax f n q.2}.indicator
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:522published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.A_K_le_layer_integral Compiled Not mapped
- Truncated layer-cake bound: for `Z_K = min (runMax f n) K`, `∫⁻ Z_K^p ≤ ofReal(p) * ∫⁻ t in Ioc 0 K, ofReal(t^(p-2)) * ofReal(∫_{fstar ≥ t} f_n)`.
private lemma A_K_le_layer_integral
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) (K : ℝ) (hK : 0 < K) :
∫⁻ ω, ENNReal.ofReal ((min (runMax f n ω) K) ^ p) ∂μ
≤ ENNReal.ofReal p *
∫⁻ t in Set.Ioc (0:ℝ) K,
ENNReal.ofReal (t ^ (p - 2)) *
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ) := by
have hp_pos : 0 < p := lt_trans zero_lt_one hp
-- Apply layer cake to Z_K = min (runMax f n) K.
have hZK_nn : ∀ ω, 0 ≤ min (runMax f n ω) K :=
fun ω ↦ le_min (runMax_nonneg hnonneg n ω) hK.le
have hZK_meas : Measurable (fun ω ↦ min (runMax f n ω) K) :=
(runMax_measurable hsub n).min measurable_const
have h_layer :=
MeasureTheory.lintegral_rpow_eq_lintegral_meas_le_mul μ
(ae_of_all _ hZK_nn) hZK_meas.aemeasurable hp_pos
rw [h_layer]
-- The integrand `μ{Z_K ≥ t} * ofReal(t^(p-1))` equals
-- `μ{runMax ≥ t} * ofReal(t^(p-1))` for t ∈ Ioc 0 K and 0 for t > K.
have h_ZK_set : ∀ t > (0:ℝ),
μ {ω | t ≤ min (runMax f n ω) K} =
if t ≤ K then μ {ω | t ≤ runMax f n ω} else 0 := by
intro t ht
by_cases hle : t ≤ K
· simp only [hle, if_true]
congr 1
ext ω
simp [hle]
· simp only [hle, if_false]
rw [show {ω | t ≤ min (runMax f n ω) K} = ∅ by
ext ω; simp [hle]]
simp
-- Restrict the outer integral to Ioc 0 K.
have h_split : ∫⁻ t in Set.Ioi (0:ℝ), μ {ω | t ≤ min (runMax f n ω) K} *
ENNReal.ofReal (t ^ (p - 1))
= ∫⁻ t in Set.Ioc (0:ℝ) K, μ {ω | t ≤ runMax f n ω} *
ENNReal.ofReal (t ^ (p - 1)) := by
have hIoiSplit : Set.Ioi (0:ℝ) = Set.Ioc 0 K ∪ Set.Ioi K := by
ext t
simp only [Set.mem_Ioi, Set.mem_union, Set.mem_Ioc]
constructor
· intro h
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:658published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.holder_step_truncated Compiled Not mapped
- Truncated holder_step: master bound for `A_K = ∫⁻ (min fstar K)^p`.
private lemma holder_step_truncated
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) (K : ℝ) (hK : 0 < K) :
(∫⁻ ω, ENNReal.ofReal ((min (runMax f n ω) K) ^ p) ∂μ)
≤ ENNReal.ofReal (p / (p - 1)) *
(∫⁻ ω, ENNReal.ofReal ((f n ω) ^ p) ∂μ) ^ (1 / p) *
(∫⁻ ω, ENNReal.ofReal ((min (runMax f n ω) K) ^ p) ∂μ) ^ ((p - 1) / p) := by
have hp_pos : 0 < p := lt_trans zero_lt_one hp
have hpm1_pos : 0 < p - 1 := by linarith
-- Step 1: bound A_K via A_K_le_layer_integral.
have hA := A_K_le_layer_integral hsub hnonneg hp n K hK
-- Step 2: rewrite the inner Bochner integral as a setLIntegral of ofReal.
have h_inner_rewrite : ∀ t,
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ)
= ∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ := fun t ↦
ofReal_setIntegral_eq_setLIntegral_ofReal hsub hnonneg n
simp_rw [h_inner_rewrite] at hA
-- Step 3: apply truncated Fubini swap.
rw [fubini_swap_truncated hsub hnonneg hp n K hK] at hA
-- Step 4: factor `ofReal((Z_K)^(p-1)/(p-1))` into `ofReal((Z_K)^(p-1)) * ofReal(1/(p-1))`.
have h_factor : ∀ ω,
ENNReal.ofReal ((min (runMax f n ω) K) ^ (p - 1) / (p - 1))
= ENNReal.ofReal ((min (runMax f n ω) K) ^ (p - 1)) *
ENNReal.ofReal (1 / (p - 1)) := by
intro ω
have hZK_nn : 0 ≤ min (runMax f n ω) K := le_min (runMax_nonneg hnonneg n ω) hK.le
rw [div_eq_mul_inv, ENNReal.ofReal_mul (Real.rpow_nonneg hZK_nn _),
show (p - 1)⁻¹ = 1 / (p - 1) by rw [one_div]]
simp_rw [h_factor] at hA
-- Step 5: pull constant ofReal(1/(p-1)) outside.
have hsubM : Measurable (f n) :=
((hsub.stronglyMeasurable n).measurable).mono (𝒢.le n) le_rfl
have hZKmeas : Measurable (fun ω ↦ min (runMax f n ω) K) :=
(runMax_measurable hsub n).min measurable_const
have h_mul_const :
∫⁻ ω, ENNReal.ofReal (f n ω) *
(ENNReal.ofReal ((min (runMax f n ω) K) ^ (p - 1)) *
ENNReal.ofReal (1 / (p - 1))) ∂μ
= ENNReal.ofReal (1 / (p - 1)) *
∫⁻ ω, ENNReal.ofReal (f n ω) *
ENNReal.ofReal ((min (runMax f n ω) K) ^ (p - 1)) ∂μ := by
rw [← lintegral_const_mul]
· congr 1; funext ω; ring
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:743published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.holder_step Compiled Not mapped
- Stage 2 (Hölder + algebra): combining Fubini's output with Hölder yields the master bound on `∫⁻ fstar^p`.
private lemma holder_step
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) :
(∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ)
≤ ENNReal.ofReal (p / (p - 1)) *
(∫⁻ ω, ENNReal.ofReal ((f n ω) ^ p) ∂μ) ^ (1 / p) *
(∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ) ^ ((p - 1) / p) := by
have hp_pos : 0 < p := lt_trans zero_lt_one hp
have hpm1_pos : 0 < p - 1 := by linarith
have hpm1_inv_pos : 0 < 1 / (p - 1) := by positivity
-- Step 1: bound A := ∫⁻ fstar^p via A_le_layer_integral.
have hA := A_le_layer_integral hsub hnonneg hp n
-- Step 2: rewrite the inner Bochner setIntegral as a setLIntegral.
have h_inner_rewrite : ∀ t,
ENNReal.ofReal (∫ ω in {ω | t ≤ runMax f n ω}, f n ω ∂μ)
= ∫⁻ ω in {ω | t ≤ runMax f n ω}, ENNReal.ofReal (f n ω) ∂μ := fun t ↦
ofReal_setIntegral_eq_setLIntegral_ofReal hsub hnonneg n
simp_rw [h_inner_rewrite] at hA
-- Step 3: apply Fubini swap.
rw [fubini_swap hsub hnonneg hp n] at hA
-- Step 4: factor `ofReal(fstar^(p-1)/(p-1))` as `ofReal(fstar^(p-1)) * ofReal(1/(p-1))`.
have h_factor : ∀ ω,
ENNReal.ofReal ((runMax f n ω) ^ (p - 1) / (p - 1))
= ENNReal.ofReal ((runMax f n ω) ^ (p - 1)) * ENNReal.ofReal (1 / (p - 1)) := by
intro ω
rw [div_eq_mul_inv, ENNReal.ofReal_mul (Real.rpow_nonneg (runMax_nonneg hnonneg n ω) _),
show (p - 1)⁻¹ = 1 / (p - 1) by rw [one_div]]
simp_rw [h_factor] at hA
-- Step 5: pull constant ofReal(1/(p-1)) outside the inner integral.
have h_mul_const :
∫⁻ ω, ENNReal.ofReal (f n ω) *
(ENNReal.ofReal ((runMax f n ω) ^ (p - 1)) * ENNReal.ofReal (1 / (p - 1))) ∂μ
= ENNReal.ofReal (1 / (p - 1)) *
∫⁻ ω, ENNReal.ofReal (f n ω) *
ENNReal.ofReal ((runMax f n ω) ^ (p - 1)) ∂μ := by
rw [← lintegral_const_mul]
· congr 1; funext ω; ring
· exact ((ENNReal.measurable_ofReal.comp
(((hsub.stronglyMeasurable n).measurable).mono (𝒢.le n) le_rfl)).mul
(ENNReal.measurable_ofReal.comp
((runMax_measurable hsub n).pow_const (p - 1))))
rw [h_mul_const] at hA
-- Step 6: combine ofReal(p) * ofReal(1/(p-1)) = ofReal(p/(p-1)).
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:840published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.eLpNorm_eq_lintegral_ofReal_pow Compiled Not mapped
- Conversion lemma: for a non-negative `f : Ω → ℝ` and `1 < p`, `eLpNorm f (ofReal p) μ = (∫⁻ ω, ofReal(f ω ^ p) ∂μ)^(1/p)`.
private lemma eLpNorm_eq_lintegral_ofReal_pow
{f : Ω → ℝ} (hf_nn : ∀ ω, 0 ≤ f ω) {p : ℝ} (hp : 1 < p) :
eLpNorm f (ENNReal.ofReal p) μ
= (∫⁻ ω, ENNReal.ofReal (f ω ^ p) ∂μ) ^ (1 / p) := by
have hp_pos : 0 < p := lt_trans zero_lt_one hp
have hp_ne_zero : (ENNReal.ofReal p) ≠ 0 := by
simp [hp_pos]
have hp_ne_top : (ENNReal.ofReal p) ≠ ⊤ := ENNReal.ofReal_ne_top
rw [eLpNorm_eq_lintegral_rpow_enorm_toReal hp_ne_zero hp_ne_top]
rw [ENNReal.toReal_ofReal hp_pos.le]
congr 1
apply lintegral_congr_ae
filter_upwards with ω
have : ‖f ω‖ₑ = ENNReal.ofReal (f ω) := by
rw [Real.enorm_eq_ofReal (hf_nn ω)]
rw [this, ENNReal.ofReal_rpow_of_nonneg (hf_nn ω) hp_pos.le]
/-- **Doob's L^p maximal inequality** for discrete-time non-negative submartingales.
For a non-negative submartingale `f : ℕ → Ω → ℝ` and `1 < p`, the L^p norm
of the running maximum `f*_n(ω) = max_{k ≤ n} f_k(ω)` is bounded by
`(p / (p - 1))` times the L^p norm of `f_n`:
`‖f*_n‖_{L^p} ≤ (p / (p - 1)) · ‖f_n‖_{L^p}`.
This is the strong-type companion to `MeasureTheory.maximal_ineq`. The proof
combines a layer-cake decomposition, the weak-type maximal inequality, Fubini,
Hölder's inequality, and a truncation argument to handle the case where the
left-hand side could a priori be infinite. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:902published source at 7bcd37294df1
theorem MeasureTheory.maximal_ineq_Lp Compiled Not mapped
Doob's L^p maximal inequality for discrete-time non-negative submartingales. For a non-negative submartingale `f : ℕ → Ω → ℝ` and `1 < p`, the L^p norm of the running maximum `f*_n(ω) = max_{k ≤ n} f_k(ω)` is bounded by `(p / (p - 1))` times the L^p norm of `f_n`: `‖f*_n‖_{L^p} ≤ (p / (p - 1)) · ‖f_n‖_{L^p}`. This is the strong-type companion to `MeasureTheory.maximal_ineq`. The proof combines a layer-cake decomposition, the weak-type maximal inequality, Fubini, Hölder's inequality, and a truncation argument to handle the case where the left-hand side could a priori be infinite.
theorem maximal_ineq_Lp
[IsFiniteMeasure μ] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → ℝ} {p : ℝ}
(hsub : Submartingale f 𝒢 μ) (hnonneg : ∀ n ω, 0 ≤ f n ω)
(hp : 1 < p) (n : ℕ) :
eLpNorm (fun ω ↦ (Finset.range (n + 1)).sup' Finset.nonempty_range_add_one
(fun k ↦ f k ω)) (ENNReal.ofReal p) μ
≤ ENNReal.ofReal (p / (p - 1)) *
eLpNorm (f n) (ENNReal.ofReal p) μ := by
-- The inline `Finset.sup'` is definitionally `runMax f n`; use the internal name
-- in the proof.
change eLpNorm (runMax f n) (ENNReal.ofReal p) μ ≤ _
-- Convert both eLpNorms to (∫⁻ ofReal(_^p))^(1/p) form.
rw [eLpNorm_eq_lintegral_ofReal_pow (runMax_nonneg hnonneg n) hp,
eLpNorm_eq_lintegral_ofReal_pow (hnonneg n) hp]
-- Set A := ∫⁻ fstar^p, B := ∫⁻ f_n^p, C := ofReal(p/(p-1)).
set A : ℝ≥0∞ := ∫⁻ ω, ENNReal.ofReal ((runMax f n ω) ^ p) ∂μ with hA_def
set B : ℝ≥0∞ := ∫⁻ ω, ENNReal.ofReal ((f n ω) ^ p) ∂μ with hB_def
set C : ℝ≥0∞ := ENNReal.ofReal (p / (p - 1)) with hC_def
have hbound : A ≤ C * B ^ (1 / p) * A ^ ((p - 1) / p) := holder_step hsub hnonneg hp n
have hp_pos : 0 < p := lt_trans zero_lt_one hp
have hpm1_pos : 0 < p - 1 := by linarith
have hp_inv_pos : 0 < 1 / p := by positivity
have hpm1_p_pos : 0 < (p - 1) / p := div_pos hpm1_pos hp_pos
-- Handle the trivial cases first.
-- Case 1: A = 0.
by_cases hA0 : A = 0
· rw [hA0, ENNReal.zero_rpow_of_pos hp_inv_pos]; exact bot_le
-- Case 2: A = ∞. We use holder_step + the structure of the bound.
by_cases hAtop : A = ⊤
· -- A = ∞. Either RHS = ∞ (so done) or we derive a contradiction.
-- The RHS = C * B^(1/p) is ∞ iff B = ∞ (since C is finite & nonzero).
-- If B = ∞, eLpNorm f_n p μ = ∞^(1/p) = ∞, so RHS bound is ∞. ✓
-- If B < ∞, the truncation argument below rules out `A = ∞`.
by_cases hBtop : B = ⊤
· -- A = B = ∞. Both sides equal ∞, since C = ofReal(p/(p-1)) > 0.
rw [hAtop, hBtop, ENNReal.top_rpow_of_pos hp_inv_pos]
have hC_pos : 0 < p / (p - 1) := by positivity
have hC_ne_zero : C ≠ 0 := by
rw [hC_def]; simp [hC_pos]
rw [ENNReal.mul_top hC_ne_zero]
· -- Truncation case: A = ∞, B < ∞. Derive contradiction.
-- Strategy: for each K > 0, holder_step_truncated + rpow inversion
-- (since A_K finite) yields A_K^(1/p) ≤ C * B^(1/p). Raising both
-- sides to power p gives A_K ≤ (C * B^(1/p))^p, a finite bound
-- Source excerpt truncated; follow the exact source link.
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:931published source at 7bcd37294df1
Excerpt truncated; the exact source link is authoritative.
lemma MeasureTheory.martingale_norm_submartingale Compiled Not mapped
- The norm process of a Banach-valued martingale is a non-negative submartingale. Internal lemma used to derive the Banach version of Doob's L^p inequality from the real-valued case via Jensen (`MeasureTheory.norm_condExp_le`).
private lemma martingale_norm_submartingale
{E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [CompleteSpace E]
{𝒢 : Filtration ℕ m0} {f : ℕ → Ω → E} (hf : Martingale f 𝒢 μ) :
Submartingale (fun n ω ↦ ‖f n ω‖) 𝒢 μ := by
refine ⟨fun n ↦ continuous_norm.comp_stronglyMeasurable (hf.stronglyAdapted n),
fun i j hij ↦ ?_, fun n ↦ (hf.integrable n).norm⟩
have hcondExp : f i =ᵐ[μ] μ[f j | (𝒢 i : MeasurableSpace Ω)] := (hf.condExp_ae_eq hij).symm
filter_upwards [hcondExp,
norm_condExp_le (f := f j) (m := (𝒢 i : MeasurableSpace Ω)) (μ := μ)]
with ω hω hjensen
calc ‖f i ω‖ = ‖(μ[f j | (𝒢 i : MeasurableSpace Ω)]) ω‖ := by rw [hω]
_ ≤ _ := hjensen
/-- **Doob's L^p maximal inequality, Banach-valued martingale form.**
For a Banach-valued martingale `f : ℕ → Ω → E` and `1 < p`,
`‖max_{k ≤ n} ‖f_k‖‖_{L^p} ≤ (p / (p - 1)) · ‖f_n‖_{L^p}`.
Derived from `MeasureTheory.maximal_ineq_Lp` by applying it to the non-negative
real-valued submartingale `‖f‖`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:1094published source at 7bcd37294df1
theorem MeasureTheory.Martingale.eLpNorm_norm_runMax_le Compiled Not mapped
Doob's L^p maximal inequality, Banach-valued martingale form. For a Banach-valued martingale `f : ℕ → Ω → E` and `1 < p`, `‖max_{k ≤ n} ‖f_k‖‖_{L^p} ≤ (p / (p - 1)) · ‖f_n‖_{L^p}`. Derived from `MeasureTheory.maximal_ineq_Lp` by applying it to the non-negative real-valued submartingale `‖f‖`.
theorem Martingale.eLpNorm_norm_runMax_le
[IsFiniteMeasure μ] {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[CompleteSpace E] {𝒢 : Filtration ℕ m0} {f : ℕ → Ω → E} {p : ℝ}
(hf : Martingale f 𝒢 μ) (hp : 1 < p) (n : ℕ) :
eLpNorm (fun ω ↦ (Finset.range (n + 1)).sup' Finset.nonempty_range_add_one
(fun k ↦ ‖f k ω‖)) (ENNReal.ofReal p) μ
≤ ENNReal.ofReal (p / (p - 1)) * eLpNorm (f n) (ENNReal.ofReal p) μ := by
have hsub := martingale_norm_submartingale hf
have hbound := maximal_ineq_Lp hsub (fun _ _ ↦ norm_nonneg _) hp n
rwa [eLpNorm_norm] at hbound
end MeasureTheory
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/DiscreteDoobLpPort.lean:1114published source at 7bcd37294df1