Doob’s Discrete-Time Maximal Inequality
ProvedMeasureTheory.maximal_ineq_Lp_readableThis formalizes Doob’s strong-type maximal inequality for discrete-time submartingales.
Let be a finite measure space, let be a filtration indexed by , let be a -submartingale, and let satisfy . Assume for every and . For each , define the running maximum .
The Lean statement uses eLpNorm with exponent ENNReal.ofReal p; thus both sides are values in , and the running maximum is represented by a finite supremum. This is a reusable strong-type maximal estimate.
Original Lean declaration header
Within namespace MeasureTheory. Shown in its original module context. Proof omitted.
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) μ
Module navigation
Module: MathFin/Foundations/DoobLpMaximalInequality.
Supporting theorems: holder_step, runMax_pow_lintegral_lt_top.
Previous: runMax_pow_lintegral_lt_top.
Source excerpt, lines 939–946 · Frozen source 408915f.
import Definitions.Def_KLSModular_MathFin_Foundations_DoobLpMaximalInequality
/-
Copyright (c) 2026 Raphael Coelho. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Raphael Coelho
-/
-- Vendored from https://github.com/raphaelrrcoelho/formal-mathfin at commit 784a8311f75a1519a23717856df9982bd6a9a370 (upstream path MathFin/Foundations/DoobLpMaximalInequality.lean; Apache-2.0; provenance in formalization/vendor/vendor-lock.json of the KLS repository)
variable {Ω : Type*}
variable [m0 : MeasurableSpace Ω] {μ : MeasureTheory.Measure Ω}
theorem MeasureTheory.maximal_ineq_Lp_readable
[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 sorry