Eqs. (28) and (23), pp. 785–786 — the worst-case cost of a stationary policy solves the robust evaluation equation
ProvedRobustMDP.Discounted.worstCase_policy_evalFix an initial state and a stationary control policy . The equation
has exactly one solution , and the worst-case discounted cost of over stationary policies of nature is
In the paper this value is the optimum of the nonlinear program (28), obtained from (26) by letting nature's matrices become variables; (23) is its characterization.
Formalization Note The paper writes . The row sets need not be closed, so the supremum need not be attained, and it is stated as a least upper bound (IsLUB) of the set of costs , .
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
namespace RobustMDP.Discounted
/-- Problem (28) and equation (23) (Nilim–El Ghaoui 2005, pp. 785–786). For every stationary
controller policy `π = (𝐚, 𝐚, …)`, the equation (23)
`v^π(i) = c(i, 𝐚(i)) + ν σ_{𝒫_i^{𝐚(i)}}(v^π)`, `i ∈ 𝒳`, has exactly one solution `v^π ∈ ℝⁿ`,
and the worst-case discounted cost `φ_∞(π, 𝒯_s) = sup_{P ∈ 𝒯_s} C_∞(π, P)` from the initial
state `i₀` equals `v^π(i₀)`. The supremum over the (generally infinite) set `𝒯_s` is stated as a
least upper bound, since it need not be attained. -/
theorem worstCase_policy_eval {n : ℕ} {A : Type} (M : Model n A) (i₀ : Fin n)
(π : StationaryPolicy n A) :
∃ vπ : Fin n → ℝ,
M.policyOp π vπ = vπ ∧ (∀ w, M.policyOp π w = w → w = vπ) ∧
IsLUB (Set.range fun P : M.StationaryNature => M.discountedCost i₀ π P) (vπ i₀) := by sorry
end RobustMDP.Discounted
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The inputs are any model (with arbitrary, not required to be finite), an initial state , and a stationary policy . The statement asserts that there exists with three properties:
- . Written out:
where is an externally defined quantity not shown here. 2. Every with equals . 3. is the least upper bound of .
Here is the discounted cost from . Property 3 means two things:
- for every nature policy ;
- no smaller number is an upper bound.
It does not assert that some attains the value. The set of nature policies is nonempty because every row set is nonempty.
Degenerate cases:
- : no exists, so the statement is vacuous.
- : the claim becomes , and the supremum of the constant equals it.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.