Proposition 11 — J_∞ = J* iff projection and intersection commute: conditions (66) and (68)
ProvedMonotoneDP.Increase.prop11_convergence_characterizationLet be a monotone model satisfying Assumptions I, I.1 and I.2, with , , and as in the mission's definitions (all intersections are over ).
(a) Each of and holds if and only if
(b) The conjunction ", and for each the infimum in is attained" holds if and only if
Equivalently, and there exists an optimal stationary policy if and only if (68) holds.
Convergence of the dynamic programming algorithm, which amounts to interchanging a limit and an infimum over policies, is thereby equivalent to interchanging projection and intersection of the sets .
Formalization Note The page's parentheticals are rendered as follows. "(equivalently )" is Proposition 10, and appears as the second equivalence in (a) and in the last sentence of (b). "(equivalently there exists an optimal stationary policy)" is equivalent to attainment in (67) only together with (the paper itself cites an example with an optimal stationary policy and ), so it is stated jointly with and never as an equivalence of (68) with the bare existence of an optimal stationary policy.
import Mathlib import Definitions.Def_MonotoneDP_Increase_Model import Definitions.Def_MonotoneDP_Increase_Assumptions import Definitions.Def_MonotoneDP_Increase_Epigraph
namespace MonotoneDP.Increase
/-- Bertsekas (1977), p. 458, Proposition 11: under I, I.1 and I.2,
(a) `J_∞ = T(J_∞)` (equivalently `J_∞ = J*`) iff
`\overline{P(⋂_{k≥1} C_k)} = ⋂_{k≥1} \overline{P(C_k)}` (eq. (66));
(b) `J_∞ = T(J_∞)` and the infimum in `J_∞(x) = inf_{u ∈ U(x)} H(x, u, J_∞)` (eq. (67)) is
attained for each `x` iff `P(⋂_{k≥1} C_k) = ⋂_{k≥1} \overline{P(C_k)}` (eq. (68)); equivalently,
`J_∞ = J*` and there exists an optimal stationary policy iff (68). -/
theorem prop11_convergence_characterization {S C : Type*} (m : Model S C)
(hI : m.AssumptionI) (hI1 : m.AssumptionI1) (hI2 : ∃ α : ℝ, m.AssumptionI2 α) :
((m.Jinf = m.T m.Jinf ↔
Pbar (m.P (⋂ k ≥ 1, m.Ck k)) = ⋂ k ≥ 1, Pbar (m.P (m.Ck k))) ∧
(m.Jinf = m.Jstar ↔
Pbar (m.P (⋂ k ≥ 1, m.Ck k)) = ⋂ k ≥ 1, Pbar (m.P (m.Ck k)))) ∧
(((m.Jinf = m.T m.Jinf ∧
∀ x : S, ∃ u ∈ m.U x, m.H x u m.Jinf = ⨅ v ∈ m.U x, m.H x v m.Jinf) ↔
m.P (⋂ k ≥ 1, m.Ck k) = ⋂ k ≥ 1, Pbar (m.P (m.Ck k))) ∧
((m.Jinf = m.Jstar ∧ ∃ μ : m.Selector, m.Jmu μ = m.Jstar) ↔
m.P (⋂ k ≥ 1, m.Ck k) = ⋂ k ≥ 1, Pbar (m.P (m.Ck k)))) := by sorry
end MonotoneDP.Increase
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.