Proof of Theorem 2, upper bound: q̄ is feasible and D(J; q̄) ≤ Σ_{i∈J} p_i min_{j∉J} c(ω_i, ω_j)
ProvedScenarioReduction.Redistribution.qbar_upper_boundby mikedeng1 · Sep 26, 2026 · Mathlib 0df444a (Lean v4.33.1)
optimal-transportp2o-batch-p100ap2o-gran-per-chapterp2o-plan-paperp2o-v1scenario-reductionstochastic-programming
Under the standing assumptions of Section 3, let J⊊{1,…,N} and choose for every deleted index i∈J a kept index j(i)∈/J with j(i)∈argminj∈/Jc(ωi,ωj). Put Jj={i∈J:j(i)=j} and define the optimal redistribution
qˉj=pj+i∈Jj∑pi(j∈/J).
Then qˉ is a feasible reduced weight (qˉj≥0 and ∑j∈/Jqˉj=1), and
D(J;qˉ)≤i∈J∑pij∈/Jminc(ωi,ωj).
Together with the lower bound this shows that qˉ is an optimal reweighting of the kept scenarios: every deleted scenario hands its probability to a nearest kept scenario.
Formalization Note The statement holds for every arg-min selector j(⋅), not a particular one. The selector's values must be kept indices, because c(ωi,ωi)=0 would make i itself an arg-min over all indices. The complement of J is assumed nonempty (implicit on p. 501).
Preamble
import Mathlib
import Definitions.Def_ScenarioReduction_Redistribution_transportValue
open Finset
Formal statement
namespace ScenarioReduction.Redistribution
theorem qbar_upper_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) (jsel : Fin N → Fin N)
(hsel : IsArgminSelector c ω J jsel) :
IsReducedWeight J (qbar p J jsel) ∧
transportValue c ω p J (qbar p J jsel) ≤ ∑ i ∈ J, p i * minOver Jᶜ (fun j => c (ω i) (ω j)) := 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, upper bound (definition of η̄ and q̄, and the display D(J; q̄) ≤ …)
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The data are:
- an arbitrary type Ω and N∈N;
- c:Ω×Ω→R;
- ω:[N]→Ω and p:[N]→R;
- J⊆[N];
- a map σ:[N]→[N].
The hypotheses are:
- c≥0;
- c(a,b)=0⟺a=b;
- c is symmetric;
- pi>0 for all i, and ∑ipi=1;
- Jc=∅;
- σ is an arg-min selector for J: for every i∈J, σ(i)∈/J and c(ωi,ωσ(i))≤c(ωi,ωj) for all j∈/J. Nothing is required of σ outside J.
Define
qˉj=pj+i∈J, σ(i)=j∑pi(j∈[N]).
The theorem asserts both of the following:
- qˉ is a reduced weight for J: qˉj≥0 for j∈/J and ∑j∈/Jqˉj=1.
- The transport value is bounded above:
D(J;qˉ)≤i∈J∑pij∈/Jminc(ωi,ωj).
Here D(J;qˉ) is the infimum of ∑i∈[N]∑j∈/Jc(ωi,ωj)ηij over matrices η with:
- ηij≥0 for j∈/J;
- ∑j∈/Jηij=pi for every i;
- ∑iηij=qˉj for every j∈/J.
It is 0 if no such η exists.
Degenerate cases:
- N=0. The statement is vacuous.
- J=∅. Then σ is unconstrained and qˉ=p. The claims become "p is a reduced weight for ∅" and D(∅;p)≤0.
- J=[N]. This is excluded by Jc=∅.
View graph
Confirmed by the moderator at approval.