Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 3.2 — R-linearly convergent iterates eventually satisfy the nonmonotone condition (1.4)

Proved
NonmonotoneLS.RLinear.eventual_sufficient_decrease

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

line-searchlinear-convergencenonmonotonep2o-batch-p100bp2o-gran-per-chapterp2o-plan-paperp2o-v1strong-convexity

Let f:Rn→Rf : \mathbb{R}^n \to \mathbb{R}f:Rn→R be continuously differentiable and let x∗x^*x∗ be a minimizer of fff. Let xkx_kxk​, dkd_kdk​, αk\alpha_kαk​ (k=0,1,…k = 0, 1, \dotsk=0,1,…) be any sequences with xk+1=xk+αkdkx_{k+1} = x_k + \alpha_k d_kxk+1​=xk​+αk​dk​ (not necessarily a run of the algorithm), and write gk=∇f(xk)g_k = \nabla f(x_k)gk​=∇f(xk​). Assume:

  1. f(xk)f(x_k)f(xk​) converges R-linearly to f(x∗)f(x^*)f(x∗): there are θ∈(0,1)\theta \in (0, 1)θ∈(0,1) and ccc with f(xk)−f(x∗)≤c θkf(x_k) - f(x^*) \le c\,\theta^kf(xk​)−f(x∗)≤cθk for all kkk;
  2. the xkx_kxk​ lie in a closed, bounded, convex set KKK on which fff satisfies (3.1) with a constant γ>0\gamma > 0γ>0 (for all x,y∈Kx, y \in Kx,y∈K) and ∇f\nabla f∇f is Lipschitz continuous with constant LLL;
  3. the direction assumption holds: there are c1,c2>0c_1, c_2 > 0c1​,c2​>0 with gkTdk≤−c1∥gk∥2g_k^{\mathsf T} d_k \le -c_1\|g_k\|^2gkT​dk​≤−c1​∥gk​∥2 and ∥dk∥≤c2∥gk∥\|d_k\| \le c_2\|g_k\|∥dk​∥≤c2​∥gk​∥ for all sufficiently large kkk;
  4. 0<αk≤μ0 < \alpha_k \le \mu0<αk​≤μ for all kkk;
  5. CkC_kCk​ is given by the recursion (1.6) with weights ηk∈[ηmin⁡,ηmax⁡]\eta_k \in [\eta_{\min}, \eta_{\max}]ηk​∈[ηmin​,ηmax​], 0≤ηmin⁡≤ηmax⁡≤10 \le \eta_{\min} \le \eta_{\max} \le 10≤ηmin​≤ηmax​≤1, and ηmin⁡>θ\eta_{\min} > \thetaηmin​>θ.

Then for every δ∈(0,1)\delta \in (0, 1)δ∈(0,1), condition (1.4),

f(xk+αkdk)≤Ck+δαkgkTdk,f(x_k + \alpha_k d_k) \le C_k + \delta \alpha_k g_k^{\mathsf T} d_k,f(xk​+αk​dk​)≤Ck​+δαk​gkT​dk​,

holds for all sufficiently large kkk.

So with averaging weights close enough to 1, the sufficient-decrease test (1.4) of the nonmonotone line search is eventually passed by the steps of any R-linearly convergent descent method of this kind.

Formalization Note. The statement follows the page. δ\deltaδ is the parameter of (1.4), arbitrary in (0,1)(0,1)(0,1). The printed proof applies (3.1) and the Lipschitz bound with y=x∗y = x^*y=x∗, which need not lie in KKK; a cluster point of the xkx_kxk​ in the compact set KKK is also a minimizer and can take its place, so the statement is unaffected. The proof's limit Φ\PhiΦ of φk\varphi_kφk​ can likewise be replaced by a positive lower bound φk0\varphi_{k_0}φk0​​. If c≤0c \le 0c≤0 the hypothesis forces f(xk)=f(x∗)f(x_k) = f(x^*)f(xk​)=f(x∗) for all kkk.

Preamble
import Mathlib
import Definitions.Def_NonmonotoneLS_Shared_Params
import Definitions.Def_NonmonotoneLS_Shared_Cost
import Definitions.Def_NonmonotoneLS_Shared_Steps
import Definitions.Def_NonmonotoneLS_RLinear_Run
import Definitions.Def_NonmonotoneLS_RLinear_Regions
import Definitions.Def_NonmonotoneLS_RLinear_Constants

open scoped InnerProductSpace NNReal
open Filter
Formal statement
namespace NonmonotoneLS.RLinear

/-- Theorem 3.2 (p. 1051): let `x*` minimize `f` and let `x_{k+1} = x_k + α_k d_k` be any sequence
with `f(x_k) - f(x*) ≤ cθ^k`, `θ ∈ (0, 1)`, lying in a closed, bounded, convex set `K` on which
(3.1) holds with constant `γ` and `∇f` is `L`-Lipschitz, whose directions satisfy (2.4)–(2.5) for
all sufficiently large `k`, and whose steps satisfy `0 < α_k ≤ μ`. If `C_k` is given by (1.6) with
`η_k ∈ [η_min, η_max] ⊆ [0, 1]` and `η_min > θ`, then for every `δ ∈ (0, 1)` the condition (1.4),
`f(x_k + α_k d_k) ≤ C_k + δ α_k ∇f(x_k) d_k`, holds for all sufficiently large `k`. -/
theorem eventual_sufficient_decrease {n : ℕ} (f : EuclideanSpace ℝ (Fin n) → ℝ)
    (hf : ContDiff ℝ 1 f) (xstar : EuclideanSpace ℝ (Fin n)) (hmin : ∀ y, f xstar ≤ f y)
    (x d : ℕ → EuclideanSpace ℝ (Fin n)) (α η : ℕ → ℝ)
    (hupd : ∀ k, x (k + 1) = x k + α k • d k)
    (θ c : ℝ) (hθ0 : 0 < θ) (hθ1 : θ < 1) (hRlin : ∀ k, f (x k) - f xstar ≤ c * θ ^ k)
    (K : Set (EuclideanSpace ℝ (Fin n))) (hKc : IsClosed K) (hKb : Bornology.IsBounded K)
    (hKconv : Convex ℝ K) (hxK : ∀ k, x k ∈ K)
    (γ : ℝ) (hγ : 0 < γ)
    (hscK : ∀ u ∈ K, ∀ v ∈ K,
      f v + ⟪gradient f v, u - v⟫_ℝ + 1 / (2 * γ) * ‖u - v‖ ^ 2 ≤ f u)
    (L : ℝ≥0) (hLip : LipschitzOnWith L (gradient f) K)
    (hdir : ∃ c₁ c₂ : ℝ, 0 < c₁ ∧ 0 < c₂ ∧ ∀ᶠ k in atTop,
      ⟪gradient f (x k), d k⟫_ℝ ≤ -c₁ * ‖gradient f (x k)‖ ^ 2 ∧
        ‖d k‖ ≤ c₂ * ‖gradient f (x k)‖)
    (μ : ℝ) (hα : ∀ k, 0 < α k ∧ α k ≤ μ)
    (ηmin ηmax : ℝ) (hηmin0 : 0 ≤ ηmin) (hηle : ηmin ≤ ηmax) (hηmax1 : ηmax ≤ 1)
    (hη : ∀ k, η k ∈ Set.Icc ηmin ηmax) (hθη : θ < ηmin)
    (δ : ℝ) (hδ0 : 0 < δ) (hδ1 : δ < 1) :
    ∀ᶠ k in atTop,
      f (x k + α k • d k) ≤ Shared.costC f x η k + δ * α k * ⟪gradient f (x k), d k⟫_ℝ := by sorry

end NonmonotoneLS.RLinear
Source
Zhang, Hager, A Nonmonotone Line Search Technique and Its Application to Unconstrained Optimization, SIAM J. Optim. 14 (2004), p. 1051, Theorem 3.2
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Setting. n∈Nn\in\mathbb{N}n∈N, a C1C^1C1 function f:Rn→Rf:\mathbb{R}^n\to\mathbb{R}f:Rn→R with gradient ∇f\nabla f∇f, sequences (xk)(x_k)(xk​) and (dk)(d_k)(dk​) in Rn\mathbb{R}^nRn, and real sequences (αk)(\alpha_k)(αk​) and (ηk)(\eta_k)(ηk​). This theorem does not use a parameter bundle or a run. Instead it has the following hypotheses.

Hypotheses.

  1. x∗x^*x∗ is a global minimizer: f(x∗)≤f(y)f(x^*)\le f(y)f(x∗)≤f(y) for all yyy.
  2. xk+1=xk+αkdkx_{k+1}=x_k+\alpha_kd_kxk+1​=xk​+αk​dk​ for every kkk.
  3. There are reals θ\thetaθ and ccc with 0<θ<10<\theta<10<θ<1 and f(xk)−f(x∗)≤c θkf(x_k)-f(x^*)\le c\,\theta^kf(xk​)−f(x∗)≤cθk for every kkk. Since the left side is ≥0\ge0≥0 and θk>0\theta^k > 0θk>0, this forces c≥0c\ge0c≥0.
  4. K⊆RnK\subseteq\mathbb{R}^nK⊆Rn is closed, bounded and convex, and xk∈Kx_k\in Kxk​∈K for every kkk.
  5. γ>0\gamma>0γ>0, and for all u,v∈Ku,v\in Ku,v∈K:
f(v)+⟨∇f(v),u−v⟩+12γ∥u−v∥2≤f(u).f(v)+\langle\nabla f(v),u-v\rangle+\frac{1}{2\gamma}\|u-v\|^2\le f(u).f(v)+⟨∇f(v),u−v⟩+2γ1​∥u−v∥2≤f(u).
  1. L≥0L\ge0L≥0 is a nonnegative real. L=0L=0L=0 is not excluded. ∇f\nabla f∇f is LLL-Lipschitz on KKK.
  2. There exist c1>0c_1>0c1​>0 and c2>0c_2>0c2​>0 such that, for all sufficiently large kkk (not necessarily all kkk):
⟨∇f(xk),dk⟩≤−c1∥∇f(xk)∥2and∥dk∥≤c2∥∇f(xk)∥.\langle\nabla f(x_k),d_k\rangle\le -c_1\|\nabla f(x_k)\|^2\quad\text{and}\quad\|d_k\|\le c_2\|\nabla f(x_k)\|.⟨∇f(xk​),dk​⟩≤−c1​∥∇f(xk​)∥2and∥dk​∥≤c2​∥∇f(xk​)∥.
  1. μ\muμ is real with 0<αk≤μ0<\alpha_k\le\mu0<αk​≤μ for every kkk. This forces μ>0\mu>0μ>0.
  2. Reals ηmin⁡,ηmax⁡\eta_{\min},\eta_{\max}ηmin​,ηmax​ satisfy 0≤ηmin⁡≤ηmax⁡≤10\le\eta_{\min}\le\eta_{\max}\le10≤ηmin​≤ηmax​≤1, and ηk∈[ηmin⁡,ηmax⁡]\eta_k\in[\eta_{\min},\eta_{\max}]ηk​∈[ηmin​,ηmax​] for every kkk.
  3. θ<ηmin⁡\theta<\eta_{\min}θ<ηmin​. This forces ηmin⁡>0\eta_{\min}>0ηmin​>0.
  4. δ\deltaδ is real with 0<δ<10<\delta<10<δ<1.

Conclusion. For all sufficiently large kkk:

f(xk+αkdk)≤Ck+δ αk ⟨∇f(xk),dk⟩.f(x_k+\alpha_kd_k)\le C_k+\delta\,\alpha_k\,\langle\nabla f(x_k),d_k\rangle.f(xk​+αk​dk​)≤Ck​+δαk​⟨∇f(xk​),dk​⟩.

Here CkC_kCk​ is Shared.costC applied to fff, xxx, η\etaη and kkk. That definition is not shown here. By hypothesis 2, the left side equals f(xk+1)f(x_{k+1})f(xk+1​).

Degenerate cases:

  • ηmax⁡=1\eta_{\max}=1ηmax​=1 is permitted.
  • c=0c=0c=0 is permitted. Then every xkx_kxk​ is a minimizer.
  • For n=0n=0n=0, all points coincide and all gradients are 000. The conclusion then reads f(pt)≤Ckf(\text{pt})\le C_kf(pt)≤Ck​ for all large kkk, which depends on the unseen definition of CkC_kCk​.
  • If KKK is a single point, all xkx_kxk​ equal it. Hypothesis 7 then forces dk=0d_k=0dk​=0 eventually whenever the gradient there is 000.
Human review
  • Endorsed by Shuze Chen · Sep 28, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 28, 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