Fenchel–Young inequality
ProvedConvexOptimization.fenchel_youngFenchel's inequality (also called the Fenchel–Young inequality).
For let be its Fenchel conjugate, with values in . Then for all ,
The inequality holds for every function — no convexity, continuity or measurability is needed — since it is nothing but the definition of the supremum applied at the point . Equality holds exactly when is a subgradient of at , which is how the inequality is used to characterize the solutions of dual pairs of problems.
Specialized to on , whose conjugate is with , it becomes Young's inequality , and hence — after integration — Hölder's inequality.
Formalization Note The inequality is stated in EReal, adding the real value (coerced) to the EReal-valued conjugate, so the case needs no separate treatment. Source: B&V §3.3.1, p. 94.
import Mathlib import Definitions.Def_fenchelConjugate open scoped RealInnerProductSpace ENNReal open MeasureTheory
theorem ConvexOptimization.fenchel_young {n : ℕ} (f : EuclideanSpace ℝ (Fin n) → ℝ)
(x y : EuclideanSpace ℝ (Fin n)) :
((⟪x, y⟫ : ℝ) : EReal) ≤ (f x : EReal) + fenchelConjugate f y := by
sorry
Read-back
What the Lean code literally says, in plain math · claude-fable-5
Theorem statement. For every , every total function — no convexity, continuity, or any other hypothesis — and every pair of points , the inequality holds in the extended reals, where is the file's fenchelConjugate: taken in , a value in . The left side is the finite real coerced into the extended reals; the right side is extended-real addition of the finite and , which equals whenever (making the inequality automatic in that case). The particular choice inside the supremum already gives the term , so the statement's content is exactly this one-term lower bound on the supremum.
Confirmed by the mission captain (proposal self-audit).