Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Eqs. (27) and (19), pp. 785–786 — the max–min value ψ∞(Πs,Ts)\psi_\infty(\Pi_s, \mathcal T_s)ψ∞​(Πs​,Ts​) solves the robust Bellman equation

Proved
RobustMDP.Discounted.maxmin_value

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

dynamic-programmingmarkov-decision-processp2o-batch-p100bp2o-gran-per-chapterp2o-plan-paperp2o-v1robust-optimization

Fix an initial state i0i_0i0​. The robust Bellman equation

v(i)=min⁡a∈A(c(i,a)+ν σPia(v)),i∈X,(19)v(i) = \min_{a \in \mathcal A} \big(c(i, a) + \nu\, \sigma_{\mathcal P_i^a}(v)\big), \qquad i \in \mathcal X, \tag{19}v(i)=a∈Amin​(c(i,a)+νσPia​​(v)),i∈X,(19)

has exactly one solution v∈Rnv \in \mathbb R^nv∈Rn, and the max–min value of the game between nature and the controller over stationary policies is

ψ∞(Πs,Ts)=sup⁡τ∈Tsmin⁡π∈ΠsC∞(π,τ)=v(i0).\psi_\infty(\Pi_s, \mathcal T_s) = \sup_{\tau \in \mathcal T_s} \min_{\pi \in \Pi_s} C_\infty(\pi, \tau) = v(i_0).ψ∞​(Πs​,Ts​)=τ∈Ts​sup​π∈Πs​min​C∞​(π,τ)=v(i0​).

In the paper this value is the optimum of the nonlinear program (27), obtained from the linear program (25) of the nominal problem by letting nature's matrices become variables.

Formalization Note The minimum over the finite set Πs\Pi_sΠs​ is ⨅. The paper writes max⁡τ\max_{\tau}maxτ​; the row sets need not be closed, so the outer supremum is stated as a least upper bound (IsLUB).

Preamble
import Mathlib
import Definitions.Def_RobustMDP_Discounted_Model
import Definitions.Def_RobustMDP_Shared_supportFunction
import Definitions.Def_RobustMDP_Discounted_discountedCost
import Definitions.Def_RobustMDP_Discounted_bellmanOps
Formal statement
namespace RobustMDP.Discounted

/-- Problem (27) and equation (19) (Nilim–El Ghaoui 2005, pp. 785–786). The equation (19)
`v(i) = min_{a ∈ 𝒜} (c(i, a) + ν σ_{𝒫_i^a}(v))`, `i ∈ 𝒳`, has exactly one solution `v ∈ ℝⁿ`,
and the max–min value `ψ_∞(Π_s, 𝒯_s) = sup_{P ∈ 𝒯_s} min_{π ∈ Π_s} C_∞(π, P)` from the initial
state `i₀` equals `v(i₀)`. The inner minimum over the finite set `Π_s` is `⨅`; the outer supremum
over the (generally infinite) set `𝒯_s` is stated as a least upper bound. -/
theorem maxmin_value {n : ℕ} {A : Type} [Fintype A] [Nonempty A] (M : Model n A) (i₀ : Fin n) :
    ∃ v : Fin n → ℝ,
      M.bellmanOp v = v ∧ (∀ w, M.bellmanOp w = w → w = v) ∧
      IsLUB (Set.range fun P : M.StationaryNature =>
          ⨅ π : StationaryPolicy n A, M.discountedCost i₀ π P) (v i₀) := by sorry

end RobustMDP.Discounted
Source
Nilim and El Ghaoui, Robust Control of Markov Decision Processes with Uncertain Transition Matrices, Oper. Res. 53 (2005), p. 786, Eq. (27); p. 785, Theorem 3, Eq. (19)
Read-back

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

The inputs are a finite nonempty action type AAA, any model MMM, and an initial state i0i_0i0​. The statement asserts that there exists v∈Rnv \in \mathbb{R}^nv∈Rn with three properties:

  1. g(v)=vg(v) = vg(v)=v. Written out:
v(i)=min⁡a∈A(c(i,a)+ν σPia(v))for all i,v(i) = \min_{a\in A}\big(c(i,a) + \nu\,\sigma_{\mathcal{P}_i^a}(v)\big) \quad \text{for all } i,v(i)=a∈Amin​(c(i,a)+νσPia​​(v))for all i,

where σ\sigmaσ is an externally defined quantity not shown here. 2. Every www with g(w)=wg(w) = wg(w)=w equals vvv. 3. v(i0)v(i_0)v(i0​) is the least upper bound, over all stationary nature policies PPP of MMM, of the quantity

min⁡πC∞(π,P),\min_{\pi} C_\infty(\pi, P),πmin​C∞​(π,P),

the minimum of the discounted cost from i0i_0i0​ over all stationary policies π:{0,…,n−1}→A\pi : \{0,\dots,n-1\}\to Aπ:{0,…,n−1}→A.

The inner infimum is over a finite nonempty set (there are ∣A∣n≥1|A|^n \ge 1∣A∣n≥1 policies), so it is a genuine minimum. The outer value is a supremum: it is an upper bound of the set, and no smaller number is. It is not asserted to be attained by any PPP.

Degenerate cases:

  • n=0n = 0n=0: no i0i_0i0​ exists, so the statement is vacuous.
  • ν=0\nu = 0ν=0: the claim is v(i)=min⁡ac(i,a)v(i) = \min_a c(i,a)v(i)=mina​c(i,a), and v(i0)=min⁡πc(i0,π(i0))v(i_0) = \min_\pi c(i_0,\pi(i_0))v(i0​)=minπ​c(i0​,π(i0​)).
  • ∣A∣=1|A| = 1∣A∣=1: there is a single policy, and the claim reduces to a worst-case evaluation of that policy.
Human review
  • Endorsed by Shuze Chen · Sep 28, 2026

    Confirmed by the moderator at approval.

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