Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Ch. 4 preamble and §§4.1, 4.5, pp. 297–305 — Bregman divergence, mirror maps, ρ-strong convexity and β-smoothness w.r.t. ‖·‖, Bregman projection, mirror prox

Definition
ConvexOptAlg_MirrorProx_Defs

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

bregman-divergenceconvex-optimizationmirror-descentmirror-proxp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-bookp2o-v1

This module fixes the objects of Chapter 4 that mirror prox uses. Throughout, EEE is a finite-dimensional real vector space carrying an arbitrary norm ∥⋅∥\|\cdot\|∥⋅∥ (the book's Rn\mathbb R^nRn with a fixed norm). Gradients are linear functionals on EEE: ∇f(x)⊤v\nabla f(x)^\top v∇f(x)⊤v is the value of the functional ∇f(x)\nabla f(x)∇f(x) at vvv, and the dual norm ∥g∥∗=sup⁡∥v∥≤1g⊤v\|g\|_* = \sup_{\|v\|\le 1} g^\top v∥g∥∗​=sup∥v∥≤1​g⊤v is the operator norm of ggg.

  1. Bregman divergence. For Φ\PhiΦ with gradient map ∇Φ\nabla\Phi∇Φ,
DΦ(x,y)=Φ(x)−Φ(y)−∇Φ(y)⊤(x−y).D_\Phi(x,y)=\Phi(x)-\Phi(y)-\nabla\Phi(y)^\top(x-y).DΦ​(x,y)=Φ(x)−Φ(y)−∇Φ(y)⊤(x−y).
  1. Mirror map. Let D⊆E\mathcal D\subseteq ED⊆E be a convex open set. A function Φ\PhiΦ is a mirror map on D\mathcal DD if (i) Φ\PhiΦ is strictly convex on D\mathcal DD and differentiable at every point of D\mathcal DD; (ii) its gradient takes all possible values: every linear functional equals ∇Φ(y)\nabla\Phi(y)∇Φ(y) for some y∈Dy\in\mathcal Dy∈D; (iii) its gradient diverges on the boundary: ∥∇Φ(x)∥∗→+∞\|\nabla\Phi(x)\|_*\to+\infty∥∇Φ(x)∥∗​→+∞ as x→zx\to zx→z inside D\mathcal DD, for every boundary point zzz of D\mathcal DD.
  2. Strong convexity w.r.t. ∥⋅∥\|\cdot\|∥⋅∥. Φ\PhiΦ is ρ\rhoρ-strongly convex on a set SSS if
Φ(x)−Φ(y)≤∇Φ(x)⊤(x−y)−ρ2∥x−y∥2for all x,y∈S.\Phi(x)-\Phi(y)\le\nabla\Phi(x)^\top(x-y)-\frac\rho2\|x-y\|^2\qquad\text{for all }x,y\in S .Φ(x)−Φ(y)≤∇Φ(x)⊤(x−y)−2ρ​∥x−y∥2for all x,y∈S.
  1. Smoothness w.r.t. ∥⋅∥\|\cdot\|∥⋅∥. fff is β\betaβ-smooth on X\mathcal XX if it has a gradient ∇f(x)\nabla f(x)∇f(x) at every x∈Xx\in\mathcal Xx∈X (relative to X\mathcal XX) and ∥∇f(x)−∇f(y)∥∗≤β∥x−y∥\|\nabla f(x)-\nabla f(y)\|_*\le\beta\|x-y\|∥∇f(x)−∇f(y)∥∗​≤β∥x−y∥ for all x,y∈Xx,y\in\mathcal Xx,y∈X.
  2. Bregman projection. zzz is a Bregman projection of yyy onto X\mathcal XX, i.e. z∈ΠXΦ(y)=argmin⁡x∈X∩DDΦ(x,y)z\in\Pi^\Phi_{\mathcal X}(y)=\operatorname{argmin}_{x\in\mathcal X\cap\mathcal D}D_\Phi(x,y)z∈ΠXΦ​(y)=argminx∈X∩D​DΦ​(x,y), if z∈X∩Dz\in\mathcal X\cap\mathcal Dz∈X∩D and DΦ(z,y)≤DΦ(w,y)D_\Phi(z,y)\le D_\Phi(w,y)DΦ​(z,y)≤DΦ​(w,y) for every w∈X∩Dw\in\mathcal X\cap\mathcal Dw∈X∩D.
  3. Mirror prox. Sequences (xt),(yt),(yt′),(xt′)(x_t),(y_t),(y'_t),(x'_t)(xt​),(yt​),(yt′​),(xt′​) form a run of mirror prox with step size η\etaη if x1∈X∩Dx_1\in\mathcal X\cap\mathcal Dx1​∈X∩D and, for every t≥1t\ge1t≥1, yt+1′,xt+1′∈Dy'_{t+1},x'_{t+1}\in\mathcal Dyt+1′​,xt+1′​∈D and
∇Φ(yt+1′)=∇Φ(xt)−η∇f(xt),yt+1∈argmin⁡x∈X∩DDΦ(x,yt+1′),\nabla\Phi(y'_{t+1})=\nabla\Phi(x_t)-\eta\nabla f(x_t),\qquad y_{t+1}\in\operatorname*{argmin}_{x\in\mathcal X\cap\mathcal D}D_\Phi(x,y'_{t+1}),∇Φ(yt+1′​)=∇Φ(xt​)−η∇f(xt​),yt+1​∈x∈X∩Dargmin​DΦ​(x,yt+1′​), ∇Φ(xt+1′)=∇Φ(xt)−η∇f(yt+1),xt+1∈argmin⁡x∈X∩DDΦ(x,xt+1′).\nabla\Phi(x'_{t+1})=\nabla\Phi(x_t)-\eta\nabla f(y_{t+1}),\qquad x_{t+1}\in\operatorname*{argmin}_{x\in\mathcal X\cap\mathcal D}D_\Phi(x,x'_{t+1}).∇Φ(xt+1′​)=∇Φ(xt​)−η∇f(yt+1​),xt+1​∈x∈X∩Dargmin​DΦ​(x,xt+1′​).

The algorithm first makes a mirror descent step from xtx_txt​ to yt+1y_{t+1}yt+1​, then a second step, again from xtx_txt​, with the gradient evaluated at yt+1y_{t+1}yt+1​. These are the objects of Lemma 4.1 and Theorem 4.4 of the book.

Formalization Note The gradient of Φ\PhiΦ is an explicit map Φ' with values in the continuous linear functionals E →L[ℝ] ℝ, and HasFDerivAt Φ (Φ' x) x for x∈Dx\in\mathcal Dx∈D; the gradient of fff is an explicit map f' with HasFDerivWithinAt f (f' x) X x for x∈Xx\in\mathcal Xx∈X (the book's fff is a function on X\mathcal XX). Property (iii) is stated as a limit along D\mathcal DD at each frontier point. The projection and the run are relations: every argmin choice is allowed, no choice function is used. The run does not fix x1x_1x1​ beyond x1∈X∩Dx_1\in\mathcal X\cap\mathcal Dx1​∈X∩D; theorems that need x1∈argmin⁡X∩DΦx_1\in\operatorname{argmin}_{\mathcal X\cap\mathcal D}\Phix1​∈argminX∩D​Φ assume it. The index 000 is unused. The conditions X⊆D‾\mathcal X\subseteq\overline{\mathcal D}X⊆D and X∩D≠∅\mathcal X\cap\mathcal D\ne\emptysetX∩D=∅ are hypotheses of each theorem.

Definition code
import Mathlib

namespace ConvexOptAlg.MirrorProx

open Filter Topology

/-- The Bregman divergence (Bubeck, arXiv:1405.4980v2, Ch. 4 preamble, p. 297):
`D_Φ(x, y) = Φ(x) − Φ(y) − ∇Φ(y)⊤(x − y)`. The gradient `∇Φ(y)` is the continuous linear functional
`Φ' y : E →L[ℝ] ℝ`, and `∇Φ(y)⊤v` is its value `Φ' y v`. -/
def bregman {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (Φ : E → ℝ) (Φ' : E → E →L[ℝ] ℝ) (x y : E) : ℝ :=
  Φ x - Φ y - Φ' y (x - y)

/-- `Φ` is a mirror map on the convex open set `D` with gradient map `Φ'`
(§4.1, p. 298): `D` is open and convex, and
(i) `Φ` is strictly convex on `D` and differentiable at every point of `D`, with derivative `Φ' x`;
(ii) the gradient takes all possible values, `∇Φ(D) = (ℝⁿ)*`: every continuous linear functional
is `Φ' y` for some `y ∈ D`;
(iii) the gradient diverges on the boundary of `D`: for every `z ∈ ∂D`,
`‖∇Φ(x)‖ → +∞` as `x → z` inside `D` (the norm of `∇Φ(x)` is the dual (operator) norm).
The set conditions `X ⊆ closure D` and `X ∩ D ≠ ∅` of §4.1 are separate hypotheses of each theorem. -/
def IsMirrorMap {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (D : Set E) (Φ : E → ℝ) (Φ' : E → E →L[ℝ] ℝ) : Prop :=
  IsOpen D ∧ Convex ℝ D ∧ StrictConvexOn ℝ D Φ ∧
    (∀ x ∈ D, HasFDerivAt Φ (Φ' x) x) ∧
    (∀ φ : E →L[ℝ] ℝ, ∃ y ∈ D, Φ' y = φ) ∧
    (∀ z ∈ frontier D, Tendsto (fun x => ‖Φ' x‖) (𝓝[D] z) atTop)

/-- `Φ` is `ρ`-strongly convex on the set `S` w.r.t. `‖·‖`, with gradient map `Φ'`
(Ch. 4 preamble (iii), p. 297, for a differentiable function, whose only subgradient is the
gradient): `Φ(x) − Φ(y) ≤ ∇Φ(x)⊤(x − y) − (ρ/2)‖x − y‖²` for all `x, y ∈ S`.
It is used with `S = X ∩ D`. -/
def IsStronglyConvexWRT {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (S : Set E) (Φ : E → ℝ) (Φ' : E → E →L[ℝ] ℝ) (ρ : ℝ) : Prop :=
  ∀ x ∈ S, ∀ y ∈ S, Φ x - Φ y ≤ Φ' x (x - y) - ρ / 2 * ‖x - y‖ ^ 2

/-- `f` is `β`-smooth on `X` w.r.t. `‖·‖`, with gradient map `f'` (Ch. 4 preamble (ii), p. 297):
`f' x` is the derivative of `f` at `x` within `X` for every `x ∈ X`, and
`‖∇f(x) − ∇f(y)‖∗ ≤ β‖x − y‖` for all `x, y ∈ X`, the dual norm `‖·‖∗` being the operator norm
on `E →L[ℝ] ℝ`. -/
def IsSmoothWRT {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (X : Set E) (f : E → ℝ) (f' : E → E →L[ℝ] ℝ) (β : ℝ) : Prop :=
  (∀ x ∈ X, HasFDerivWithinAt f (f' x) X x) ∧
    ∀ x ∈ X, ∀ y ∈ X, ‖f' x - f' y‖ ≤ β * ‖x - y‖

/-- `z` is a Bregman projection of `y` onto `X ∩ D`: `z ∈ X ∩ D` and `z` minimizes
`w ↦ D_Φ(w, y)` over `X ∩ D` (§4.1, p. 298: `Π^Φ_X(y) = argmin_{x ∈ X ∩ D} D_Φ(x, y)`). -/
def IsBregmanProj {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (X D : Set E) (Φ : E → ℝ) (Φ' : E → E →L[ℝ] ℝ) (y z : E) : Prop :=
  z ∈ X ∩ D ∧ ∀ w ∈ X ∩ D, bregman Φ Φ' z y ≤ bregman Φ Φ' w y

/-- The sequences `(x_t, y_t, y'_t, x'_t)` form a run of mirror prox with step size `η`
(§4.5, p. 305): `x₁ ∈ X ∩ D`, and for every `t ≥ 1`
* `y'_{t+1} ∈ D` and `∇Φ(y'_{t+1}) = ∇Φ(x_t) − η∇f(x_t)`;
* `y_{t+1} ∈ argmin_{x ∈ X ∩ D} D_Φ(x, y'_{t+1})`;
* `x'_{t+1} ∈ D` and `∇Φ(x'_{t+1}) = ∇Φ(x_t) − η∇f(y_{t+1})`;
* `x_{t+1} ∈ argmin_{x ∈ X ∩ D} D_Φ(x, x'_{t+1})`.
The gradients `∇f` are given by the map `f'`. Index `0` is unused. The choice of `x₁` is not
fixed here; theorems that need `x₁ ∈ argmin_{X ∩ D} Φ` assume it. -/
def IsMirrorProxRun {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    (X D : Set E) (Φ : E → ℝ) (Φ' : E → E →L[ℝ] ℝ) (f' : E → E →L[ℝ] ℝ) (η : ℝ)
    (x y y' x' : ℕ → E) : Prop :=
  x 1 ∈ X ∩ D ∧
    ∀ t : ℕ, 1 ≤ t →
      y' (t + 1) ∈ D ∧ Φ' (y' (t + 1)) = Φ' (x t) - η • f' (x t) ∧
      IsBregmanProj X D Φ Φ' (y' (t + 1)) (y (t + 1)) ∧
      x' (t + 1) ∈ D ∧ Φ' (x' (t + 1)) = Φ' (x t) - η • f' (y (t + 1)) ∧
      IsBregmanProj X D Φ Φ' (x' (t + 1)) (x (t + 1))

end ConvexOptAlg.MirrorProx
Source
Bubeck, arXiv:1405.4980v2, Ch. 4 preamble, p. 297 (dual norm, β-smooth (ii), α-strongly convex (iii), Bregman divergence); §4.1, p. 298 (mirror map (i)–(iii), Π^Φ_X); §4.5, p. 305 (mirror prox equations)

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