Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Step (d), p. 787 — nominal stationarity (Puterman 1994): ϕN(Π,τ)→ϕ∞(Πs,τ)\phi_N(\Pi,\tau)\to\phi_\infty(\Pi_s,\tau)ϕN​(Π,τ)→ϕ∞​(Πs​,τ) for stationary τ\tauτ

Proved
RobustMDP.Stationarity.nominal_stationarity

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

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

Fix a robust discounted MDP with discount factor 0<ν<10<\nu<10<ν<1 (finite states, finite nonempty action set, costs c≥0c\ge0c≥0, nonempty rectangular row sets in the simplex) and a stationary nature policy τ∈Ts\tau\in\mathcal T_sτ∈Ts​, that is, fixed transition matrices (Pa)a(P^a)_{a}(Pa)a​ with rows Pa(i,⋅)∈PiaP^a(i,\cdot)\in\mathcal P_i^aPa(i,⋅)∈Pia​ used at every stage. Then the nominal finite-horizon optimal values converge to the nominal infinite-horizon optimal value over stationary policies:

ϕN(Π,τ):=inf⁡π∈ΠCN(π,τ) →N→∞ ϕ∞(Πs,τ):=inf⁡π∈ΠsC∞(π,τ).\phi_N(\Pi,\tau):=\inf_{\pi\in\Pi}C_N(\pi,\tau)\ \xrightarrow[N\to\infty]{}\ \phi_\infty(\Pi_s,\tau):=\inf_{\pi\in\Pi_s}C_\infty(\pi,\tau).ϕN​(Π,τ):=π∈Πinf​CN​(π,τ) N→∞​ ϕ∞​(Πs​,τ):=π∈Πs​inf​C∞​(π,τ).

The paper imports this from the classical theory of discounted MDPs (Puterman 1994) and uses it in Step (d) of the proof of Theorem 4.

Preamble
import Mathlib
import Definitions.Def_RobustMDP_Stationarity_Model
Formal statement
namespace RobustMDP.Stationarity

/-- Nilim–El Ghaoui 2005, p. 787, Step (d), the nominal fact cited to Puterman (1994): for every
stationary nature policy `τ = (P, P, …) ∈ 𝒯_s`, `φ_N(Π, τ) = inf_{π ∈ Π} C_N(π, τ)` converges,
as `N → ∞`, to `φ_∞(Π_s, τ) = inf_{π ∈ Π_s} C_∞(π, τ)`. -/
theorem nominal_stationarity {n : ℕ} {A : Type} [Fintype A] [Nonempty A]
    (M : Model n A) (ν : ℝ) (hν₀ : 0 < ν) (hν₁ : ν < 1) (i₀ : Fin n) (P : M.Choice) :
    Filter.Tendsto (fun N : ℕ => ⨅ π : Policy n A, M.finiteCost ν i₀ N π (fun _ => P))
      Filter.atTop
      (nhds (⨅ π : Fin n → A, M.infCost ν i₀ (fun _ => π) (fun _ => P))) := by sorry

end RobustMDP.Stationarity
Source
Nilim and El Ghaoui, Robust Control of Markov Decision Processes with Uncertain Transition Matrices, Oper. Res. 53 (2005), p. 787, proof of Theorem 4, Step (d), citing Puterman (1994)
Read-back

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

Setting. Let n∈Nn\in\mathbb Nn∈N with states {0,…,n−1}\{0,\dots,n-1\}{0,…,n−1}, and let AAA be a finite, nonempty action set. The model gives:

  • costs c(i,a)≥0c(i,a)\ge0c(i,a)≥0;
  • nonempty sets Pia\mathcal P_i^aPia​ of probability vectors on the states.

Let 0<ν<10<\nu<10<ν<1 and let i0i_0i0​ be an initial state. Fix one choice of nature P=(Pa)a∈AP=(P^a)_{a\in A}P=(Pa)a∈A​, a family of n×nn\times nn×n matrices with rows Pa(i,⋅)∈PiaP^a(i,\cdot)\in\mathcal P_i^aPa(i,⋅)∈Pia​. It is used at every time step.

  • A controller policy π=(πt)t∈N\pi=(\pi_t)_{t\in\mathbb N}π=(πt​)t∈N​ is a sequence of maps from states to actions.
  • A stationary controller is a single map σ\sigmaσ used at every time.

The state distribution is μ0=ei0\mu_0=e_{i_0}μ0​=ei0​​, μt+1(j)=∑iμt(i)Pπt(i)(i,j)\mu_{t+1}(j)=\sum_i\mu_t(i)P^{\pi_t(i)}(i,j)μt+1​(j)=∑i​μt​(i)Pπt​(i)(i,j). The costs are

CN(π)=∑t=0N−1νt∑iμt(i)c(i,πt(i)),C_N(\pi)=\sum_{t=0}^{N-1}\nu^t\sum_i\mu_t(i)c(i,\pi_t(i)),CN​(π)=t=0∑N−1​νti∑​μt​(i)c(i,πt​(i)),

and C∞(σ)=∑t≥0νt∑iμt(i)c(i,σ(i))C_\infty(\sigma)=\sum_{t\ge0}\nu^t\sum_i\mu_t(i)c(i,\sigma(i))C∞​(σ)=∑t≥0​νt∑i​μt​(i)c(i,σ(i)) for stationary σ\sigmaσ, which is summable here.

Claim. As N→∞N\to\inftyN→∞,

inf⁡πCN(π)  ⟶  inf⁡σC∞(σ).\inf_{\pi}C_N(\pi)\;\longrightarrow\;\inf_{\sigma}C_\infty(\sigma).πinf​CN​(π)⟶σinf​C∞​(σ).

The left infimum is over all (possibly time-varying) controller policies. The right infimum is over all maps σ\sigmaσ from states to actions, used stationarily. The only uncertainty-related input is the fixed PPP; the sets Pia\mathcal P_i^aPia​ matter only in that PPP's rows lie in them.

Degenerate cases.

  • n=0n=0n=0: no initial state exists, so the statement is vacuous.
  • N=0N=0N=0: the left-hand side is 000, which does not affect a limit statement.
  • Real conventions: all costs are nonnegative and bounded, and all index sets are nonempty, so the conventions for empty or unbounded-below real infima do not arise.
  • One action: both sides involve a single policy, and the claim reduces to CN→C∞C_N\to C_\inftyCN​→C∞​ for that policy.
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