Repository navigation
feat: Lagrange duality for finitely many convex constraints under Slater's condition - #387
Merged
lmlexplore-automation[bot] merged 7 commits intoNov 14, 2026
Conversation
…ter's condition Co-Authored-By: Claude Code <noreply@github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RemyDegenne
commented
Nov 14, 2026
RemyDegenne
commented
Nov 14, 2026
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 |
…convex-like data Add `exists_iInf_eq_iInf_add_of_convexLike`, `iInf_eq_iSup_iInf_add_of_convexLike` and `isMinOn_iff_exists_isMinOn_add_sum_of_convexLike` in `LMLExplore`, for Fan convex-like data on any type, and derive the `ConvexOn` versions from them in one line each. Co-Authored-By: Claude Code <noreply@github.com>
Make the private `exists_fritzJohn` public as `LMLExplore.exists_ne_zero_forall_le_of_convexLike`, with nonnegative multipliers, no nonemptiness hypothesis, a docstring and a Main statements entry. Co-Authored-By: Claude Code <noreply@github.com>
Add `LMLExplore.isMinOn_of_isMinOn_add_sum`: a minimizer over `C` of a Lagrangian with complementary slackness minimizes the objective over the feasible set, with no convexity or constraint qualification. The `←` direction of the saddle point characterizations now uses it. Co-Authored-By: Claude Code <noreply@github.com>
RemyDegenne
commented
Nov 14, 2026
RemyDegenne
commented
Nov 14, 2026
…ity-slater-worker3 # Conflicts: # LMLExplore/Analysis/Convex/LagrangeDuality.lean
…t sufficiency lemma to IsMinOn Rename LMLExplore.isMinOn_of_isMinOn_add_sum_mul (new in this PR) to IsMinOn.of_add_sum_mul, factor the nonpositive-terms-with-nonnegative-sum argument into private lemmas used at both sites, and fix the docstring of exists_iInf_eq_iInf_add_of_convexLike. Co-Authored-By: Claude Code <noreply@github.com>
lmlexplore-automation
Bot
removed this pull request from the merge queue due to a manual request
Nov 14, 2026
Introduce `LMLExplore.JointlyConvexLikeOn` with `jointlyConvexLikeOn_iff`, use it in the five convex-like duality theorems, and make its introduction from convexity public as `ConvexOn.jointlyConvexLikeOn`. Move the general sum lemmas to `LMLExplore/Algebra/Order/BigOperators/Ring/Finset.lean` as the public `Finset.sum_mul_nonpos` and `Finset.mul_eq_zero_of_sum_mul_nonneg`, and replace the private `combo_lt_combo` by Mathlib's `convex_Iio`. Co-Authored-By: Claude Code <noreply@github.com>
Merged
via the queue into
LeanMachineLearning:main
with commit Nov 14, 2026
dca7685
23 of 27 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 extends the Lagrange duality file that #388 added to$\mathrm{KL}_{\inf}$ . #388 states the theorems for
main,LMLExplore/Analysis/Convex/LagrangeDuality.lean. It covers the EValues Layer 1.4 Lagrange duality bullet, which belongs to Nulls generated by constraints and the dual formula forConvexOn ℝfunctions on a vector space. This PR proves them for convex-like data in the sense of Fan [Fan53], on any type, and derives #388'sConvexOnstatements from those versions.Roadmap: EValues
Why the convex-like form is needed: the roadmap's consumer is the dual formula for$\mathrm{KL}_{\inf}$ (
iInf_klDiv_constraintNull_eqinSuggested.lean), whose≤direction applies Lagrange duality "on the probability measuresPwithklDiv Q P < ∞and theg iintegrable". Probability measures have no real scalar multiplication, soConvexOn ℝcannot even be stated for them.klDiv Q ·and the constraint integrals are, however, convex-like on mixtures. The theorems onmaindo not apply to this case.Added (in
LMLExploreunless stated):JointlyConvexLikeOn C F h:Fand theh iare jointly convex-like onC[Fan53], withjointlyConvexLikeOn_iffunfolding it andConvexOn.jointlyConvexLikeOn(rootConvexOnnamespace) deriving it from convexity. The convex-like theorems below take it as hypothesis.exists_ne_zero_forall_le_of_convexLike: Fritz John multipliers for convex-like data, with no constraint qualification.exists_forall_le_add_sum_mul_of_convexLike: under Slater's condition, every lower bound ofFon the feasible set is a lower bound of the Lagrangian onCfor someπ : ι → ℝ≥0, for convex-like data.exists_iInf_eq_iInf_add_of_convexLike: strong duality inERealwith an attained dual optimum, with no boundedness hypothesis (both sides are⊥whenFis unbounded below on the feasible set).iInf_eq_iSup_iInf_add_of_convexLike: strong duality inEReal, for convex-like data.IsMinOn.of_add_sum_mul(rootIsMinOnnamespace, for dot notation on the Lagrangian-minimizer hypothesis): sufficiency of the saddle-point condition, with no hypothesis at all.isMinOn_iff_exists_isMinOn_add_sum_mul_of_convexLike: the saddle-point (KKT) characterization of minimizers, with complementary slackness.Added in the new file
LMLExplore/Algebra/Order/BigOperators/Ring/Finset.lean, as general infrastructure used by the duality proofs:Finset.sum_mul_nonpos(a sum of products of nonnegative and nonpositive terms is nonpositive) andFinset.mul_eq_zero_of_sum_mul_nonneg(such products with a nonnegative sum all vanish, i.e. complementary slackness). Neither exists in Mathlib at the pinned version.Changed declarations from
main, with the same names and statements:LMLExplore.exists_forall_le_add_sum_mul_of_slater,LMLExplore.exists_iInf_eq_iInf_add_of_slater,LMLExplore.iInf_eq_iSup_iInf_add_of_slaterandIsMinOn.exists_mul_eq_zero_and_isMinOn_add_sum_mul_of_slater. They are now derived from the convex-like theorems. Their domain assumption is generalized from[AddCommGroup V] [Module ℝ V]to[AddCommMonoid X] [SMul ℝ X], the assumptions ofConvexOnitself.LMLExplore.iSup_iInf_add_le_iInf(weak duality) is unchanged and is used by the new proofs. The file keeps one separation argument, the convex-like one inOption ι → ℝ. #388'sConvexOn-specific private separation lemmas (isOpen_setOf_exists_lt,convex_setOf_exists_lt,exists_strongDual_le_of_slater) are removed because they duplicated it.LinearMap.prod_pi_apply_eq_sum_univinLMLExplore/LinearAlgebra/Pi.leanstays onmainuntouched; this file no longer imports it.Removed or renamed public declarations on
main: none.The proof separates
(m, 0)from the open convex set of points ofOption ι → ℝthat lie strictly above(F x, h · x)for somex ∈ C, usinggeometric_hahn_banach_open_point. This gives the Fritz John multipliers. Slater's condition then makes the coefficient of the objective nonzero.I searched the pinned Mathlib, Tau Ceti, LML, Statlib and
LMLExplore/for Lagrangian, Slater, KKT, Fritz John, duality and multiplier. Apart from #388'sConvexOntheorems, which this PR now derives, there is no Lagrange duality or KKT theorem. Mathlib'sAnalysis/Calculus/LagrangeMultipliers.leancovers the differentiable, equality-constrained local case. No Mathlib PR material is vendored. The informal sources, Luenberger, Fan, and Boyd–Vandenberghe (cited by #388), are cited in the file.Local checks (not CI), at 1b6b1e6:
scope: scoped: against 85118f1a081b539f64a455ca0dc7059bec5f4479;lake buildpassed (Build completed successfully (8569 jobs).);local-axioms: checked 2 changed module(s), 37 declaration(s); 0 violation(s); module-system, header-style and environment lint all passed.🤖 Generated with Claude Code