Cost first variation for a needle at a continuity time
ProvedBertsekasDP.needle_cost_first_variationConsider the fixed-horizon problem with continuously differentiable data , cost
and Hamiltonian . Let be an admissible pair starting at the prescribed initial state: takes values in the arbitrary constraint set , has bounded image and is continuous off a finite set; is continuous and satisfies the state equation off a finite set. Suppose is continuous and satisfies the adjoint equation off a finite set, with terminal value .
Fix a continuity time of and any . Set
There is a family of state trajectories for which is admissible for every sufficiently small positive , and
The assertion is a sensitivity formula for an arbitrary admissible pair; optimality is not assumed. No convexity or compactness of , global Lipschitz bound on , or one-sided control limits at exceptional times are required.
Formalization Note Admissibility of the perturbed family is an eventual statement as tends to zero through positive values; values at other parameters are unrestricted.
import Definitions.Def_BertsekasCTModel open Filter open scoped Topology
theorem BertsekasDP.needle_cost_first_variation
{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)
(u : ℝ → EuclideanSpace ℝ (Fin m))
(x p : ℝ → EuclideanSpace ℝ (Fin n))
(hadm : BertsekasCTAdmissibleFrom M 0 M.x0 u x)
(hp : ContinuousOn p (Set.Icc 0 M.T))
(hterm : p M.T = gradient M.h (x M.T))
(F : Finset ℝ)
(hadj : ∀ t ∈ Set.Icc 0 M.T \ (F : Set ℝ),
HasDerivAt p
(-gradient (fun y => BertsekasHamiltonian M y (u t) (p t)) (x t)) t)
(τ : ℝ) (hτ : τ ∈ Set.Ioo 0 M.T) (huτ : ContinuousAt u τ)
(v : EuclideanSpace ℝ (Fin m)) (hv : v ∈ M.U) :
∃ xε : ℝ → ℝ → EuclideanSpace ℝ (Fin n),
(∀ᶠ ε in 𝓝[>] (0 : ℝ),
BertsekasCTAdmissibleFrom M 0 M.x0
(fun s => if s ∈ Set.Ioc (τ - ε) τ then v else u s) (xε ε)) ∧
Tendsto
(fun ε =>
(BertsekasCTCostFrom M 0
(fun s => if s ∈ Set.Ioc (τ - ε) τ then v else u s) (xε ε) -
BertsekasCTCostFrom M 0 u x) / ε)
(𝓝[>] (0 : ℝ))
(𝓝 (BertsekasHamiltonian M (x τ) v (p τ) -
BertsekasHamiltonian M (x τ) (u τ) (p τ))) := by
sorry