Theorem 6.2, p. 24, corrected — the fully adaptive Frank-Wolfe algorithm converges linearly at rate max{1 − δ/2, 1 − (1 − √(1 − δ))²αε/(4β̄)}
ProvedWassMMSE.FW.theorem_6_2Linear convergence of the fully adaptive Frank-Wolfe algorithm.
Let be a product of convex compact sets, let be convex on and differentiable at its points, with optimal value , and let be an inexact oracle with precision :
Suppose Assumption 6.1 holds:
- is -smooth on for some ;
- the marginal feasible sets are -strongly convex with respect to for some ;
- is -steep on for some .
Let be a run of Algorithm 1 with inputs , , , , and let . Then
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 .
Formalization Note The paper prints the second term of the maximum as , without the square. That version is false for : with , the unit disk in , (, ), , , , (so ) and the oracle value , which satisfies (6.2) with equality, the first step accepts and gives , above the printed bound and below the corrected bound . The error comes from Lemma 6.3 (ii), where substituting into (6.8) drops a square. At (exact oracle) the printed and corrected rates coincide. The statement holds for every , including the trivial . is assumed differentiable at the points of as a function on the ambient space, and convex on only. In (6.2) the minimum is written as " for all ", which is equivalent on the compact set . At , where the page's stepsize is undefined, Lean's gives .
import Mathlib import Definitions.Def_WassMMSE_FW_Setting
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
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.