Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Example 1: an RVRP(P\mathcal PP)-feasible route set violates an RCI of 2VF(P\mathcal PP)

Proved
DRCVRP.RCI.example1_rvrp_feasible_not_twoIndexFlow

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

counterexamplep2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1value-at-riskvehicle-routing

Consider the instance of Example 1: n=2n=2n=2 customers, m=2m=2m=2 vehicles of capacity Q=1Q=1Q=1, risk level ϵ=0.1\epsilon=0.1ϵ=0.1, and the ambiguity set P\mathcal PP of all distributions on R2\mathbb R^2R2 under which each customer's demand is 111 with probability 0.9250.9250.925 and 222 with probability 0.0750.0750.075. Let R=(R1,R2)\mathbf R=(\mathbf R_1,\mathbf R_2)R=(R1​,R2​) with R1=(1)\mathbf R_1=(1)R1​=(1), R2=(2)\mathbf R_2=(2)R2​=(2), and let P⋆\mathbb P^\starP⋆ be the distribution of Example 1. Then:

  1. R\mathbf RR is feasible in RVRP(P\mathcal PP);
  2. P⋆∈P\mathbb P^\star\in\mathcal PP⋆∈P and P⋆-VaR1−ϵ[q~1+q~2]=3\mathbb P^\star\text{-VaR}_{1-\epsilon}[\tilde q_1+\tilde q_2]=3P⋆-VaR1−ϵ​[q~​1​+q~​2​]=3;
dP({1,2})≥3;d_{\mathcal P}(\{1,2\})\ge 3;dP​({1,2})≥3;
  1. the arc vector induced by R\mathbf RR via (3) is infeasible in 2VF(P\mathcal PP).

Hence RVRP(P\mathcal PP) and 2VF(P\mathcal PP) are not equivalent on this instance: some hypothesis beyond the definition of dPd_{\mathcal P}dP​ is needed for Theorem 1.

Formalization Note Customers are 0-based: the route set is ![[0], [1]] and {1,2}\{1,2\}{1,2} is {0, 1}. The level 1−ϵ1-\epsilon1−ϵ is written 1 - 0.1.

Preamble
import Mathlib
import Definitions.Def_MultistageStochastic_RiskFunctional
import Definitions.Def_DRCVRP_RCI_RouteSet
import Definitions.Def_DRCVRP_RCI_DemandEstimator
import Definitions.Def_DRCVRP_RCI_Formulations
import Definitions.Def_DRCVRP_RCI_Example1

open MeasureTheory
Formal statement
namespace DRCVRP.RCI

/-- Example 1, §3, p. 721: with `n = 2` customers, `m = 2` vehicles, `Q = 1`, `ε = 0.1` and the
ambiguity set of Example 1, the route set `R_1 = (1)`, `R_2 = (2)` is feasible in RVRP(𝒫); the
distribution `ℙ⋆` belongs to 𝒫 and has `ℙ⋆-VaR_{1-ε}[q̃_1 + q̃_2] = 3`; `d_𝒫({1,2}) ≥ 3`; and the
flow induced by `R` is infeasible in 2VF(𝒫). Customers are 0-based (`0, 1 : Fin 2`). -/
theorem example1_rvrp_feasible_not_twoIndexFlow :
    RVRPFeasible example1AmbiguitySet 0.1 1 (![[0], [1]] : Fin 2 → List (Fin 2)) ∧
    example1PStar ∈ example1AmbiguitySet ∧
    MultistageStochastic.valueAtRisk example1PStar (fun q => q 0 + q 1) (1 - 0.1) = 3 ∧
    3 ≤ demandEstimator example1AmbiguitySet 0.1 1 {0, 1} ∧
    ¬ TwoIndexFeasible example1AmbiguitySet 0.1 1 2
      (inducedFlow (![[0], [1]] : Fin 2 → List (Fin 2))) := by sorry

end DRCVRP.RCI
Source
Ghosal and Wiesemann, The Distributionally Robust Chance-Constrained Vehicle Routing Problem, Oper. Res. 68(3) (2020) 716–732, §3, p. 721, Example 1
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

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