Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 4.2 — exactness of nonsmooth penalty functions with slopes above the Lagrange multipliers

Open
ShorNonsmooth.Decomposition.nonsmooth_penalty_exact

by mikedeng1 · Oct 1, 2026 · Mathlib 0df444a (Lean v4.33.1)

convex-optimizationlagrangian-dualityp2o-batch-b23ap2o-gran-per-chapterp2o-plan-bookp2o-v1penalty-function

Let f0,f1,…,fmf_0, f_1, \dots, f_mf0​,f1​,…,fm​ be convex functions on ENE_NEN​ and consider the convex program (4.178) min⁡f0(x)\min f_0(x)minf0​(x) s.t. fi(x)≤0f_i(x) \le 0fi​(x)≤0. Let p1,…,pmp_1,\dots,p_mp1​,…,pm​ be convex functions on R\mathbb{R}R with pi(t)=0p_i(t) = 0pi​(t)=0 for t≤0t \le 0t≤0 and pi(t)>0p_i(t) > 0pi​(t)>0 for t>0t > 0t>0, let

ci=lim⁡t→0+pi(t)t,c_i = \lim_{t \to 0+} \frac{p_i(t)}{t},ci​=t→0+lim​tpi​(t)​,

and let x∗x^*x∗ minimize the penalized function S(x)=f0(x)+∑i=1mpi[fi(x)]S(x) = f_0(x) + \sum_{i=1}^m p_i[f_i(x)]S(x)=f0​(x)+∑i=1m​pi​[fi​(x)] over all xxx. Then:

  1. if x∗x^*x∗ is a solution of (4.178), there is a Lagrange multiplier vector yˉ\bar yyˉ​ of (4.178) with ci≥yˉic_i \ge \bar y_ici​≥yˉ​i​ for all iii;
  2. if yˉ\bar yyˉ​ is a Lagrange multiplier vector of (4.178) and ci>yˉic_i > \bar y_ici​>yˉ​i​ for all iii, then the set of minimum points of (4.178) equals the set of minimum points of SSS.

Part 2 is the exact-penalty principle: with slopes cic_ici​ above the multipliers, e.g. pi(t)=cit+p_i(t) = c_i t^+pi​(t)=ci​t+, one minimization of the nonsmooth function SSS replaces the constrained problem.

Formalization Note The book's "where yˉ\bar yyˉ​ is a Lagrange multiplier vector" is read existentially in part 1: the reading "for every multiplier vector" is false when multipliers are not unique (duplicate constraints give a counterexample). A multiplier vector is yˉ≥0\bar y \ge 0yˉ​≥0 with f0+∑yˉifi≥f∗f_0 + \sum \bar y_i f_i \ge f^*f0​+∑yˉ​i​fi​≥f∗ everywhere, f∗f^*f∗ the finite optimal value. The limit cic_ici​ is supplied as a hypothesis (it exists for every such pip_ipi​).

Preamble
import Mathlib
import Definitions.Def_ShorNonsmooth_Decomposition_PenaltyDual
Formal statement
namespace ShorNonsmooth.Decomposition

open Filter Topology

/-- Shor (1985), **Theorem 4.2** (p. 147), for the convex program (4.178) `min f₀(x)` s.t. `f_i(x) ≤ 0` and
the penalized function (4.179) `S(x) = f₀(x) + Σ p_i[f_i(x)]` with nonsmooth penalty functions `p_i`
(convex, `0` on `t ≤ 0`, positive on `t > 0`), `c_i = lim_{t→0+} p_i(t)/t`, and a point `x*` minimizing
`S` over all `x` (standing assumption, p. 146):

1. (necessity) if `x*` is a solution of (4.178), then `c_i ≥ ȳ_i` for all `i` for some Lagrange
   multiplier vector `ȳ` of (4.178);
2. if `ȳ` is a Lagrange multiplier vector of (4.178) with `c_i > ȳ_i` for all `i`, then the sets of
   minimum points of (4.178) and of `S` are equal.

The book's "a Lagrange multiplier vector" is read existentially in (1) (the universal reading is false
when the multiplier is not unique). -/
theorem nonsmooth_penalty_exact {N m : ℕ}
    (f₀ : EuclideanSpace ℝ (Fin N) → ℝ) (f : Fin m → EuclideanSpace ℝ (Fin N) → ℝ)
    (hf₀ : ConvexOn ℝ Set.univ f₀) (hf : ∀ i, ConvexOn ℝ Set.univ (f i))
    (p : Fin m → ℝ → ℝ) (hp : ∀ i, IsPenaltyFunction (p i))
    (c : Fin m → ℝ) (hc : ∀ i, Tendsto (fun t => p i t / t) (𝓝[>] 0) (𝓝 (c i)))
    (xstar : EuclideanSpace ℝ (Fin N)) (hxstar : ∀ x, penalized f₀ f p xstar ≤ penalized f₀ f p x) :
    (xstar ∈ solutionSet f₀ f →
        ∃ ybar : Fin m → ℝ, IsLagrangeMultiplierVector f₀ f ybar ∧ ∀ i, ybar i ≤ c i) ∧
      ∀ ybar : Fin m → ℝ, IsLagrangeMultiplierVector f₀ f ybar → (∀ i, ybar i < c i) →
        solutionSet f₀ f = {x | ∀ x', penalized f₀ f p x ≤ penalized f₀ f p x'} := by sorry

end ShorNonsmooth.Decomposition
Source
Shor, Minimization Methods for Non-Differentiable Functions, Springer 1985, p. 147, Theorem 4.2 (setting p. 146, formulas (4.178)–(4.179))
Human review
  • Endorsed by Shuze Chen · Oct 2, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 2, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me