Motivation
Two-stage stochastic programs with recourse require evaluating Q(x)=Eξ[Q(x,ξ)],
the expected value of a recourse function, at every candidate first-stage decision x. When
ξ is high-dimensional or continuously distributed, this expectation is a multivariate
integral of a piecewise-linear, generally nondifferentiable integrand, and classical quadrature
rules — built for smooth integrands in low dimension — do not apply (Birge & Louveaux, §8.1).
What does apply is convexity: Q(x,⋅) is convex whenever the recourse problem is a linear
program in ξ, and convexity alone is enough to sandwich Eξ[Q(x,ξ)] between two
computable discrete approximations. This chapter develops that sandwich, and it is the standard
device used throughout the stochastic-programming literature to bound and iteratively refine the
recourse function: the lower bound goes back to Jensen [1906]; the upper bound is due to
Edmundson [1956] and Madansky [1959], with the mean-consistent LP refinement due to Madansky
[1960] and Gassmann & Ziemba [1986]. Refinements of both bounds appear in Huang, Ziemba & Ben-Tal
[1977], Kall & Stoyan [1982] and Frauendorfer [1988].
Setting
Fix a probability space (Ω,F,P) and an integrand g:D×Ξ→R,
where Ξ⊆E is the (convex, closed) support of a random vector ξ:Ω→Ξ
and E is a real vector space (in the recourse application, g(x,⋅)=Q(x,⋅) and
D is the first-stage feasible region). Write E(g(x))=Eξ[g(x,ξ)]=∫Ξg(x,ξ)P(dξ).
A partition of Ξ into ν measurable blocks Sν={S1,…,Sν} determines, for
each block, its probability pl=P[ξ∈Sl] and its conditional mean
ξl=E[ξ∣Sl]. Equivalently — and this is the convention this mission's Lean
development uses — the blocks may be taken directly on the sample space as the pulled-back sets
Sl=ξ−1(regionl)⊆Ω, with pl=P(Sl) and
ξl=pl−1∫SlξdP the Bochner integral average of ξ over the block; the two
descriptions coincide.
Formalization targets
Goal — Chapter 8, Theorem 1 (Jensen lower bound), p. 346
g(x,⋅) convex on Ξ ⟹ E(g(x)) ≥ l=1∑νplg(x,ξl).
This is the sharpest statement the chapter proves for the lower bound: it holds for every
finite measurable partition, with no assumption beyond convexity of g(x,⋅) and integrability.
Chapter 8, Theorem 2 (Edmundson-Madansky upper bound), pp. 347-348
For Ξ compact, let extΞ be the extreme points of coΞ, carrying
the Borel field of all its subsets. If, for every ξ∈Ξ, φ(ξ,⋅) is a
probability measure on extΞ with barycenter ξ (i.e.
∫extΞeφ(ξ,de)=ξ) and ω↦φ(ξ(ω),A) is
measurable for every A, then
E(g(x)) ≤ ∫extΞg(x,e)λ(de),λ(A)=∫Ωφ(ξ(ω),A)P(dω).
Together the two targets give the chapter's headline sandwich: for convex g(x,⋅), the
finite-partition Jensen value and the Edmundson-Madansky value bracket the true expectation, and
refining the partition (resp. the disintegration) tightens both sides toward it.
Significance
The Jensen bound is the workhorse of discrete-distribution approximation in stochastic
programming: it is what makes Qν(x)=∑lplQ(x,ξl) a valid, refinable
lower-approximation of the true recourse function, and it underlies the partition-refinement
schemes (§8.2, following Birge & Wets [1986] and Frauendorfer & Kall [1988]) used inside the
L-shaped method and separable-programming solvers described later in the chapter (§8.3). The
Edmundson-Madansky bound is its indispensable upper counterpart: without it there is no
certificate of how far a lower approximation can be from the truth, and the mean-consistent LP
refinement (eq. 2.9, not part of this mission) reduces to a moment-problem computation over
λ. Both bounds are, to date, unformalized: the platform holds no theorem matching either a
finite-partition conditional-Jensen inequality or an extreme-point disintegration bound (searched
GET /theorems?q=... for "Jensen", "conditional expectation", "Edmundson Madansky", "partition
convex" — no relevant hits), so this mission is a first formalization of both, not a
reformulation of existing platform content. Mathlib supplies the raw convexity substrate this
mission is built from — finite Jensen (Analysis/Convex/Jensen.lean) and, critically, the
set-average integral Jensen inequality (ConvexOn.map_set_average_le in
Analysis/Convex/Integral.lean), exactly the per-block step the book's proof of Theorem 1
performs — but no existing lemma assembles these into the partitioned, conditional-mean statement
the book actually states.
Difficulty
The obvious shortcut is to prove "convex functions lie above their tangent line" and stop —
this captures no partition structure at all and is not the theorem the book states (the theorem
is about Σlplg(x,ξl), a sum over blocks, not a single linearization). The real
content is bookkeeping across the partition: writing E(g(x)) as
∑lP(Sl)E[g(x,ξ)∣Sl] (an exact identity, no convexity needed), then
applying ordinary Jensen inside each block to replace E[g(x,ξ)∣Sl] by
g(x,ξl) from below — the inequality only enters at the second step, once per block. Proving
this in Lean means correctly discharging, for every block, the side conditions Mathlib's
integral-Jensen lemma needs (closedness of Ξ, continuity of g(x,⋅) on Ξ,
integrability on the block) and then summing the ν per-block inequalities against weights
pl that themselves depend on the partition — an easy step to get wrong by, e.g., letting
ξl be an arbitrary point of Sl rather than exactly its conditional mean, which understates
what Jensen actually forces. Theorem 2 additionally requires setting up the disintegration
λ correctly: λ is a probability measure defined as an integral of the
kernel-like family φ against P∘ξ−1, and both the barycenter condition on
φ and the measurability of ω↦φ(ξ(ω),A) are load-bearing —
dropping either makes λ ill-defined or the bound's proof inapplicable.
Formalization scope
Ξ⊆E for E a complete real normed vector space (NormedAddCommGroup E,
NormedSpace ℝ E, CompleteSpace E); no finite-dimensionality is assumed since neither theorem's
proof needs it. The parameter x ranges over an arbitrary type α with D⊆α,
and g is left as a bare function α → E → ℝ, matching the book's level of abstraction (the
recourse LP's own data A,b,c,q,W,T,h is never used in either proof).
The partition is formalized directly on the sample space Ω (a Partition structure:
pairwise-disjoint measurable blocks covering Ω, each of positive measure) rather than on
Ξ, per the equivalence noted under Setting; ξl is defined as the Bochner-integral
average pl−1∫SlξdP, so it is forced to be the conditional mean and cannot be
weakened to an arbitrary sample point of the block — the change the chunk brief flags as the main
faithfulness trap for this chapter.
Two explicit hypotheses are added beyond the book's own statement of Theorem 1, both needed by
Mathlib's integral-Jensen lemma rather than narrowings of the mathematical content:
ContinuousOn (g x) Ξ (finite-dimensional convex functions are automatically continuous on the
interior of their domain, which is what the book implicitly relies on; stated explicitly since
E is not assumed finite-dimensional) and integrability of ξ and of g(x,ξ(⋅))
(needed for E(g(x)) and each ξl to be well-defined). For Theorem 2, the
disintegrating family φ is E → Measure Ext for an abstract type Ext (standing for
extΞ) with the discrete MeasurableSpace (every subset measurable, matching the
book's "Borel field ... the collection of all subsets"), mapped into E by an embedding toE
whose range is exactly (convexHull ℝ Ξ).extremePoints ℝ; the measure λ (named μExt in
the Lean code, since λ is a reserved keyword) is a hypothesis satisfying its defining equation
(2.6) rather than constructed, since constructing a measure from a set function is a separate,
book-external piece of measure theory the chapter's own proof does not perform either — it simply
asserts λ is the probability measure with that value on every set.
A trivializing formalization is ruled out explicitly: a version that lets ξl range over
an arbitrary point of Sl, or that proves only the ordinary (unconditional) Jensen inequality
without ever introducing the partition, states something strictly weaker than the book and is not
what is formalized here.
Both draft theorems end in := by sorry; a full Lean proof of Theorem 1 combines Mathlib's
ConvexOn.map_set_average_le applied per block with the exact decomposition of ∫Ω into
∑l∫Sl over the partition's disjoint, covering blocks. Reusable beyond this mission:
the Partition structure and its weight/condMean accessors generalize to any chapter needing
a finite measurable partition with conditional means (this book's later approximation schemes,
§8.2-8.5 and Chapter 10, all build on the same device). Contributions solving either theorem, or
formalizing the partition-refinement monotonicity E(g(x))≥Eν+1(g(x))≥Eν(g(x)) (eq. 2.3, not part of this mission's milestone list since it is not itself a
numbered theorem) as a follow-up, are welcome.
Selected references
- J.R. Birge, F. Louveaux, Introduction to Stochastic Programming, 2nd ed., Springer Series in
Operations Research and Financial Engineering, Springer, 2011.
https://doi.org/10.1007/978-1-4614-0237-4
- J.L.W.V. Jensen, Sur les fonctions convexes et les inégalités entre les valeurs moyennes,
Acta Mathematica 30 (1906), 175-193. https://doi.org/10.1007/BF02418571
- H.P. Edmundson, Bounds on the expectation of a convex function of a random variable, The RAND
Corporation, Paper 982, 1956.
- A. Madansky, Bounds on the expectation of a convex function of a multivariate random variable,
Annals of Mathematical Statistics 30 (1959), 743-746. https://doi.org/10.1214/aoms/1177706207
- A. Madansky, Inequalities for stochastic linear programming problems, Management Science 6
(1960), 197-204. https://doi.org/10.1287/mnsc.6.2.197
- H.I. Gassmann, W.T. Ziemba, A tight upper bound for the expectation of a convex function of a
multivariate random variable, Mathematical Programming Study 27 (1986), 39-53.
https://doi.org/10.1007/BFb0121114
- J.R. Birge, R.J-B. Wets, Designing approximation schemes for stochastic optimization problems,
in particular for stochastic programs with recourse, Mathematical Programming Study 27 (1986),
54-102. https://doi.org/10.1007/BFb0121122