Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Chapter 8, Theorem 1 — finite-partition Jensen lower bound

Proved
StochasticProg.Bounds.thm1_jensen_partition_lower_bound

by mikedeng1 · Sep 18, 2026 · Mathlib 0df444a (Lean v4.33.1)

convex-optimizationjensen-inequalityprobabilitystochastic-programming

Chapter 8, Theorem 1 (Birge & Louveaux, p. 346): the finite-partition Jensen lower bound.

Fix a probability space (Ω,μ)(\Omega,\mu)(Ω,μ), a complete normed real vector space EEE, a closed convex set Ξ⊆E\Xi\subseteq EΞ⊆E, and a random vector ξ:Ω→E\xi:\Omega\to Eξ:Ω→E with ξ(ω)∈Ξ\xi(\omega)\in\Xiξ(ω)∈Ξ almost surely and ξ\xiξ Bochner-integrable. Fix a type α\alphaα of first-stage decisions, a set D⊆αD\subseteq\alphaD⊆α, a point x∈Dx\in Dx∈D, and a function g:α→E→Rg:\alpha\to E\to\mathbb Rg:α→E→R such that g(x,⋅)g(x,\cdot)g(x,⋅) is convex and continuous on Ξ\XiΞ, with ω↦g(x,ξ(ω))\omega\mapsto g(x,\xi(\omega))ω↦g(x,ξ(ω)) integrable. Fix a finite measurable partition PPP of Ω\OmegaΩ into ν\nuν blocks (in the sense of the companion Partition definition), with block weights pl=P.weight(l)p_l=P.\mathrm{weight}(l)pl​=P.weight(l) and block conditional means ξl=P.condMean(ξ,l)\xi^l = P.\mathrm{condMean}(\xi,l)ξl=P.condMean(ξ,l). Then

∑l=1νpl g(x,ξl)  ≤  ∫Ωg(x,ξ(ω)) dμ(ω),\sum_{l=1}^{\nu} p_l\, g(x,\xi^l) \;\le\; \int_\Omega g(x,\xi(\omega))\,d\mu(\omega) ,l=1∑ν​pl​g(x,ξl)≤∫Ω​g(x,ξ(ω))dμ(ω),

i.e. ∑lpl g(x,ξl)≤E(g(x))\sum_l p_l\,g(x,\xi^l) \le \mathbb E(g(x))∑l​pl​g(x,ξl)≤E(g(x)) — the book's inequality (2.1), read left-to-right as printed (the book states E(g(x))≥∑lplg(x,ξl)\mathbb E(g(x)) \ge \sum_l p_l g(x,\xi^l)E(g(x))≥∑l​pl​g(x,ξl)).

Formalization Note Two hypotheses are added beyond the book's bare statement, both needed for the underlying Mathlib integral-Jensen lemma rather than narrowings of the content: ContinuousOn (g x) Ξ (automatic for a convex function on the interior of a finite-dimensional domain, but EEE is not assumed finite-dimensional here) and integrability of ξ\xiξ and of ω↦g(x,ξ(ω))\omega\mapsto g(x,\xi(\omega))ω↦g(x,ξ(ω)) (needed for E(g(x))\mathbb E(g(x))E(g(x)) and each ξl\xi^lξl to be well-defined). ξl\xi^lξl is exactly the conditional mean Partition.condMean, never an arbitrary point of the block.

Preamble
import Mathlib
import Definitions.Def_StochasticProg_Bounds_Partition

open MeasureTheory
Formal statement
namespace StochasticProg.Bounds

variable {Ω E α : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ]
  [NormedAddCommGroup E] [NormedSpace ℝ E] [CompleteSpace E]

/-- Chapter 8, Theorem 1 (Birge & Louveaux, p. 346): the finite-partition Jensen lower bound.
For `g(x, ·)` convex on the (convex, closed) support `Ξ` of a random vector `ξ`, and a finite
measurable partition of the sample space into blocks `S_l` of probability `p_l = P[ξ ∈ S_l]`
with conditional means `ξ^l = E[ξ | S_l]`,
`E(g(x)) ≥ Σ_{l=1}^ν p_l g(x, ξ^l)`. -/
theorem thm1_jensen_partition_lower_bound
    {Ξ : Set E} (hΞconv : Convex ℝ Ξ) (hΞclosed : IsClosed Ξ)
    {ξ : Ω → E} (hξrange : ∀ᵐ ω ∂μ, ξ ω ∈ Ξ) (hξint : Integrable ξ μ)
    {D : Set α} {x : α} (hx : x ∈ D) {g : α → E → ℝ}
    (hgconv : ConvexOn ℝ Ξ (g x)) (hgcont : ContinuousOn (g x) Ξ)
    (hgint : Integrable (fun ω => g x (ξ ω)) μ)
    {ν : ℕ} (P : Partition μ ν) :
    ∑ l, P.weight l * g x (P.condMean ξ l) ≤ ∫ ω, g x (ξ ω) ∂μ := by sorry

end StochasticProg.Bounds
Source
Birge & Louveaux, Introduction to Stochastic Programming, 2nd ed., Springer 2011, p. 346, Chapter 8, Theorem 1 (eq. 2.1)
Read-back

What the Lean code literally says, in plain math · claude-fable-5-1

Fix the following data throughout.

  • Ω\OmegaΩ is a type carrying a σ\sigmaσ-algebra, and μ\muμ is a measure on Ω\OmegaΩ which is assumed to be a probability measure (μ(Ω)=1\mu(\Omega)=1μ(Ω)=1).
  • EEE is a real Banach space: a normed abelian group with a real normed-space structure, assumed complete.
  • α\alphaα is an arbitrary type with no structure at all.
  • Ξ⊆E\Xi \subseteq EΞ⊆E is a subset assumed to be convex (over R\mathbb RR) and closed.
  • ξ:Ω→E\xi : \Omega \to Eξ:Ω→E is a function such that
    • for μ\muμ-almost every ω\omegaω, ξ(ω)∈Ξ\xi(\omega) \in \Xiξ(ω)∈Ξ (no requirement that ξ(ω)∈Ξ\xi(\omega)\in\Xiξ(ω)∈Ξ for every ω\omegaω, and ξ\xiξ is not separately assumed measurable except through the next item), and
    • ξ\xiξ is Bochner integrable with respect to μ\muμ (which includes being a.e.-strongly measurable and having finite integral of ∥ξ∥\|\xi\|∥ξ∥).
  • D⊆αD \subseteq \alphaD⊆α is a set and x∈αx \in \alphax∈α is a point with x∈Dx \in Dx∈D. Neither DDD nor the membership x∈Dx\in Dx∈D is used anywhere else in the statement; the hypothesis x∈Dx \in Dx∈D imposes nothing on ggg, ξ\xiξ, or the conclusion.
  • g:α→E→Rg : \alpha \to E \to \mathbb Rg:α→E→R is a function of two arguments; write gx:=g(x,⋅):E→Rg_x := g(x,\cdot) : E \to \mathbb Rgx​:=g(x,⋅):E→R. It is assumed that
    • gxg_xgx​ is convex on Ξ\XiΞ (the set Ξ\XiΞ is convex and, for y,z∈Ξy,z\in\Xiy,z∈Ξ and a,b≥0a,b\ge 0a,b≥0 with a+b=1a+b=1a+b=1, gx(ay+bz)≤a gx(y)+b gx(z)g_x(ay+bz)\le a\,g_x(y)+b\,g_x(z)gx​(ay+bz)≤agx​(y)+bgx​(z)); nothing is assumed about gxg_xgx​ outside Ξ\XiΞ;
    • gxg_xgx​ is continuous on Ξ\XiΞ (continuous when restricted to Ξ\XiΞ with the subspace topology);
    • the real-valued function ω↦gx(ξ(ω))\omega \mapsto g_x(\xi(\omega))ω↦gx​(ξ(ω)) is integrable with respect to μ\muμ.
  • ν\nuν is a natural number, possibly 000, and PPP is an element of the type Partition μ ν\mathrm{Partition}\,\mu\,\nuPartitionμν.

The type Partition μ ν\mathrm{Partition}\,\mu\,\nuPartitionμν and its two projections used below are not defined in the code shown; they come from the imported file Definitions.Def_StochasticProg_Bounds_Partition, whose contents are not available here. All that can be read off from this declaration is their usage:

  • P.weightP.\mathrm{weight}P.weight is a family of real numbers plp_lpl​ indexed by some finite index type over which ∑l\sum_l∑l​ ranges (presumably l∈{0,…,ν−1}l \in \{0,\dots,\nu-1\}l∈{0,…,ν−1}); the statement itself does not assert that pl≥0p_l \ge 0pl​≥0 or that ∑lpl=1\sum_l p_l = 1∑l​pl​=1 — whatever constraints hold are those built into the definition of Partition\mathrm{Partition}Partition, which is not visible.
  • P.condMean ξ lP.\mathrm{condMean}\,\xi\,lP.condMeanξl is an element ξ(l)\xi^{(l)}ξ(l) of EEE, produced from ξ\xiξ and the block index lll by a construction internal to Partition\mathrm{Partition}Partition. Whether this is a genuine conditional expectation of ξ\xiξ on the lll-th block, what value it takes if a block has measure zero (a total function must return something, possibly a junk value such as 000), and whether it lies in Ξ\XiΞ, are all determined by the unseen definition and not asserted by this theorem.

Under all of the above hypotheses, the theorem asserts the single real inequality

∑lpl gx(ξ(l))  ≤  ∫Ωgx(ξ(ω)) dμ(ω),\sum_{l} p_l \, g_x\big(\xi^{(l)}\big) \;\le\; \int_\Omega g_x(\xi(\omega))\, d\mu(\omega),l∑​pl​gx​(ξ(l))≤∫Ω​gx​(ξ(ω))dμ(ω),

where the left side is a finite sum over the index set of PPP, with pl=P.weight lp_l = P.\mathrm{weight}\,lpl​=P.weightl and ξ(l)=P.condMean ξ l\xi^{(l)} = P.\mathrm{condMean}\,\xi\,lξ(l)=P.condMeanξl, and the right side is the Bochner (here: Lebesgue) integral of the real function ω↦gx(ξ(ω))\omega\mapsto g_x(\xi(\omega))ω↦gx​(ξ(ω)) against μ\muμ.

Edge cases silently included:

  • If ν=0\nu = 0ν=0 and the index set is therefore empty, the left side is the empty sum 000, and the claim reduces to 0≤∫gx(ξ) dμ0 \le \int g_x(\xi)\,d\mu0≤∫gx​(ξ)dμ.
  • The inequality is non-strict (≤\le≤), and it is a single inequality, not an equality or a two-sided bound.
  • Since the hypotheses on ξ\xiξ are only almost-everywhere membership in Ξ\XiΞ, the values gx(ξ(ω))g_x(\xi(\omega))gx​(ξ(ω)) on the μ\muμ-null exceptional set are unconstrained by convexity or continuity but do not affect the integral.
  • If ξ(l)∉Ξ\xi^{(l)} \notin \Xiξ(l)∈/Ξ for some lll, then gx(ξ(l))g_x(\xi^{(l)})gx​(ξ(l)) is a value of gxg_xgx​ at a point where no convexity or continuity assumption applies; the statement still evaluates gxg_xgx​ there.
  • If Ξ\XiΞ is empty, the hypothesis "ξ(ω)∈Ξ\xi(\omega)\in\Xiξ(ω)∈Ξ for a.e. ω\omegaω" is unsatisfiable for a probability measure, so the theorem is vacuous in that case.
Human review
  • Endorsed by Shuze Chen · Sep 24, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 24, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me