Repository navigation
feat: strict convexity from an injective derivative, and steepness of the inverse of the derivative - #322
Merged
lmlexplore-automation[bot] merged 1 commit intoNov 13, 2026
Conversation
… the inverse of the derivative Co-Authored-By: Claude Code <noreply@github.com>
Contributor
Author
AI review — approvedEach rubric is judged independently by multiple review agents; the PR merges only once every rubric is green — any rubric that is not green (changes requested, blocked, errored, stale, or not yet run) blocks the merge. See the rubrics.
♻️ = approved on an earlier commit, re-run before merge. Reviewing this diff at head |
Merged
via the queue into
LeanMachineLearning:main
with commit Nov 13, 2026
8422dcc
18 of 20 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR proves two general facts about the derivative of a convex function. Together they give two of the four properties in the last clause of [LS, Theorem 26.6], "$F^$ is Legendre". The target is the Bandits roadmap's Layer 6.1, "Legendre functions", which asks for [LS, Theorem 26.6] ("the gradient is a bijection between interiors with inverse $\nabla F^$, $D_F(x,y)=D_{F^}(\nabla F(y),\nabla F(x))$, and $F^$ is Legendre").
Roadmap: Bandits
How the conjugate's Legendre property will use them. Once surjectivity of
∇Fonto the interior of the domain ofF⋆is proved, the derivative ofF⋆atuis evaluation ath u, wherehis the inverse of∇F(#319'shasFDerivAt_toReal_fenchelConjugateOn).F⋆on the interior of its domain. This isConvexOn.strictConvexOn_of_injOnapplied toF⋆, whose derivativeu ↦ h uis injective.F⋆. This isConvexOn.tendsto_norm_comp_atTop_of_steepapplied toFandh:‖∇F⋆ u‖ = ‖h u‖ → ∞at the frontier of the interior of the domain ofF⋆. The steepness hypothesis is stated in the filter form of feat: Legendre functions, their constrained minimizers and Bregman projections [LS, §26.4–26.6] #289'sIsLegendre(‖f' y‖ → ∞along𝓝[s] xforx ∈ frontier s).Neither statement uses
IsLegendre(#289),fenchelConjugateOn(#319) or the coercivity lemmas (#321), so this PR does not depend on any open PR. After this PR, Layer 6.1 still needs three things: the surjectivity of∇F(from #321's bounded tilted sublevel sets and #289's Corollary 26.8), the assembly ofIsLegendreforF⋆from #319 and this PR, and the merge of #289 itself.LMLExplore/Analysis/Convex/FDeriv.lean(new, 209 lines):Convex.strictConvexOn_of_hasSubgradientWithinAt: suppose a function has a subgradient (LML'sHasSubgradientWithinAt) on a convex setsat every point ofs, and no linear form is a subgradient at two distinct points. Then the function is strictly convex ons. The proof: iffwere affine on a segment, the subgradient at an inner point of the segment would also be a subgradient at its ends.StrictConvexOn.eq_of_hasSubgradientWithinAt: the converse. This is Tau Ceti'sStrictConvexOn.eq_of_mem_subdifferential, restated for LML's subgradients on a set;mainhas no bridge between the two predicates.StrictConvexOn.injOn_of_hasFDerivWithinAt,ConvexOn.strictConvexOn_of_injOnandConvexOn.strictConvexOn_iff_injOn: a convex function with derivativesf'on an open set is strictly convex there if and only iff'is injective. The forward direction needs only derivatives withins, andsneed not be open.ConvexOn.tendsto_norm_atTop_of_steep: letfbe convex on an open setsof a proper space, with steep derivatives, and letbbe a linear form that is not a derivative at a point ofs. Then‖x‖ → ∞alongcomap f' (𝓝 b) ⊓ 𝓟 s. The proof takes a cluster point by compactness. In the interior, the subgradient inequalities pass to the limit and makebthe derivative. At the frontier, steepness contradictsf' → b.ConvexOn.tendsto_norm_comp_atTop_of_steep: the same for a right inversehoff'on a sett:‖h u‖ → ∞asu → bwithint.I searched for overlap. Mathlib proves strict convexity from a strictly monotone derivative only on
ℝ(StrictMonoOn.strictConvexOn_of_deriv), and Mathlib, Tau Ceti and LML have no strict-convexity criterion through an injective Fréchet derivative or subgradient. Nothing in them concerns steepness. No Mathlib infrastructure was vendored.Sources: R. T. Rockafellar, Convex Analysis, Theorems 26.3 and 26.5, and T. Lattimore and Cs. Szepesvári, Bandit Algorithms, Section 26.4 and Theorem 26.6. Both are cited in the file.
🤖 Prepared with Claude Code