Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Proof of Theorem 2, lower bound: Σ_{i∈J} p_i min_{k∉J} c(ω_i, ω_k) ≤ D(J; q) for every feasible q

Proved
ScenarioReduction.Redistribution.dual_lower_bound

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

lp-dualityoptimal-transportp2o-batch-p100ap2o-gran-per-chapterp2o-plan-paperp2o-v1scenario-reductionstochastic-programming

Under the standing assumptions of Section 3 (pi>0p_i>0pi​>0, ∑ipi=1\sum_ip_i=1∑i​pi​=1; c≥0c\ge0c≥0, c(ω,ω~)=0c(\omega,\tilde\omega)=0c(ω,ω~)=0 iff ω=ω~\omega=\tilde\omegaω=ω~, ccc symmetric), let J⊊{1,…,N}J\subsetneq\{1,\dots,N\}J⊊{1,…,N} be a set of deleted scenarios, so that at least one scenario is kept. For every choice of reduced weights qqq (qj≥0q_j\ge0qj​≥0 for j∉Jj\notin Jj∈/J, ∑j∉Jqj=1\sum_{j\notin J}q_j=1∑j∈/J​qj​=1),

∑i∈Jpimin⁡k∉Jc(ωi,ωk)≤D(J;q).\sum_{i\in J}p_i\min_{k\notin J}c(\omega_i,\omega_k)\le D(J;q).i∈J∑​pi​k∈/Jmin​c(ωi​,ωk​)≤D(J;q).

Here D(J;q)D(J;q)D(J;q) is the Kantorovich distance between P=∑ipiδωiP=\sum_ip_i\delta_{\omega_i}P=∑i​pi​δωi​​ and the reduced measure ∑j∉Jqjδωj\sum_{j\notin J}q_j\delta_{\omega_j}∑j∈/J​qj​δωj​​. The left-hand side does not depend on qqq, so it bounds from below the best distance that any reweighting of the kept scenarios can achieve; it is the lower half of Theorem 2.

Formalization Note The hypothesis that the complement of JJJ is nonempty is implicit on p. 501 (the minimum over k∉Jk\notin Jk∈/J must range over a nonempty set) and is stated explicitly. The paper's lead-in sentence writes the expression as ∑j∈Jpjmin⁡i∉Jcij\sum_{j\in J}p_j\min_{i\notin J}c_{ij}∑j∈J​pj​mini∈/J​cij​, swapping the letters iii and jjj; the formalization follows the display that ends the step, which matches (11).

Preamble
import Mathlib
import Definitions.Def_ScenarioReduction_Redistribution_transportValue

open Finset
Formal statement
namespace ScenarioReduction.Redistribution

theorem dual_lower_bound {Ω : Type*} {N : ℕ} (c : Ω → Ω → ℝ) (ω : Fin N → Ω) (p : Fin N → ℝ)
    (hc : ∀ a b : Ω, 0 ≤ c a b) (hc1 : ∀ a b : Ω, c a b = 0 ↔ a = b)
    (hc2 : ∀ a b : Ω, c a b = c b a)
    (hp : ∀ i, 0 < p i) (hp1 : ∑ i, p i = 1)
    (J : Finset (Fin N)) (hJ : Jᶜ.Nonempty) (q : Fin N → ℝ) (hq : IsReducedWeight J q) :
    ∑ i ∈ J, p i * minOver Jᶜ (fun k => c (ω i) (ω k)) ≤ transportValue c ω p J q := by sorry

end ScenarioReduction.Redistribution
Source
Dupačová, Gröwe-Kuska, Römisch, Scenario reduction in stochastic programming, Math. Program. Ser. A 95 (2003), p. 501, §3, proof of Theorem 2, lower bound (second paragraph and display)
Read-back

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

The data are:

  • an arbitrary type Ω\OmegaΩ and N∈NN \in \mathbb{N}N∈N;
  • c:Ω×Ω→Rc : \Omega \times \Omega \to \mathbb{R}c:Ω×Ω→R;
  • points ω:[N]→Ω\omega : [N] \to \Omegaω:[N]→Ω, where [N]={0,…,N−1}[N] = \{0, \dots, N-1\}[N]={0,…,N−1};
  • p:[N]→Rp : [N] \to \mathbb{R}p:[N]→R;
  • J⊆[N]J \subseteq [N]J⊆[N];
  • q:[N]→Rq : [N] \to \mathbb{R}q:[N]→R.

The hypotheses are:

  • c≥0c \ge 0c≥0;
  • c(a,b)=0  ⟺  a=bc(a, b) = 0 \iff a = bc(a,b)=0⟺a=b;
  • ccc is symmetric;
  • pi>0p_i > 0pi​>0 for all iii, and ∑ipi=1\sum_i p_i = 1∑i​pi​=1;
  • the complement JcJ^cJc is nonempty;
  • qqq is a reduced weight for JJJ: qj≥0q_j \ge 0qj​≥0 for j∉Jj \notin Jj∈/J and ∑j∉Jqj=1\sum_{j \notin J} q_j = 1∑j∈/J​qj​=1.

The conclusion is

∑i∈Jpi min⁡k∉Jc(ωi,ωk)  ≤  D(J;q).\sum_{i \in J} p_i \,\min_{k \notin J} c(\omega_i, \omega_k) \;\le\; D(J; q).i∈J∑​pi​k∈/Jmin​c(ωi​,ωk​)≤D(J;q).

The minimum is a genuine minimum because Jc≠∅J^c \neq \emptysetJc=∅.

Here D(J;q)D(J; q)D(J;q) is the infimum of ∑i∈[N]∑j∉Jc(ωi,ωj) ηij\sum_{i \in [N]} \sum_{j \notin J} c(\omega_i, \omega_j)\, \eta_{ij}∑i∈[N]​∑j∈/J​c(ωi​,ωj​)ηij​ over matrices η\etaη with:

  • ηij≥0\eta_{ij} \ge 0ηij​≥0 for j∉Jj \notin Jj∈/J;
  • ∑j∉Jηij=pi\sum_{j \notin J} \eta_{ij} = p_i∑j∈/J​ηij​=pi​ for every i∈[N]i \in [N]i∈[N];
  • ∑i∈[N]ηij=qj\sum_{i \in [N]} \eta_{ij} = q_j∑i∈[N]​ηij​=qj​ for every j∉Jj \notin Jj∈/J.

It takes the value 000 if no such η\etaη exists or the set is unbounded below.

Degenerate cases:

  • N=0N = 0N=0. The hypotheses are unsatisfiable, so the statement is vacuous.
  • Jc≠∅J^c \neq \emptysetJc=∅ is redundant. This hypothesis also follows from ∑j∉Jqj=1\sum_{j \notin J} q_j = 1∑j∈/J​qj​=1.
  • J=∅J = \emptysetJ=∅. The left side is an empty sum, and the claim reduces to 0≤D(∅;q)0 \le D(\emptyset; q)0≤D(∅;q).
  • Values on JJJ. The values qjq_jqj​ for j∈Jj \in Jj∈J are arbitrary and do not enter.
Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 27, 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