Documentation

LeanPool.PLAcceleratedNesterovLean.Convergence.Bootstrap.Main

Bootstrap via Total Displacement Control #

Starting from a sufficiently small neighborhood of m⋆ with zero initial velocity, all iterates remain in the controlled region Ω and the Lyapunov function decays geometrically.

theorem PLAcceleratedNesterovLean.bootstrap_total_displacement {d : } (_hd : 0 < d) (f : E d) (L : NNReal) (_hL : 0 < L) (μ' : ) (hμ' : 0 < μ') (θ : ) (hθ_pos : 0 < θ) (hθ_lt1 : θ < 1) (η : ) (_hη : η = 1 / L) (hη_pos : 0 < η) (hμη_lt1 : μ' * η < 1) (ρ : ) (_hρ : ρ = (1 - (μ' * η)) / (1 + (μ' * η))) (S : Set (E d)) (hM_argmin : S = argminSet f) (U : Set (E d)) (_hTub : IsTubularNeighborhoodOfSubmanifold S U) (π : E dE d) (_hπ_in_S : ∀ (x : E d), π x S) (_hπ_proj : xS, π x = x) (hπ_metric : xU, dist x (π x) = Metric.infDist x S) (P : E d →L[] E d) (Ω : Set (E d)) (hΩ_open : IsOpen Ω) (hΩ_sub_U : Ω U) (R : ) (hR : 0 < R) (m_star : E d) (hm_star : m_star S) (hm_star_Ω : m_star Ω) (hΨ_cont : ContinuousAt (psi f μ' S) m_star) (hΨ_zero : psi f μ' S m_star = 0) (_hQG : xΩ, f x - fStar f μ' / 2 * Metric.infDist x S ^ 2) (hcontract : ∀ (x₁ : E d) (n : ), have s := nesterovSeq f η ρ x₁ n; have Ln := lyapunov P μ' π f η ρ x₁ n; have Ln' := lyapunov P μ' π f η ρ x₁ (n + 1); have a := (μ' * η); s.x Ωs.lookahead η ΩLn R ^ 2Ln' (1 - (1 - θ) * a) * Ln) (C_h : ) (hC_h : 0 < C_h) (hstep_bound : ∀ (x₁ : E d) (n : ), have s := nesterovSeq f η ρ x₁ n; have Ln := lyapunov P μ' π f η ρ x₁ n; s.x Ωs.lookahead η ΩLn R ^ 2nesterovH f η ρ x₁ n C_h * η * Ln) (C_mov : ) (hC_mov : 0 < C_mov) (hvel_bound : ∀ (x₁ : E d) (n : ), have s := nesterovSeq f η ρ x₁ n; have s' := nesterovSeq f η ρ x₁ (n + 1); have Ln := lyapunov P μ' π f η ρ x₁ n; s.x Ωs.lookahead η ΩLn R ^ 2η s'.v C_mov * Ln) :
∃ (α : ), 0 < α x₁Metric.ball m_star α U, (∀ (n : ), (nesterovSeq f η ρ x₁ n).x Ω (nesterovSeq f η ρ x₁ n).lookahead η Ω) (∀ (n : ), (nesterovSeq f η ρ x₁ n).x U) ∀ (n : ), have a := (μ' * η); lyapunov P μ' π f η ρ x₁ (n + 1) (1 - (1 - θ) * a) ^ (n + 1) * lyapunov P μ' π f η ρ x₁ 0

Public theorem wrapper for bootstrapTotalDisplacementProof.

theorem PLAcceleratedNesterovLean.bootstrap_total_displacement_gen {d : } (f : E d) (μ' : ) (hμ' : 0 < μ') (θ : ) (hθ_pos : 0 < θ) (hθ_lt1 : θ < 1) (η : ) (hη_pos : 0 < η) (hμη_lt1 : μ' * η < 1) (ρ : ) (S : Set (E d)) (hM_argmin : S = argminSet f) (π : E dE d) (P : E d →L[] E d) (Ω : Set (E d)) (hΩ_open : IsOpen Ω) (R : ) (hR : 0 < R) (m_star : E d) (hm_star : m_star S) (hm_star_Ω : m_star Ω) (hcontract : ∀ (s₀ : NesterovState d) (n : ), have s := nesterovSeqGen f η ρ s₀ n; s.x Ωs.lookahead η ΩlyapunovOfState P μ' π f η s R ^ 2lyapunovOfState P μ' π f η (nesterovSeqGen f η ρ s₀ (n + 1)) (1 - (1 - θ) * (μ' * η)) * lyapunovOfState P μ' π f η s) (C_h : ) (hC_h : 0 < C_h) (hstep_bound : ∀ (s₀ : NesterovState d) (n : ), have s := nesterovSeqGen f η ρ s₀ n; s.x Ωs.lookahead η ΩlyapunovOfState P μ' π f η s R ^ 2stepDispOfState f η ρ s C_h * η * (lyapunovOfState P μ' π f η s)) (C_mov : ) (hC_mov : 0 < C_mov) (hvel_bound : ∀ (s₀ : NesterovState d) (n : ), have s := nesterovSeqGen f η ρ s₀ n; s.x Ωs.lookahead η ΩlyapunovOfState P μ' π f η s R ^ 2η (nesterovSeqGen f η ρ s₀ (n + 1)).v C_mov * (lyapunovOfState P μ' π f η s)) :
∃ (δ : ) (r_ball : ), 0 < δ 0 < r_ball Metric.ball m_star r_ball Ω ∀ (s₀ : NesterovState d), s₀.x Metric.ball m_star δs₀.lookahead η Metric.ball m_star δlyapunovOfState P μ' π f η s₀ δ ^ 2(∀ (n : ), (nesterovSeqGen f η ρ s₀ n).x Ω (nesterovSeqGen f η ρ s₀ n).lookahead η Ω) (∀ (n : ), (nesterovSeqGen f η ρ s₀ n).x Metric.ball m_star r_ball (nesterovSeqGen f η ρ s₀ n).lookahead η Metric.ball m_star r_ball) ∀ (n : ), have a := (μ' * η); lyapunovOfState P μ' π f η (nesterovSeqGen f η ρ s₀ (n + 1)) (1 - (1 - θ) * a) ^ (n + 1) * lyapunovOfState P μ' π f η s₀

Public theorem wrapper for bootstrapTotalDisplacementGenProof.