Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412

StrongConvexGradientConverse: mathematical reading route

Read the statements and derivations in source order. Every result has its own optional Lean statement and proof. Source assumptions, library reuse and unproved boundaries are kept explicit.

  1. Recover strong convexity from gradient separation
ASTIS mathematical exposition

Recover strong convexity from gradient separation

AutoSamplingTheory.TechnicalLemmas.Analysis.StrongConvexGradientConverse.strongConvexOn_of_gradient_inner_lower_bound · theorem · Teaching coverage

Statement

On a convex subset of a complete real inner-product space, a quantitative lower bound on differences of genuine gradients forces the matching strong-convexity chord inequality.

\[\langle g(y)-g(x),y-x\rangle\ge m\|y-x\|^2\quad\Longrightarrow\quad f((1-t)x+ty)\le(1-t)f(x)+tf(y)-\frac m2t(1-t)\|y-x\|^2.\]

All objects and hypotheses

  • E is a complete real inner-product space, s is a convex subset of E, f:E→ℝ, g:E→E and m∈ℝ.
  • At every z∈s, g(z) is a genuine ambient gradient: HasGradientAt f (g z) z. This includes boundary points, and implies the continuity needed at segment endpoints.
  • For every x,y∈s, the gradient difference paired with y−x is at least m‖y−x‖². The modulus may be positive, zero or negative.
  • The conclusion quantifies over all x,y∈s and t∈[0,1]. No extra continuity of g, Hessian, measurable representative, integrability, domination or measure assumption is used.

Mathematical proof

1. Stay on one segment

Fix x,y in the domain, put d=y−x and N=‖d‖². Convexity of the domain keeps the full segment inside s. Subtract a scalar quadratic along that segment.

\[p(t)=x+td\in s,\quad q(t)=f(p(t))-\frac m2t^2N,\quad 0\le t\le1.\]
Corresponding Lean step

Local p and q select this segment; hp uses Convex.add_smul_sub_mem.

2. Compute the genuine derivative

Apply the chain rule to f composed with the affine segment, then differentiate the quadratic. The ambient gradient hypothesis supplies differentiability even at the endpoints. Therefore q is continuous on [0,1] and differentiable on its interior.

\[q\prime(t)=\langle g(p(t)),d\rangle-mtN.\]
Corresponding Lean step

hq combines HasGradientAt.hasFDerivAt, HasFDerivAt.comp_hasDerivAt and derivatives of powers and scalar products.

3. Cancel only a positive scalar

For 0≤u<v≤1, the displacement is p(v)−p(u)=(v−u)d. Apply the gradient bound and divide by the positive parameter difference. Subtracting the quadratic derivative gives monotonicity of q′. Equal parameters require no division.

\[\langle g(p(v))-g(p(u)),d\rangle\ge m(v-u)\|d\|^2,\qquad q\prime(u)\le q\prime(v).\]
Corresponding Lean step

hdis rewrites the displacement. hscaled rewrites norm_smul using |v−u|²=(v−u)². le_of_mul_le_mul_left cancels v−u>0; hmon handles equality separately.

4. Use scalar convexity

The mean value theorem implies that a continuous scalar function with nondecreasing derivative is convex on the interval. All three hypotheses have been established, so the chord bound for q follows.

\[q(b)\le a\,q(0)+b\,q(1),\qquad a,b\ge0,\quad a+b=1.\]
Corresponding Lean step

hconv applies Mathlib MonotoneOn.convexOn_of_deriv. hq.deriv identifies the library derivative with the supplied q′. hchord evaluates the resulting ConvexOn inequality at 0 and 1.

5. Restore the quadratic correction

Expand q at the three parameters and use a=1−b. The difference between b and b² is ab, producing exactly the strong-convexity correction. Nothing here requires m≥0.

\[f(ax+by)\le af(x)+bf(y)-\frac m2\,ab\,\|x-y\|^2.\]
Corresponding Lean step

hpoint identifies ax+by with p(b). norm_sub_rev aligns norm conventions; substitution of a=1−b and ring arithmetic finish the inequality.

Lean statement · strongConvexOn_of_gradient_inner_lower_bound

Convex ℝ s and supplied HasGradientAt on s, together with the quantitative gradient bound for every ordered pair of domain points, imply StrongConvexOn s m f. The inherited CompleteSpace assumption is explicit.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

theorem strongConvexOn_of_gradient_inner_lower_bound
    {s : Set E} {f : E → ℝ} {m : ℝ} {grad : E → E}
    (hs : Convex ℝ s)
    (hgrad : ∀ z ∈ s, HasGradientAt f (grad z) z)
    (hmono : ∀ x ∈ s, ∀ y ∈ s,
      m * ‖y - x‖ ^ 2 ≤ inner ℝ (grad y - grad x) (y - x)) :
    StrongConvexOn s m f

Exact module and namespace context

Lean proof · strongConvexOn_of_gradient_inner_lower_bound

One segment-local quadratic correction reduces the target to Mathlib scalar derivative monotonicity. Equal segment parameters are separated before positive cancellation. The final chord bound uses the exact m/2 normalization.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

theorem strongConvexOn_of_gradient_inner_lower_bound
    {s : Set E} {f : E → ℝ} {m : ℝ} {grad : E → E}
    (hs : Convex ℝ s)
    (hgrad : ∀ z ∈ s, HasGradientAt f (grad z) z)
    (hmono : ∀ x ∈ s, ∀ y ∈ s,
      m * ‖y - x‖ ^ 2 ≤ inner ℝ (grad y - grad x) (y - x)) :
    StrongConvexOn s m f := by
  refine ⟨hs, ?_⟩
  intro x hx y hy a b ha hb hab
  let p : ℝ → E := fun t => x + t • (y - x)
  let q : ℝ → ℝ := fun t => f (p t) - m / 2 * t ^ 2 * ‖y - x‖ ^ 2
  let q' : ℝ → ℝ := fun t => inner ℝ (grad (p t)) (y - x) - m * t * ‖y - x‖ ^ 2
  have hp : ∀ t ∈ Icc (0 : ℝ) 1, p t ∈ s := by
    intro t ht
    exact hs.add_smul_sub_mem hx hy ht
  have hq : ∀ t ∈ Icc (0 : ℝ) 1, HasDerivAt q (q' t) t := by
    intro t ht
    have hline : HasDerivAt (fun u => f (p u))
        (inner ℝ (grad (p t)) (y - x)) t := by
      have hpderiv : HasDerivAt p (y - x) t := by
        simpa [p] using ((hasDerivAt_id t).smul_const (y - x)).const_add x
      convert! (hgrad (p t) (hp t ht)).hasFDerivAt.comp_hasDerivAt t hpderiv using 1
    have hquad := (((hasDerivAt_id t).pow 2).const_mul (m / 2)).mul_const (‖y - x‖ ^ 2)
    convert! hline.sub hquad using 1
    simp only [q', id_eq]
    ring
  have hmon : MonotoneOn q' (Icc (0 : ℝ) 1) := by
    intro u hu v hv huv
    rcases eq_or_lt_of_le huv with rfl | huv
    · exact le_rfl
    have h := hmono (p u) (hp u hu) (p v) (hp v hv)
    have hdis : p v - p u = (v - u) • (y - x) := by
      simp only [p, add_sub_add_left_eq_sub, sub_smul]
    rw [hdis, inner_smul_right, norm_smul, Real.norm_eq_abs, mul_pow, sq_abs] at h
    have hscaled : (v - u) * (m * (v - u) * ‖y - x‖ ^ 2) ≤
        (v - u) * inner ℝ (grad (p v) - grad (p u)) (y - x) := by
      nlinarith [h]
    have hbound := le_of_mul_le_mul_left hscaled (sub_pos.mpr huv)
    rw [inner_sub_left] at hbound
    dsimp [q']
    linarith
  have hconv : ConvexOn ℝ (Icc (0 : ℝ) 1) q := by
    apply MonotoneOn.convexOn_of_deriv (convex_Icc (0 : ℝ) 1)
      (fun t ht => (hq t ht).continuousAt.continuousWithinAt)
      (fun t ht => (hq t (interior_subset ht)).differentiableAt.differentiableWithinAt)
    intro u hu v hv huv
    rw [(hq u (interior_subset hu)).deriv, (hq v (interior_subset hv)).deriv]
    exact hmon (interior_subset hu) (interior_subset hv) huv
  have hchord := hconv.2 (show (0 : ℝ) ∈ Icc 0 1 by norm_num)
    (show (1 : ℝ) ∈ Icc 0 1 by norm_num) ha hb hab
  have hpoint : a • x + b • y = p b := by
    have ha' : a = 1 - b := by linarith
    simp [p, ha', sub_smul, smul_sub]
    abel
  rw [hpoint]
  simp only [smul_eq_mul, mul_zero, mul_one, zero_add] at hchord ⊢
  norm_num [q, p] at hchord
  rw [norm_sub_rev] at hchord
  have ha' : a = 1 - b := by linarith
  rw [ha'] at hchord ⊢
  dsimp [p]
  nlinarith [hchord]

end AutoSamplingTheory.TechnicalLemmas.Analysis.StrongConvexGradientConverse

Exact module and namespace context

Scope and omitted-condition boundaries

  • This is an ASTIS-owned port of the pinned Optlib Lower_Strong_Convex statement with its domain-local supplied-gradient assumptions.
  • The proof uses a scalar mean-value route. Chewi Proposition 1.6 proves its whole-space C¹ reverse implication by integration; this module does not reproduce that integral argument or certify the entire equivalence.
  • No geometric transport, gradient-flow convergence or Hessian result follows merely from publishing this declaration.

Source and reuse

ASTIS parents called

    Mathlib API called (external library)

    • MonotoneOn.convexOn_of_deriv — continuous scalar functions with monotone derivative are convex, proved using the mean value theorem.
    • Convex.add_smul_sub_mem; convex_Icc — segment membership and scalar-domain convexity.
    • HasGradientAt.hasFDerivAt; HasFDerivAt.comp_hasDerivAt; hasDerivAt_id; HasDerivAt.smul_const, const_add, pow, const_mul, mul_const, sub — differentiation.
    • inner_smul_right; inner_sub_left; norm_smul; sq_abs; le_of_mul_le_mul_left; norm_sub_rev — gradient monotonicity and exact normalization.

    Mathematical sources

    Existing Optlib mathematics adapted to pinned Mathlib 4.33.0. This is a compatibility integration, not a claim of first formalization. The implementation uses a segment-local quadratic correction instead of importing Optlib’s global quadratic-shift dependency chain.

    ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.