One-step lookahead performance bound (Prop. 6.3.1)
ProvedBertsekasDP.one_step_lookahead_boundProposition 6.3.1 (performance bound for one-step lookahead policies). In the basic stochastic model, let be cost-to-go approximations with , let be restricted control sets, and let be a one-step lookahead policy: attains
Assume the key condition (Eq. (6.20)) that this lookahead value never exceeds the approximation it is built from:
Then the true cost-to-go of the policy satisfies
Two things follow. First, the policy is at least as good as the approximation on which it is based — and via Example 6.3.1, taking to be the cost-to-go of a given heuristic policy shows that rolling out any policy improves it, the stochastic counterpart of Prop. 6.4.2. Second, , which is computed anyway when the control is selected, is a readily available upper bound on the policy's true performance.
Formalization Note The minimization defining the policy ranges over the restricted set only, as in Eq. (6.19); the sets are required nonempty implicitly, since the policy selects from them. The conclusion is proved by backward induction and is stated for all , with the sharper first inequality asserted where .
import Mathlib import Definitions.Def_BertsekasDPModel
namespace BertsekasDP
theorem one_step_lookahead_bound {S C W : Type} [Fintype W]
(M : BertsekasDPModel S C W)
(Jt : ℕ → S → ℝ) (hJN : ∀ x, Jt M.N x = M.gN x)
(Ubar : ℕ → S → Finset C)
(hUsub : ∀ k x, Ubar k x ⊆ M.U k x)
(π : ℕ → S → C)
(hπmem : ∀ k x, π k x ∈ Ubar k x)
(hπmin : ∀ k, k < M.N → ∀ x, ∀ u ∈ Ubar k x,
∑ w, M.p k x (π k x) w *
(M.g k x (π k x) w + Jt (k + 1) (M.f k x (π k x) w)) ≤
∑ w, M.p k x u w * (M.g k x u w + Jt (k + 1) (M.f k x u w)))
(h620 : ∀ k, k < M.N → ∀ x,
∑ w, M.p k x (π k x) w *
(M.g k x (π k x) w + Jt (k + 1) (M.f k x (π k x) w)) ≤ Jt k x) :
∀ k, k ≤ M.N → ∀ x,
(k < M.N →
BertsekasDPPolicyCost M π (M.N - k) x ≤
∑ w, M.p k x (π k x) w *
(M.g k x (π k x) w + Jt (k + 1) (M.f k x (π k x) w))) ∧
BertsekasDPPolicyCost M π (M.N - k) x ≤ Jt k x := by sorry
end BertsekasDPRead-back
What the Lean code literally says, in plain math · claude-fable-5
This statement is about types with finite and a term of the imported, not-provided structure BertsekasDPModel; only the fields used are visible: horizon , terminal cost , weights , stage costs , transitions , and constraint sets , used here as finite sets of controls. It also refers to the imported, not-provided function BertsekasDPPolicyCost; write for its value on the model , a policy , a step count , and a state — its definition is invisible to this audit, so the theorem is read with opaque. Hypotheses:
- is any function ("lookahead approximation") with for all ;
- satisfies for all and all ;
- satisfies for all (including ) and all — so in particular every is forced nonempty, and hypotheses would be unsatisfiable if some were empty;
- (hπmin) for every , every , and every :
i.e. minimizes the one-step lookahead value (with cost-to-go ) over the restricted set — only over , not over ;
- (h620) for every and every , the same lookahead value of is .
The conclusion: for every and every state , the conjunction of
- if , then , and
- ,
where is natural subtraction (harmless here since ; at conjunct (1) is vacuous and (2) reads ). The proof is left as sorry.
Confirmed by the mission captain (proposal self-audit).