Pontryagin Minimum Principle (Prop. 3.3.1)
ProvedBertsekasDP.pontryagin_minimum_principleProposition 3.3.1 (Pontryagin Minimum Principle). Consider the continuous-time problem of minimizing subject to , and , with , and continuously differentiable. Let be an optimal admissible control trajectory and the corresponding state trajectory. Then there is an adjoint trajectory , continuous on , satisfying the adjoint equation and its terminal condition
such that the control minimizes the Hamiltonian pointwise,
and the Hamiltonian is constant along the optimal trajectory,
for some constant . Here .
The Minimum Principle converts an optimization over a function space into a two-point boundary value problem in ordinary differential equations — the basis of shooting methods and of every bang-bang analysis. Its conditions are necessary, not sufficient: a trajectory satisfying them need not be optimal, and further argument (existence plus uniqueness of the candidate, or convexity) is needed to conclude optimality.
Formalization Note The three conditions hold off a common finite exceptional set, which is where the piecewise continuous control switches; this is the precise reading of the source's "for all " in the presence of switching. Constancy of the Hamiltonian uses time-independence of and , as the source notes it may fail otherwise. Uniqueness of is not asserted, and the terminal condition fixes the cost multiplier at , so no abnormal multiplier appears.
import Mathlib import Definitions.Def_BertsekasCTModel
namespace BertsekasDP
theorem pontryagin_minimum_principle {n m : ℕ} (M : BertsekasCTModel n m)
(hf : ContDiff ℝ 1 (Function.uncurry M.f))
(hg : ContDiff ℝ 1 (Function.uncurry M.g))
(hh : ContDiff ℝ 1 M.h)
(ustar : ℝ → EuclideanSpace ℝ (Fin m))
(xstar : ℝ → EuclideanSpace ℝ (Fin n))
(hadm : BertsekasCTAdmissibleFrom M 0 M.x0 ustar xstar)
(hopt : ∀ u x, BertsekasCTAdmissibleFrom M 0 M.x0 u x →
BertsekasCTCostFrom M 0 ustar xstar ≤ BertsekasCTCostFrom M 0 u x) :
∃ (p : ℝ → EuclideanSpace ℝ (Fin n)) (F : Finset ℝ) (c : ℝ),
ContinuousOn p (Set.Icc 0 M.T) ∧
p M.T = gradient M.h (xstar M.T) ∧
(∀ t ∈ Set.Icc 0 M.T \ (F : Set ℝ),
HasDerivAt p
(-gradient (fun y => BertsekasHamiltonian M y (ustar t) (p t)) (xstar t))
t) ∧
(∀ t ∈ Set.Icc 0 M.T \ (F : Set ℝ),
IsMinOn (fun u => BertsekasHamiltonian M (xstar t) u (p t)) M.U (ustar t)) ∧
(∀ t ∈ Set.Icc 0 M.T \ (F : Set ℝ),
BertsekasHamiltonian M (xstar t) (ustar t) (p t) = c) := by sorry
end BertsekasDPRead-back
What the Lean code literally says, in plain math · claude-fable-5
Fix (implicit) and a model of type (so ). Assume:
- and are jointly in the pair , and is ;
- , with and , is admissible from in this bundle's sense: for all ; the image is bounded and is continuous on minus some finite set; is continuous on with ; and there is a finite set off which, on , has two-sided derivative ;
- optimality: for every pair admissible from in the same sense,
i.e. (global optimality over all admissible pairs; recall each interval integral silently equals when its integrand is not integrable).
Conclusion. There exist a function (defined on all of ; unconstrained outside the conditions below), a single finite set shared by the three "off-" conditions below, and a constant , such that, writing for this bundle's Hamiltonian:
- is continuous on ;
- (Mathlib total gradient; well-defined classically since is );
- adjoint equation: for every , has the two-sided derivative
at — the gradient is taken in the state variable only, with the control frozen at and the costate frozen at ; being a two-sided derivative, at an endpoint or not excluded by this constrains outside as well; 4. minimum condition: for every , is a minimum point on of the map , i.e. for every :
(non-strict; this does not by itself assert , though admissibility separately gives for ); 5. constancy of the Hamiltonian: for every ,
All three pointwise conditions 3–5 are claimed only off the same finite exceptional set , which the existential quantifier lets be as large (but finite) as needed; nothing is claimed at points of or outside . The proof is sorry (stated, not proved).
Confirmed by the mission captain (proposal self-audit).