Adjoint pairing computes the first variation of the terminal cost
ProvedBertsekasDP.perturbed_terminal_cost_adjoint_limitConsider the fixed-horizon problem of BertsekasCTModel with data , an admissible pair on , and a costate that is continuous on , satisfies the terminal condition , and solves the adjoint equation
off a finite set of times.
Fix and let be a family of perturbed trajectories which, for all small , is continuous on and satisfies the same state equation with the same control off a finite set. Assume the initial deviation at has a first-order expansion,
Then the tail cost accumulated on has first variation given by the adjoint pairing at :
The mechanism is the classical pairing identity. Writing , the deviation obeys the variational equation up to a remainder that is uniformly in , because is and both trajectories remain in a compact tube; a Gronwall estimate gives on . Differentiating off the finite exceptional set and using the adjoint equation shows that its increment cancels the first-order running-cost increment , while the terminal condition converts the terminal-cost increment into . What survives is the pairing at the left endpoint, , whose -quotient converges to .
import Definitions.Def_BertsekasCTModel open Filter open scoped Topology
theorem BertsekasDP.perturbed_terminal_cost_adjoint_limit
{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)
(y : ℝ → ℝ → EuclideanSpace ℝ (Fin n))
(hy : ∀ᶠ ε in 𝓝[>] (0 : ℝ),
ContinuousOn (y ε) (Set.Icc τ M.T) ∧
∃ G : Finset ℝ, ∀ t ∈ Set.Icc τ M.T \ (G : Set ℝ),
HasDerivAt (y ε) (M.f (y ε t) (u t)) t)
(w : EuclideanSpace ℝ (Fin n))
(hlim : Tendsto (fun ε => ε⁻¹ • (y ε τ - x τ)) (𝓝[>] (0 : ℝ)) (𝓝 w)) :
Tendsto
(fun ε => ε⁻¹ * ((M.h (y ε M.T) + ∫ t in τ..M.T, M.g (y ε t) (u t)) -
(M.h (x M.T) + ∫ t in τ..M.T, M.g (x t) (u t))))
(𝓝[>] (0 : ℝ)) (𝓝 (inner ℝ (p τ) w)) := by
sorry