Eq. (15), p. 783 — the max–min value is given by recursion (7)
ProvedRobustMDP.FiniteHorizon.maxmin_recursionConsider a finite-horizon robust MDP with nonempty row sets and an initial state . The max–min value, in which nature commits to and the controller then chooses a policy,
equals , where is computed by the robust recursion (7): and .
This is the paper's problem (15), a nonlinear program in the value functions and the transition matrices, solved by Lemma 1 thanks to rectangularity. Together with weak duality and recursion (10) it gives the perfect duality of Theorem 1.
Formalization Note is finite and nonempty, so the inner minimum is Lean's ⨅ π. The paper's "max" over nature is a supremum, since the row sets need not be closed; it is stated as a least upper bound (IsLUB).
import Mathlib import Definitions.Def_RobustMDP_Shared_supportFunction import Definitions.Def_RobustMDP_FiniteHorizon_Model import Definitions.Def_RobustMDP_FiniteHorizon_expectedCost import Definitions.Def_RobustMDP_FiniteHorizon_robustValue
namespace RobustMDP.FiniteHorizon
/-- Problem (15), p. 783, solved by recursion (7). The max–min value
`ψ_N(Π, 𝒯) = sup_{τ ∈ 𝒯} min_{π ∈ Π} C_N(π, τ)` (nature moves first, the controller responds
with a deterministic Markov policy) equals the value `v_0(i₀)` of the robust recursion
`v_t(i) = min_{a ∈ 𝒜} (c_t(i, a) + σ_{𝒫_i^a}(v_{t+1}))`, `v_N = c_N`. The minimum over the
finite nonempty set `Π` is `⨅ π`; the paper's "max" over nature is stated as a least upper
bound, since the row sets need not be closed. -/
theorem maxmin_recursion {n N : ℕ} {A : Type} [Fintype A] [Nonempty A]
(M : Model n N A) (i₀ : Fin n) :
IsLUB (Set.range fun τ : M.NaturePolicy => ⨅ π : ControlPolicy n N A, M.expectedCost i₀ π τ.1)
(M.robustValue 0 i₀) := by sorry
end RobustMDP.FiniteHorizon
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Hypotheses. Let be a finite, nonempty set of actions. Let be a model with states and stages, with stage costs , terminal cost , and nonempty row sets . Fix an initial state .
Conclusion. The number is the least upper bound of the set
The objects in this statement are:
- Nature policy : its rows satisfy , chosen independently for each stage , action and state .
- The inner minimum: it ranges over all deterministic Markov control policies , meaning all functions from pairs (stage, state) to . It is written as a real infimum, but it is a genuine minimum because this set of policies is finite and nonempty. The policy is chosen after, and with knowledge of, the entire .
- Expected cost : as defined earlier, with the point mass at and .
- Value : and , where is the imported, unshown
Shared.supportFunction.
"Least upper bound" means bounds every member of the set, and no smaller number does. It need not be attained by any .
Degenerate cases.
- : there is exactly one policy and one nature policy. The set is and .
- : there is no , so the statement has no instances.
- with one element: there is a single control policy, and the statement reduces to a worst case over nature alone.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.