Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 6.2, p. 24, corrected — the fully adaptive Frank-Wolfe algorithm converges linearly at rate max{1 − δ/2, 1 − (1 − √(1 − δ))²αε/(4β̄)}

Proved
WassMMSE.FW.theorem_6_2

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

conditional-gradientconvex-optimizationfrank-wolfelinear-convergencep2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1

Linear convergence of the fully adaptive Frank-Wolfe algorithm.

Let S=×k=1KS[k]⊆Rd1×⋯×RdK\mathcal S=\times_{k=1}^K\mathcal S^{[k]}\subseteq\mathbb R^{d_1}\times\dots\times\mathbb R^{d_K}S=×k=1K​S[k]⊆Rd1​×⋯×RdK​ be a product of convex compact sets, let fff be convex on S\mathcal SS and differentiable at its points, with optimal value f⋆=min⁡s∈Sf(s)f^\star=\min_{s\in\mathcal S}f(s)f⋆=mins∈S​f(s), and let FFF be an inexact oracle with precision δ∈[0,1]\delta\in[0,1]δ∈[0,1]:

(F(s)−s)⊤∇f(s)≤δmin⁡z∈S(z−s)⊤∇f(s)∀s∈S.(F(s)-s)^\top\nabla f(s)\le\delta\min_{z\in\mathcal S}(z-s)^\top\nabla f(s)\qquad\forall s\in\mathcal S.(F(s)−s)⊤∇f(s)≤δz∈Smin​(z−s)⊤∇f(s)∀s∈S.

Suppose Assumption 6.1 holds:

  1. fff is β\betaβ-smooth on S\mathcal SS for some β>0\beta>0β>0;
  2. the marginal feasible sets are α\alphaα-strongly convex with respect to fff for some α>0\alpha>0α>0;
  3. fff is ε\varepsilonε-steep on S\mathcal SS for some ε>0\varepsilon>0ε>0.

Let (st,βt,ηt)t≥0(s_t,\beta_t,\eta_t)_{t\ge0}(st​,βt​,ηt​)t≥0​ be a run of Algorithm 1 with inputs s0∈Ss_0\in\mathcal Ss0​∈S, β−1>0\beta_{-1}>0β−1​>0, τ>1\tau>1τ>1, ζ>1\zeta>1ζ>1, and let βˉ=max⁡{τβ,β−1}\bar\beta=\max\{\tau\beta,\beta_{-1}\}βˉ​=max{τβ,β−1​}. Then

f(st)−f⋆≤max⁡{1−δ2, 1−(1−1−δ)2αε4βˉ}t (f(s0)−f⋆)∀t≥0.f(s_t)-f^\star\le\max\Big\{1-\frac{\delta}{2},\ 1-\frac{\big(1-\sqrt{1-\delta}\big)^2\alpha\varepsilon}{4\bar\beta}\Big\}^t\,\big(f(s_0)-f^\star\big)\qquad\forall t\ge0 .f(st​)−f⋆≤max{1−2δ​, 1−4βˉ​(1−1−δ​)2αε​}t(f(s0​)−f⋆)∀t≥0.

The rate depends only on the oracle precision and the regularity constants, not on the unknown smoothness parameter actually used by the line search; the algorithm never needs β\betaβ.

Formalization Note The paper prints the second term of the maximum as 1−(1−1−δ)αε/(4βˉ)1-(1-\sqrt{1-\delta})\alpha\varepsilon/(4\bar\beta)1−(1−1−δ​)αε/(4βˉ​), without the square. That version is false for δ∈(0,1)\delta\in(0,1)δ∈(0,1): with K=1K=1K=1, S\mathcal SS the unit disk in R2\mathbb R^2R2, f(s)=s2f(s)=s_2f(s)=s2​ (β=α=ε=1\beta=\alpha=\varepsilon=1β=α=ε=1, f⋆=−1f^\star=-1f⋆=−1), s0=(1,0)s_0=(1,0)s0​=(1,0), δ=0.19\delta=0.19δ=0.19, τ=ζ=2\tau=\zeta=2τ=ζ=2, β−1=100\beta_{-1}=100β−1​=100 (so βˉ=100\bar\beta=100βˉ​=100) and the oracle value F(s0)=(−1−δ2,−δ)F(s_0)=(-\sqrt{1-\delta^2},-\delta)F(s0​)=(−1−δ2​,−δ), which satisfies (6.2) with equality, the first step accepts β0=50\beta_0=50β0​=50 and gives f(s1)−f⋆≈0.999818f(s_1)-f^\star\approx0.999818f(s1​)−f⋆≈0.999818, above the printed bound 0.999750.999750.99975 and below the corrected bound 0.9999750.9999750.999975. The error comes from Lemma 6.3 (ii), where substituting θ⋆=(1−1−δ)/δ\theta^\star=(1-\sqrt{1-\delta})/\deltaθ⋆=(1−1−δ​)/δ into (6.8) drops a square. At δ=1\delta=1δ=1 (exact oracle) the printed and corrected rates coincide. The statement holds for every t≥0t\ge0t≥0, including the trivial t=0t=0t=0. fff is assumed differentiable at the points of S\mathcal SS as a function on the ambient space, and convex on S\mathcal SS only. In (6.2) the minimum is written as "≤δ(z−s)⊤∇f(s)\le\delta(z-s)^\top\nabla f(s)≤δ(z−s)⊤∇f(s) for all z∈Sz\in\mathcal Sz∈S", which is equivalent on the compact set S\mathcal SS. At dt=0d_t=0dt​=0, where the page's stepsize is undefined, Lean's 0/0=00/0=00/0=0 gives ηt=0\eta_t=0ηt​=0.

Preamble
import Mathlib
import Definitions.Def_WassMMSE_FW_Setting
Formal statement
namespace WassMMSE.FW

open scoped RealInnerProductSpace

/-- Theorem 6.2, p. 24 (linear convergence of the fully adaptive Frank-Wolfe algorithm), **with the
corrected constant**: if Assumption 6.1 holds and `β̄ = max{τβ, β_{−1}}`, then every run of
Algorithm 1 satisfies
`f(s_t) − f⋆ ≤ max{1 − δ/2, 1 − (1 − √(1 − δ))² αε/(4β̄)}^t (f(s₀) − f⋆)` for all `t`.
The page prints `(1 − √(1 − δ))` without the square, which is false for `δ ∈ (0, 1)`; the two
agree at `δ = 1`. -/
theorem theorem_6_2
    {K : ℕ} {d : Fin K → ℕ} {S : Set (BlockSpace K d)}
    {Sk : (k : Fin K) → Set (EuclideanSpace ℝ (Fin (d k)))}
    {f : BlockSpace K d → ℝ} {F : BlockSpace K d → BlockSpace K d} {δ : ℝ}
    (hS : IsBlockFeasibleSet S Sk) (hf : IsConvexDiffObjective S f)
    (hF : IsInexactOracle S f F δ)
    {β α ε : ℝ} (hβ : IsSmoothOn S f β) (hα : IsStronglyConvexWrt S Sk f α) (hε : IsSteep S f ε)
    {fstar : ℝ} (hfstar : IsLeast (f '' S) fstar)
    {βm1 τ ζ : ℝ} {s : ℕ → BlockSpace K d} {βt ηt : ℕ → ℝ}
    (hrun : IsFAFWRun S f F βm1 τ ζ s βt ηt) :
    ∀ t : ℕ, f (s t) - fstar
      ≤ (max (1 - δ / 2) (1 - (1 - Real.sqrt (1 - δ)) ^ 2 * α * ε / (4 * max (τ * β) βm1))) ^ t
          * (f (s 0) - fstar) := by sorry

end WassMMSE.FW
Source
Nguyen, Shafieezadeh-Abadeh, Kuhn & Mohajerin Esfahani, arXiv:1911.03539v2, p. 24, Theorem 6.2 (constant corrected; see Formalization Note)
Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 10, 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