Pointwise Legendre First Variation
ProvedFunctionalInequalities.Analysis.hasDerivAt_legendre_add_smul_of_dualDifferentiable_readableThis is a pointwise first-variation formula for the Legendre transform under a bounded continuous perturbation.
Let be a finite-dimensional real inner-product space and let be a proper lower-semicontinuous potential. Let lie in the interior of the finite domain of , and assume is differentiable at . Let be continuous and assume is bounded above. Then the map
has derivative at equal to
Here denotes . No differentiability or global finiteness of is assumed.
Original Lean declaration header
Within namespace FunctionalInequalities.Analysis. Shown in its original module context. Proof omitted.
theorem hasDerivAt_legendre_add_smul_of_dualDifferentiable
{E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E]
[FiniteDimensional ℝ E]
(φ : E → EReal) (hφ : ProperPotential φ)
(hlsc : LowerSemicontinuous φ) (y : E)
(hy : y ∈ interior {q : E | legendre φ q ≠ ⊤})
(hd : DifferentiableAt ℝ (fun q => (legendre φ q).toReal) y)
(b : E → ℝ) (hb : Continuous b)
(hbounded : BddAbove (Set.range fun z : E => |b z|)) :
HasDerivAt
(fun t : ℝ =>
(legendre (fun z : E => φ z + ((t * b z : ℝ) : EReal)) y).toReal)
(-b (gradient (fun q => (legendre φ q).toReal) y)) 0
Module navigation
Module: Analysis/Convex/LegendreVariation/Derivative.
Definition modules: Analysis/Convex/Legendre.
Supporting theorems: exists_delta_nearMaximizer_norm_sub_gradient_lt, exists_legendre_maximizer_with_gradient_identity, legendre_bounded_perturbation_finite_curve.
Previous: exists_delta_nearMaximizer_norm_sub_gradient_lt.
Source excerpt, lines 245–257 · Frozen source 408915f.
import Definitions.Def_KLSModular_FunctionalInequalities_Analysis_Convex_LegendreVariation_Derivative set_option autoImplicit false set_option relaxedAutoImplicit false
theorem FunctionalInequalities.Analysis.hasDerivAt_legendre_add_smul_of_dualDifferentiable_readable
{E : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E]
[FiniteDimensional ℝ E]
(φ : E → EReal) (hφ : ProperPotential φ)
(hlsc : LowerSemicontinuous φ) (y : E)
(hy : y ∈ interior {q : E | legendre φ q ≠ ⊤})
(hd : DifferentiableAt ℝ (fun q => (legendre φ q).toReal) y)
(b : E → ℝ) (hb : Continuous b)
(hbounded : BddAbove (Set.range fun z : E => |b z|)) :
HasDerivAt
(fun t : ℝ =>
(legendre (fun z : E => φ z + ((t * b z : ℝ) : EReal)) y).toReal)
(-b (gradient (fun q => (legendre φ q).toReal) y)) 0 := by sorry