Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 1 — the convex lower envelope of fff on {0,1}n\{0,1\}^n{0,1}n is convex piecewise linear on [0,1]n[0,1]^n[0,1]n and equals fff at binary points

Proved
SDDiP.Envelope.theorem_1

by mikedeng1 · Oct 10, 2026 · Mathlib 0df444a (Lean v4.33.1)

binary-optimizationconvex-envelopep2o-batch-pfp2bp2o-gran-per-chapterp2o-plan-paperp2o-v1stochastic-integer-programming

Let n≥0n \ge 0n≥0 and let fff be a real valued function defined on {0,1}n\{0,1\}^n{0,1}n. Then fff has a convex lower envelope eee in the sense of Definition 3 (the largest function that is convex on conv⁡({0,1}n)\operatorname{conv}(\{0,1\}^n)conv({0,1}n) and majorized by fff on {0,1}n\{0,1\}^n{0,1}n), and every convex lower envelope eee of fff satisfies:

  1. eee is convex on [0,1]n[0,1]^n[0,1]n;
  2. eee is piecewise linear on [0,1]n[0,1]^n[0,1]n with finitely many pieces: there are K∈NK \in \mathbb NK∈N, α1,…,αK∈Rn\alpha_1,\dots,\alpha_K \in \mathbb R^nα1​,…,αK​∈Rn and β1,…,βK∈R\beta_1,\dots,\beta_K \in \mathbb Rβ1​,…,βK​∈R with
e(x)=max⁡k=1,…,K(αk⊤x+βk)for all x∈[0,1]n;e(x) = \max_{k=1,\dots,K}\big(\alpha_k^\top x + \beta_k\big) \qquad \text{for all } x \in [0,1]^n;e(x)=k=1,…,Kmax​(αk⊤​x+βk​)for all x∈[0,1]n;
  1. eee coincides with fff at all binary points: e(x)=f(x)e(x) = f(x)e(x)=f(x) for every x∈{0,1}nx \in \{0,1\}^nx∈{0,1}n.

The theorem says that any real function of binary variables is represented exactly by a convex polyhedral function on the cube. It is the reason value functions of multistage stochastic integer programs with binary state variables admit exact, tight convex polyhedral cut approximations, on which the SDDiP algorithm rests.

Formalization Note The convex lower envelope is defined as a predicate (Definition 3), so the theorem asserts its existence and then the three properties for every function satisfying it; all of them agree on [0,1]n[0,1]^n[0,1]n. fff is a total function on Rn\mathbb R^nRn of which only the values at binary points matter. The maximum of affine functions is written as: each is ≤e(x)\le e(x)≤e(x) and one equals e(x)e(x)e(x).

Preamble
import Mathlib
import Definitions.Def_SDDiP_Envelope_ConvexLowerEnvelope
Formal statement
namespace SDDiP.Envelope

/-- **Theorem 1** (Zou, Ahmed, Sun, *Stochastic dual dynamic integer programming*, Math. Program. 175
(2019), p. 467). Let `f` be a real valued function on `{0,1}ⁿ`. Then `f` has a convex lower envelope
(Definition 3 with `X = {0,1}ⁿ`), and every convex lower envelope `e` of `f` is a convex piecewise
linear function on `[0,1]ⁿ` (the maximum of finitely many affine functions there) and coincides with
`f` at all binary points. -/
theorem theorem_1 (n : ℕ) (f : (Fin n → ℝ) → ℝ) :
    (∃ e : (Fin n → ℝ) → ℝ, IsConvexLowerEnvelope (binaryPoints n) f e) ∧
    ∀ e : (Fin n → ℝ) → ℝ, IsConvexLowerEnvelope (binaryPoints n) f e →
      ConvexOn ℝ (cube n) e ∧ IsMaxOfAffineOn (cube n) e ∧
      ∀ x ∈ binaryPoints n, e x = f x := by sorry

end SDDiP.Envelope
Source
Zou, Ahmed, Sun, Stochastic dual dynamic integer programming, Math. Program. 175 (2019), p. 467, Theorem 1 (definitions: p. 496, Definition 3)
Human review
  • Endorsed by Shuze Chen · Oct 11, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 11, 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