Discrete-time Minimum Principle (Prop. 3.3.2)
ProvedBertsekasDP.discrete_minimum_principleProposition 3.3.2 (Discrete-Time Minimum Principle). Consider the deterministic discrete-time problem of minimizing
with all , and continuously differentiable and every constraint set convex. Suppose is optimal, with corresponding trajectory . Define the stage Hamiltonians and the adjoint sequence backward by
Then for every stage the variational inequality holds:
This is the discrete-time shadow of the Minimum Principle, and the natural warm-up target of this mission: it needs only finite-dimensional calculus, with no ODE theory, yet exhibits the same adjoint structure. Convexity of is what turns the first-order condition into a variational inequality over the whole constraint set; when it reduces to stationarity, .
Formalization Note The conclusion is a variational inequality, strictly weaker than the statement that minimizes over — the source derives the minimization form only under the additional convexity of in . Optimality is assumed against all feasible sequences with the same initial state. Gradients are Mathlib's, classical here since the data are ; with every claim is vacuous.
import Mathlib
namespace BertsekasDP
open scoped RealInnerProductSpace
theorem discrete_minimum_principle {n m N : ℕ}
(f : ℕ → EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin m) →
EuclideanSpace ℝ (Fin n))
(g : ℕ → EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin m) → ℝ)
(gN : EuclideanSpace ℝ (Fin n) → ℝ)
(U : ℕ → Set (EuclideanSpace ℝ (Fin m)))
(hUconv : ∀ k, Convex ℝ (U k))
(hf : ∀ k, ContDiff ℝ 1 (Function.uncurry (f k)))
(hg : ∀ k, ContDiff ℝ 1 (Function.uncurry (g k)))
(hgN : ContDiff ℝ 1 gN)
(x0 : EuclideanSpace ℝ (Fin n))
(ustar : ℕ → EuclideanSpace ℝ (Fin m))
(xstar : ℕ → EuclideanSpace ℝ (Fin n))
(hx0 : xstar 0 = x0)
(hdyn : ∀ k < N, xstar (k + 1) = f k (xstar k) (ustar k))
(humem : ∀ k < N, ustar k ∈ U k)
(hopt : ∀ (u : ℕ → EuclideanSpace ℝ (Fin m))
(x : ℕ → EuclideanSpace ℝ (Fin n)),
x 0 = x0 → (∀ k < N, x (k + 1) = f k (x k) (u k)) →
(∀ k < N, u k ∈ U k) →
gN (xstar N) + ∑ k ∈ Finset.range N, g k (xstar k) (ustar k) ≤
gN (x N) + ∑ k ∈ Finset.range N, g k (x k) (u k)) :
∃ p : ℕ → EuclideanSpace ℝ (Fin n),
p N = gradient gN (xstar N) ∧
(∀ k < N, p k =
gradient (fun y => g k y (ustar k) + ⟪p (k + 1), f k y (ustar k)⟫)
(xstar k)) ∧
(∀ k < N, ∀ u ∈ U k,
0 ≤ ⟪gradient
(fun v => g k (xstar k) v + ⟪p (k + 1), f k (xstar k) v⟫)
(ustar k),
u - ustar k⟫) := by sorry
end BertsekasDPRead-back
What the Lean code literally says, in plain math · claude-fable-5
Setting. Fix natural numbers (all implicit; is allowed). Given are:
- time-indexed dynamics and stage costs , defined for every (not only ), each assumed jointly as a function of the pair on the product space, for every ;
- a terminal cost (a separate function, written
gN; despite the name it is not at index ), assumed ; - control-constraint sets for every , each assumed convex (convexity only; a may be empty, though then the membership hypotheses below become unsatisfiable for when );
- an initial state , and candidate sequences , (defined for all indices, but constrained only as stated below).
Hypotheses on the candidate. ; for every , ; for every , . (Values for and for are unconstrained, except that is determined by the dynamics when .)
Optimality hypothesis. For every pair of sequences , satisfying (same initial state), for all , and for all , one has
This is a global comparison against all such sequences (a non-strict inequality); no local-optimality weakening is involved.
Conclusion. There exists a sequence (an adjoint/costate sequence; its values at indices other than those mentioned are entirely unconstrained) such that:
- ;
- for every :
i.e. equals the gradient, at , of the map (control frozen at , next costate frozen at ); 3. for every and every :
i.e. the gradient in the control variable of the same Hamiltonian-like expression, evaluated at with state frozen at , has nonnegative inner product with every feasible direction , (a variational-inequality / first-order stationarity condition, not a minimization claim).
Edge cases: when , all "" hypotheses and conclusions are vacuous, the optimality hypothesis is trivially true, and the conclusion reduces to the existence of some with , which is always satisfiable. The gradients above are Mathlib total gradients (junk value at non-differentiable points), though under the stated hypotheses the relevant maps are differentiable. The theorem's proof is sorry (it is stated, not proved).
Confirmed by the mission captain (proposal self-audit).