Statements of the Lean formalization

Source declarations with compiler docstrings and elaborated types, including all actual implicit parameters and inherited hypotheses. Definition and structure bodies are also shown. Generated auxiliary declarations are not listed.

Dependency graph of the paper-level results (interactive)

GPDYS/Basic.lean — Sections 2, 3.1–3.3 (definitions and constants)

winner

def · Basic.lean:36 · GPDYS.winner
The weighted (discrete L²) inner product ⟪u, v⟫_h = ∑ᵢ wᵢ uᵢ vᵢ.
def winner (w : ι → ℝ) (u v : ι → ℝ) : ℝ := ∑ i, w i * (u i * v i)
Elaborated type
GPDYS.winner :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm2sq

def · Basic.lean:39 · GPDYS.wnorm2sq
‖v‖₂² = ∑ᵢ wᵢ vᵢ².
def wnorm2sq (w : ι → ℝ) (v : ι → ℝ) : ℝ := winner w v v
Elaborated type
GPDYS.wnorm2sq :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm2

def · Basic.lean:42 · GPDYS.wnorm2
‖v‖₂ = (∑ᵢ wᵢ vᵢ²)^{1/2}.
def wnorm2 (w : ι → ℝ) (v : ι → ℝ) : ℝ := Real.sqrt (wnorm2sq w v)
Elaborated type
GPDYS.wnorm2 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm3p3

def · Basic.lean:45 · GPDYS.wnorm3p3
‖v‖₃³ = ∑ᵢ wᵢ |vᵢ|³.
def wnorm3p3 (w : ι → ℝ) (v : ι → ℝ) : ℝ := ∑ i, w i * |v i| ^ 3
Elaborated type
GPDYS.wnorm3p3 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm4p4

def · Basic.lean:48 · GPDYS.wnorm4p4
‖v‖₄⁴ = ∑ᵢ wᵢ vᵢ⁴.
def wnorm4p4 (w : ι → ℝ) (v : ι → ℝ) : ℝ := ∑ i, w i * v i ^ 4
Elaborated type
GPDYS.wnorm4p4 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm6p6

def · Basic.lean:51 · GPDYS.wnorm6p6
‖v‖₆⁶ = ∑ᵢ wᵢ vᵢ⁶.
def wnorm6p6 (w : ι → ℝ) (v : ι → ℝ) : ℝ := ∑ i, w i * v i ^ 6
Elaborated type
GPDYS.wnorm6p6 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm3

def · Basic.lean:54 · GPDYS.wnorm3
‖v‖₃ = (∑ᵢ wᵢ |vᵢ|³)^{1/3}.
def wnorm3 (w : ι → ℝ) (v : ι → ℝ) : ℝ := (wnorm3p3 w v) ^ ((1 : ℝ) / 3)
Elaborated type
GPDYS.wnorm3 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

wnorm6

def · Basic.lean:57 · GPDYS.wnorm6
‖v‖₆ = (∑ᵢ wᵢ vᵢ⁶)^{1/6}.
def wnorm6 (w : ι → ℝ) (v : ι → ℝ) : ℝ := (wnorm6p6 w v) ^ ((1 : ℝ) / 6)
Elaborated type
GPDYS.wnorm6 :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → (ι → ℝ) → ℝ

Setting

structure · Basic.lean:72 · GPDYS.Setting
The data of the discrete ground state problem under Assumption 2.1, recorded through the fixed-mesh properties of Lemma 2.2. The structure assumes these properties; it does not construct a finite element mesh or express uniformity of CS across a family of meshes: * w are the quadrature weights (the lumped mass matrix is M = diag w), all positive; * S is the stiffness matrix: symmetric, positive semidefinite, with nonpositive off-diagonal entries, and such that (M + γ S)⁻¹ has strictly positive entries for every γ > 0 (Lemma 2.2 (ii), a consequence of M + γ S being an irreducible Stieltjes matrix); * V ≥ 0 is the potential at the nodes and β > 0 the coupling constant; * CS is the constant of the discrete Sobolev inequality ‖v‖₆ ≤ C_S ‖v‖_{1,h} (Lemma 2.2 (iii)), where ‖v‖²_{1,h} = ⟪v, -Δ_h v⟫_h + ‖v‖₂² = vᵀ S v + ‖v‖₂².
structure Setting (ι : Type*) [Fintype ι] [DecidableEq ι] where
  /-- quadrature weights -/
  w : ι → ℝ
  w_pos : ∀ i, 0 < w i
  /-- stiffness matrix -/
  S : Matrix ι ι ℝ
  S_symm : S.IsSymm
  S_psd : ∀ v : ι → ℝ, 0 ≤ v ⬝ᵥ (S *ᵥ v)
  S_offdiag : ∀ i j, i ≠ j → S i j ≤ 0
  /-- `(M + γ S)⁻¹` has strictly positive entries for every `γ > 0` -/
  resolvent_pos : ∀ γ : ℝ, 0 < γ → ∀ i j, 0 < (Matrix.diagonal w + γ • S)⁻¹ i j
  /-- potential -/
  V : ι → ℝ
  V_nonneg : ∀ i, 0 ≤ V i
  /-- coupling constant -/
  β : ℝ
  β_pos : 0 < β
  /-- Sobolev constant -/
  CS : ℝ
  sobolev : ∀ v : ι → ℝ, wnorm6 w v ≤ CS * Real.sqrt (v ⬝ᵥ (S *ᵥ v) + wnorm2sq w v)
Elaborated type
GPDYS.Setting :
(ι : Type u_2) → [Fintype ι] → [DecidableEq ι] → Type u_2

M

def · Basic.lean:100 · GPDYS.Setting.M
The lumped mass matrix M = diag(w).
def M : Matrix ι ι ℝ := Matrix.diagonal P.w
Elaborated type
GPDYS.Setting.M :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → Matrix ι ι ℝ

inner

def · Basic.lean:103 · GPDYS.Setting.inner
The discrete inner product ⟪u, v⟫_h = uᵀ M v.
def inner (u v : ι → ℝ) : ℝ := winner P.w u v
Elaborated type
GPDYS.Setting.inner :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ℝ

nrm2sq

def · Basic.lean:106 · GPDYS.Setting.nrm2sq
‖v‖₂².
def nrm2sq (v : ι → ℝ) : ℝ := wnorm2sq P.w v
Elaborated type
GPDYS.Setting.nrm2sq :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

nrm2

def · Basic.lean:109 · GPDYS.Setting.nrm2
‖v‖₂.
def nrm2 (v : ι → ℝ) : ℝ := wnorm2 P.w v
Elaborated type
GPDYS.Setting.nrm2 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

negLap

def · Basic.lean:112 · GPDYS.Setting.negLap
The negative discrete Laplacian -Δ_h = M⁻¹ S.
def negLap (v : ι → ℝ) : ι → ℝ := fun i => (P.S *ᵥ v) i / P.w i
Elaborated type
GPDYS.Setting.negLap :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ι → ℝ

kin

def · Basic.lean:115 · GPDYS.Setting.kin
The kinetic quadratic form ⟪v, -Δ_h v⟫_h = vᵀ S v.
def kin (v : ι → ℝ) : ℝ := v ⬝ᵥ (P.S *ᵥ v)
Elaborated type
GPDYS.Setting.kin :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

pot

def · Basic.lean:118 · GPDYS.Setting.pot
The potential quadratic form ⟪V v, v⟫_h.
def pot (v : ι → ℝ) : ℝ := ∑ i, P.w i * (P.V i * v i ^ 2)
Elaborated type
GPDYS.Setting.pot :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

H

def · Basic.lean:121 · GPDYS.Setting.H
The explicit part H(v) = ½ ⟪V v, v⟫_h + (β/4) ‖v‖₄⁴ of the energy.
def H (v : ι → ℝ) : ℝ := (1 / 2) * P.pot v + P.β / 4 * wnorm4p4 P.w v
Elaborated type
GPDYS.Setting.H :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

energy

def · Basic.lean:124 · GPDYS.Setting.energy
The discrete energy E_h(v) = ½ ⟪v, -Δ_h v⟫_h + ½ ⟪V v, v⟫_h + (β/4) ‖v‖₄⁴.
def energy (v : ι → ℝ) : ℝ := (1 / 2) * P.kin v + P.H v
Elaborated type
GPDYS.Setting.energy :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

nonlin

def · Basic.lean:127 · GPDYS.Setting.nonlin
The explicit part n(v) = V v + β v³ of the gradient.
def nonlin (v : ι → ℝ) : ι → ℝ := fun i => P.V i * v i + P.β * v i ^ 3
Elaborated type
GPDYS.Setting.nonlin :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ι → ℝ

gradE

def · Basic.lean:130 · GPDYS.Setting.gradE
The gradient ∇E_h(v) = -Δ_h v + n(v) with respect to ⟪·,·⟫_h.
def gradE (v : ι → ℝ) : ι → ℝ := P.negLap v + P.nonlin v
Elaborated type
GPDYS.Setting.gradE :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ι → ℝ

lam

def · Basic.lean:133 · GPDYS.Setting.lam
The eigenvalue functional λ(v) = ⟪∇E_h(v), v⟫_h.
def lam (v : ι → ℝ) : ℝ := P.inner (P.gradE v) v
Elaborated type
GPDYS.Setting.lam :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

g

def · Basic.lean:136 · GPDYS.Setting.g
The projected gradient g(v) = ∇E_h(v) - λ(v) v.
def g (v : ι → ℝ) : ι → ℝ := P.gradE v - P.lam v • v
Elaborated type
GPDYS.Setting.g :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ι → ℝ

nonlin'

def · Basic.lean:139 · GPDYS.Setting.nonlin'
The Jacobian of n: n'(v) = V + 3 β diag(v²), applied to a vector.
def nonlin' (v d : ι → ℝ) : ι → ℝ := fun i => (P.V i + 3 * P.β * v i ^ 2) * d i
Elaborated type
GPDYS.Setting.nonlin' :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ι → ℝ

GX

def · Basic.lean:144 · GPDYS.Setting.GX
The metric matrix G_X = I - γ Δ_h, applied to a vector.
def GX (γ : ℝ) (v : ι → ℝ) : ι → ℝ := v + γ • P.negLap v
Elaborated type
GPDYS.Setting.GX :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ι → ℝ

resolvent

def · Basic.lean:147 · GPDYS.Setting.resolvent
The resolvent G_X⁻¹ = (M + γ S)⁻¹ M, applied to a vector.
def resolvent (γ : ℝ) (v : ι → ℝ) : ι → ℝ := (P.M + γ • P.S)⁻¹ *ᵥ (P.M *ᵥ v)
Elaborated type
GPDYS.Setting.resolvent :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ι → ℝ

innerX

def · Basic.lean:150 · GPDYS.Setting.innerX
The X-inner product ⟪v, w⟫_X = ⟪v, G_X⁻¹ w⟫_h.
def innerX (γ : ℝ) (v w : ι → ℝ) : ℝ := P.inner v (P.resolvent γ w)
Elaborated type
GPDYS.Setting.innerX :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → (ι → ℝ) → ℝ

nrmXsq

def · Basic.lean:153 · GPDYS.Setting.nrmXsq
‖v‖_X².
def nrmXsq (γ : ℝ) (v : ι → ℝ) : ℝ := P.innerX γ v v
Elaborated type
GPDYS.Setting.nrmXsq :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ

nrmGsq

def · Basic.lean:156 · GPDYS.Setting.nrmGsq
‖v‖_𝒢² = ⟪v, G_X v⟫_h = ‖v‖₂² + γ ⟪v, -Δ_h v⟫_h.
def nrmGsq (γ : ℝ) (v : ι → ℝ) : ℝ := P.nrm2sq v + γ * P.kin v
Elaborated type
GPDYS.Setting.nrmGsq :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ

normalize

def · Basic.lean:161 · GPDYS.Setting.normalize
The normalized vector u = z / ‖z‖₂ for z ≠ 0; at zero this total function is zero.
def normalize (z : ι → ℝ) : ι → ℝ := (P.nrm2 z)⁻¹ • z
Elaborated type
GPDYS.Setting.normalize :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ι → ℝ

xi

def · Basic.lean:164 · GPDYS.Setting.xi
The intermediate vector 𝐱 = G_X⁻¹ (2u - z - γ n(u)) of (DYS I).
def xi (γ : ℝ) (z : ι → ℝ) : ι → ℝ :=
  P.resolvent γ ((2 : ℝ) • P.normalize z - z - γ • P.nonlin (P.normalize z))
Elaborated type
GPDYS.Setting.xi :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ι → ℝ

step

def · Basic.lean:168 · GPDYS.Setting.step
One step z ↦ z⁺ = z + 𝐱 - u of the scheme (DYS I), (1.6) in the paper.
def step (γ : ℝ) (z : ι → ℝ) : ι → ℝ := z + P.xi γ z - P.normalize z
Elaborated type
GPDYS.Setting.step :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ι → ℝ

R

def · Basic.lean:171 · GPDYS.Setting.R
The radial residual R(z) = ‖z‖₂ - 1 + γ λ(u).
def R (γ : ℝ) (z : ι → ℝ) : ℝ := P.nrm2 z - 1 + γ * P.lam (P.normalize z)
Elaborated type
GPDYS.Setting.R :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ

lyap

def · Basic.lean:174 · GPDYS.Setting.lyap
The Lyapunov function 𝓛(z) = E_h(u) + R(z)² / γ.
def lyap (γ : ℝ) (z : ι → ℝ) : ℝ := P.energy (P.normalize z) + (P.R γ z) ^ 2 / γ
Elaborated type
GPDYS.Setting.lyap :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ

iter

def · Basic.lean:177 · GPDYS.Setting.iter
The iteration z^k, started from z⁰ = u⁰.
def iter (γ : ℝ) (u0 : ι → ℝ) (k : ℕ) : ι → ℝ := (P.step γ)^[k] u0
Elaborated type
GPDYS.Setting.iter :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℕ → ι → ℝ

uiter

def · Basic.lean:180 · GPDYS.Setting.uiter
The normalized iterates u^k = z^k / ‖z^k‖₂.
def uiter (γ : ℝ) (u0 : ι → ℝ) (k : ℕ) : ι → ℝ := P.normalize (P.iter γ u0 k)
Elaborated type
GPDYS.Setting.uiter :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℕ → ι → ℝ

wmin

def · Basic.lean:185 · GPDYS.Setting.wmin
w_min = minᵢ wᵢ when ι is nonempty; the empty-index value is zero.
def wmin : ℝ := ⨅ i, P.w i
Elaborated type
GPDYS.Setting.wmin :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ

Vinf

def · Basic.lean:188 · GPDYS.Setting.Vinf
‖V‖_∞ = maxᵢ Vᵢ on a nonempty mesh (recall V ≥ 0); zero for empty ι.
def Vinf : ℝ := ⨆ i, P.V i
Elaborated type
GPDYS.Setting.Vinf :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ

Λd

def · Basic.lean:191 · GPDYS.Setting.Λd
The stiffness-to-mass ratio Λ_d = maxᵢ Sᵢᵢ / wᵢ on a nonempty mesh; zero for empty ι.
def Λd : ℝ := ⨆ i, P.S i i / P.w i
Elaborated type
GPDYS.Setting.Λd :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ

E0

def · Basic.lean:194 · GPDYS.Setting.E0
The energy level E₀ = E_h(u⁰) + λ(u⁰)² / max{1, 128 E_h(u⁰)}, (3.9).
def E0 (u0 : ι → ℝ) : ℝ := P.energy u0 + (P.lam u0) ^ 2 / max 1 (128 * P.energy u0)
Elaborated type
GPDYS.Setting.E0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

P0

def · Basic.lean:197 · GPDYS.Setting.P0
P₀ = C_S² (2E₀ + 1), (3.10).
def P0 (u0 : ι → ℝ) : ℝ := P.CS ^ 2 * (2 * P.E0 u0 + 1)
Elaborated type
GPDYS.Setting.P0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

U0

def · Basic.lean:200 · GPDYS.Setting.U0
U₀ = min{1/w_min, P₀/w_min^{1/3}, 2 √(E₀/(β w_min))}, (3.10).
def U0 (u0 : ι → ℝ) : ℝ :=
  min (1 / P.wmin) (min (P.P0 u0 / P.wmin ^ ((1 : ℝ) / 3))
    (2 * Real.sqrt (P.E0 u0 / (P.β * P.wmin))))
Elaborated type
GPDYS.Setting.U0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

B0

def · Basic.lean:205 · GPDYS.Setting.B0
B₀ = ‖V‖_∞ + β min{P₀^{3/2}, U₀}, (3.11).
def B0 (u0 : ι → ℝ) : ℝ := P.Vinf + P.β * min ((P.P0 u0) ^ ((3 : ℝ) / 2)) (P.U0 u0)
Elaborated type
GPDYS.Setting.B0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

D

def · Basic.lean:208 · GPDYS.Setting.D
D = E₀ + B₀, (3.11).
def D (u0 : ι → ℝ) : ℝ := P.E0 u0 + P.B0 u0
Elaborated type
GPDYS.Setting.D :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

B1

def · Basic.lean:211 · GPDYS.Setting.B1
B₁ = ‖V‖_∞ + β U₀, (3.11).
def B1 (u0 : ι → ℝ) : ℝ := P.Vinf + P.β * P.U0 u0
Elaborated type
GPDYS.Setting.B1 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

C0

def · Basic.lean:214 · GPDYS.Setting.C0
C₀ = 3 β C_S P₀, (3.12).
def C0 (u0 : ι → ℝ) : ℝ := 3 * P.β * P.CS * P.P0 u0
Elaborated type
GPDYS.Setting.C0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

L0

def · Basic.lean:217 · GPDYS.Setting.L0
L₀ = ‖V‖_∞ + min{3 β U₀, C₀ + 2 max{C₀ - 1/4, 0}²}, (3.12).
def L0 (u0 : ι → ℝ) : ℝ :=
  P.Vinf + min (3 * P.β * P.U0 u0) (P.C0 u0 + 2 * (max (P.C0 u0 - 1 / 4) 0) ^ 2)
Elaborated type
GPDYS.Setting.L0 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

γmax

def · Basic.lean:222 · GPDYS.Setting.γmax
The step-size threshold γ_max = min{1, 1/(128 D), 1/(8 L₀), 2/(B₁ + √(B₁² + 12 D Λ_d))}, (3.14).
def γmax (u0 : ι → ℝ) : ℝ :=
  min 1 (min (1 / (128 * P.D u0)) (min (1 / (8 * P.L0 u0))
    (2 / (P.B1 u0 + Real.sqrt ((P.B1 u0) ^ 2 + 12 * P.D u0 * P.Λd)))))
Elaborated type
GPDYS.Setting.γmax :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

Conditions

def · Basic.lean:228 · GPDYS.Setting.Conditions
The four step-size conditions (C1)–(C4) of Lemma 3.1, (3.15). Positivity of γ is supplied separately in the theorems using these conditions.
def Conditions (u0 : ι → ℝ) (γ : ℝ) : Prop :=
  γ ≤ 1 ∧ γ * P.D u0 ≤ 1 / 128 ∧ γ * P.L0 u0 ≤ 1 / 8 ∧
    γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1
Elaborated type
GPDYS.Setting.Conditions :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ → Prop

GPDYS/Lemmas.lean — Section 3.1 (basic identities)

sq_le_of_psd

theorem · Lemmas.lean:21 · GPDYS.sq_le_of_psd
Cauchy–Schwarz for a symmetric positive semidefinite bilinear form on a real vector space.
GPDYS.sq_le_of_psd :
∀ {E : Type u_1} [inst : AddCommGroup E] [inst_1 : _root_.Module ℝ E] (B : E → E → ℝ),
  (∀ (u v w : E), B (u + v) w = B u w + B v w) →
    (∀ (c : ℝ) (u v : E), B (c • u) v = c * B u v) →
      (∀ (u v : E), B u v = B v u) → (∀ (v : E), 0 ≤ B v v) → ∀ (u v : E), B u v ^ 2 ≤ B u u * B v v

ne_zero_of_pos

theorem · Lemmas.lean:68 · GPDYS.ne_zero_of_pos
A componentwise positive vector on a nonempty index type is nonzero.
GPDYS.ne_zero_of_pos :
∀ {ι : Type u_1} [Nonempty ι] {z : ι → ℝ}, (∀ (i : ι), 0 < z i) → z ≠ 0

inner_def

theorem · Lemmas.lean:81 · GPDYS.Setting.inner_def
GPDYS.Setting.inner_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u v = ∑ i, P.w i * (u i * v i)

inner_comm

theorem · Lemmas.lean:83 · GPDYS.Setting.inner_comm
GPDYS.Setting.inner_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u v = P.inner v u

inner_add_left

theorem · Lemmas.lean:86 · GPDYS.Setting.inner_add_left
GPDYS.Setting.inner_add_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  P.inner (u + v) x = P.inner u x + P.inner v x

inner_add_right

theorem · Lemmas.lean:90 · GPDYS.Setting.inner_add_right
GPDYS.Setting.inner_add_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  P.inner x (u + v) = P.inner x u + P.inner x v

inner_smul_left

theorem · Lemmas.lean:93 · GPDYS.Setting.inner_smul_left
GPDYS.Setting.inner_smul_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (u v : ι → ℝ),
  P.inner (c • u) v = c * P.inner u v

inner_smul_right

theorem · Lemmas.lean:97 · GPDYS.Setting.inner_smul_right
GPDYS.Setting.inner_smul_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (u v : ι → ℝ),
  P.inner u (c • v) = c * P.inner u v

inner_neg_left

theorem · Lemmas.lean:100 · GPDYS.Setting.inner_neg_left
GPDYS.Setting.inner_neg_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner (-u) v = -P.inner u v

inner_neg_right

theorem · Lemmas.lean:103 · GPDYS.Setting.inner_neg_right
GPDYS.Setting.inner_neg_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u (-v) = -P.inner u v

inner_sub_left

theorem · Lemmas.lean:106 · GPDYS.Setting.inner_sub_left
GPDYS.Setting.inner_sub_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  P.inner (u - v) x = P.inner u x - P.inner v x

inner_sub_right

theorem · Lemmas.lean:109 · GPDYS.Setting.inner_sub_right
GPDYS.Setting.inner_sub_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  P.inner x (u - v) = P.inner x u - P.inner x v

inner_zero_left

theorem · Lemmas.lean:112 · GPDYS.Setting.inner_zero_left
GPDYS.Setting.inner_zero_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.inner 0 v = 0

inner_zero_right

theorem · Lemmas.lean:115 · GPDYS.Setting.inner_zero_right
GPDYS.Setting.inner_zero_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.inner v 0 = 0

inner_sum_left

theorem · Lemmas.lean:118 · GPDYS.Setting.inner_sum_left
GPDYS.Setting.inner_sum_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {κ : Type u_2} (s : Finset κ)
  (f : κ → ι → ℝ) (v : ι → ℝ), P.inner (∑ k ∈ s, f k) v = ∑ k ∈ s, P.inner (f k) v

nrm2sq_def

theorem · Lemmas.lean:127 · GPDYS.Setting.nrm2sq_def
GPDYS.Setting.nrm2sq_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.nrm2sq v = P.inner v v

nrm2sq_eq_sum

theorem · Lemmas.lean:129 · GPDYS.Setting.nrm2sq_eq_sum
GPDYS.Setting.nrm2sq_eq_sum :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.nrm2sq v = ∑ i, P.w i * v i ^ 2

nrm2sq_nonneg

theorem · Lemmas.lean:132 · GPDYS.Setting.nrm2sq_nonneg
GPDYS.Setting.nrm2sq_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.nrm2sq v

w_mul_sq_le_nrm2sq

theorem · Lemmas.lean:136 · GPDYS.Setting.w_mul_sq_le_nrm2sq
GPDYS.Setting.w_mul_sq_le_nrm2sq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ) (i : ι),
  P.w i * v i ^ 2 ≤ P.nrm2sq v

nrm2sq_eq_zero_iff

theorem · Lemmas.lean:141 · GPDYS.Setting.nrm2sq_eq_zero_iff
GPDYS.Setting.nrm2sq_eq_zero_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.nrm2sq v = 0 ↔ v = 0

nrm2sq_pos_of_ne_zero

theorem · Lemmas.lean:154 · GPDYS.Setting.nrm2sq_pos_of_ne_zero
GPDYS.Setting.nrm2sq_pos_of_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ}, v ≠ 0 → 0 < P.nrm2sq v

nrm2_def

theorem · Lemmas.lean:157 · GPDYS.Setting.nrm2_def
GPDYS.Setting.nrm2_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.nrm2 v = √(P.nrm2sq v)

nrm2_nonneg

theorem · Lemmas.lean:159 · GPDYS.Setting.nrm2_nonneg
GPDYS.Setting.nrm2_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.nrm2 v

nrm2_sq

theorem · Lemmas.lean:161 · GPDYS.Setting.nrm2_sq
GPDYS.Setting.nrm2_sq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.nrm2 v ^ 2 = P.nrm2sq v

nrm2_mul_self

theorem · Lemmas.lean:164 · GPDYS.Setting.nrm2_mul_self
GPDYS.Setting.nrm2_mul_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.nrm2 v * P.nrm2 v = P.nrm2sq v

nrm2_pos_of_ne_zero

theorem · Lemmas.lean:167 · GPDYS.Setting.nrm2_pos_of_ne_zero
GPDYS.Setting.nrm2_pos_of_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ}, v ≠ 0 → 0 < P.nrm2 v

nrm2_eq_zero_iff

theorem · Lemmas.lean:170 · GPDYS.Setting.nrm2_eq_zero_iff
GPDYS.Setting.nrm2_eq_zero_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.nrm2 v = 0 ↔ v = 0

nrm2sq_eq_one_of_nrm2

theorem · Lemmas.lean:173 · GPDYS.Setting.nrm2sq_eq_one_of_nrm2
GPDYS.Setting.nrm2sq_eq_one_of_nrm2 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.nrm2 v = 1 → P.nrm2sq v = 1

nrm2_eq_one_of_nrm2sq

theorem · Lemmas.lean:176 · GPDYS.Setting.nrm2_eq_one_of_nrm2sq
GPDYS.Setting.nrm2_eq_one_of_nrm2sq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.nrm2sq v = 1 → P.nrm2 v = 1

nrm2_eq_one_iff

theorem · Lemmas.lean:179 · GPDYS.Setting.nrm2_eq_one_iff
GPDYS.Setting.nrm2_eq_one_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.nrm2 v = 1 ↔ P.nrm2sq v = 1

nrm2sq_smul

theorem · Lemmas.lean:182 · GPDYS.Setting.nrm2sq_smul
GPDYS.Setting.nrm2sq_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (v : ι → ℝ),
  P.nrm2sq (c • v) = c ^ 2 * P.nrm2sq v

nrm2_smul

theorem · Lemmas.lean:185 · GPDYS.Setting.nrm2_smul
GPDYS.Setting.nrm2_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (v : ι → ℝ),
  P.nrm2 (c • v) = |c| * P.nrm2 v

nrm2sq_add

theorem · Lemmas.lean:188 · GPDYS.Setting.nrm2sq_add
GPDYS.Setting.nrm2sq_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.nrm2sq (u + v) = P.nrm2sq u + 2 * P.inner u v + P.nrm2sq v

nrm2sq_sub

theorem · Lemmas.lean:192 · GPDYS.Setting.nrm2sq_sub
GPDYS.Setting.nrm2sq_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.nrm2sq (u - v) = P.nrm2sq u - 2 * P.inner u v + P.nrm2sq v

nrm2sq_neg

theorem · Lemmas.lean:196 · GPDYS.Setting.nrm2sq_neg
GPDYS.Setting.nrm2sq_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.nrm2sq (-v) = P.nrm2sq v

inner_sq_le

theorem · Lemmas.lean:200 · GPDYS.Setting.inner_sq_le
Cauchy–Schwarz: ⟪u, v⟫_h² ≤ ‖u‖₂² ‖v‖₂².
GPDYS.Setting.inner_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u v ^ 2 ≤ P.nrm2sq u * P.nrm2sq v

inner_le_nrm2_mul_nrm2

theorem · Lemmas.lean:204 · GPDYS.Setting.inner_le_nrm2_mul_nrm2
Cauchy–Schwarz: ⟪u, v⟫_h ≤ ‖u‖₂ ‖v‖₂.
GPDYS.Setting.inner_le_nrm2_mul_nrm2 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u v ≤ P.nrm2 u * P.nrm2 v

abs_inner_le_nrm2_mul_nrm2

theorem · Lemmas.lean:209 · GPDYS.Setting.abs_inner_le_nrm2_mul_nrm2
GPDYS.Setting.abs_inner_le_nrm2_mul_nrm2 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  |P.inner u v| ≤ P.nrm2 u * P.nrm2 v

nrm2_add_le

theorem · Lemmas.lean:215 · GPDYS.Setting.nrm2_add_le
Triangle inequality for ‖·‖₂.
GPDYS.Setting.nrm2_add_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.nrm2 (u + v) ≤ P.nrm2 u + P.nrm2 v

nrm2_neg

theorem · Lemmas.lean:222 · GPDYS.Setting.nrm2_neg
GPDYS.Setting.nrm2_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.nrm2 (-v) = P.nrm2 v

nrm2_sub_le

theorem · Lemmas.lean:225 · GPDYS.Setting.nrm2_sub_le
GPDYS.Setting.nrm2_sub_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.nrm2 (u - v) ≤ P.nrm2 u + P.nrm2 v

nrm2_le_of_nrm2sq_le

theorem · Lemmas.lean:230 · GPDYS.Setting.nrm2_le_of_nrm2sq_le
GPDYS.Setting.nrm2_le_of_nrm2sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ} {c : ℝ},
  0 ≤ c → P.nrm2sq v ≤ c ^ 2 → P.nrm2 v ≤ c

nrm2_le_nrm2_iff

theorem · Lemmas.lean:234 · GPDYS.Setting.nrm2_le_nrm2_iff
GPDYS.Setting.nrm2_le_nrm2_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.nrm2 u ≤ P.nrm2 v ↔ P.nrm2sq u ≤ P.nrm2sq v

nrm2sq_le_nrm2sq_of_le

theorem · Lemmas.lean:239 · GPDYS.Setting.nrm2sq_le_nrm2sq_of_le
Monotonicity of ‖·‖₂ on nonnegative vectors.
GPDYS.Setting.nrm2sq_le_nrm2sq_of_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {x y : ι → ℝ},
  (∀ (i : ι), 0 ≤ x i) → (∀ (i : ι), x i ≤ y i) → P.nrm2sq x ≤ P.nrm2sq y

nrm2_le_nrm2_of_le

theorem · Lemmas.lean:245 · GPDYS.Setting.nrm2_le_nrm2_of_le
GPDYS.Setting.nrm2_le_nrm2_of_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {x y : ι → ℝ},
  (∀ (i : ι), 0 ≤ x i) → (∀ (i : ι), x i ≤ y i) → P.nrm2 x ≤ P.nrm2 y

dotS_comm

theorem · Lemmas.lean:251 · GPDYS.Setting.dotS_comm
GPDYS.Setting.dotS_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  u ⬝ᵥ P.S.mulVec v = v ⬝ᵥ P.S.mulVec u

dotS_add_left

theorem · Lemmas.lean:254 · GPDYS.Setting.dotS_add_left
GPDYS.Setting.dotS_add_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  (u + v) ⬝ᵥ P.S.mulVec x = u ⬝ᵥ P.S.mulVec x + v ⬝ᵥ P.S.mulVec x

dotS_add_right

theorem · Lemmas.lean:257 · GPDYS.Setting.dotS_add_right
GPDYS.Setting.dotS_add_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  x ⬝ᵥ P.S.mulVec (u + v) = x ⬝ᵥ P.S.mulVec u + x ⬝ᵥ P.S.mulVec v

dotS_smul_left

theorem · Lemmas.lean:261 · GPDYS.Setting.dotS_smul_left
GPDYS.Setting.dotS_smul_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (u x : ι → ℝ),
  c • u ⬝ᵥ P.S.mulVec x = c * u ⬝ᵥ P.S.mulVec x

dotS_smul_right

theorem · Lemmas.lean:264 · GPDYS.Setting.dotS_smul_right
GPDYS.Setting.dotS_smul_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (u x : ι → ℝ),
  x ⬝ᵥ P.S.mulVec (c • u) = c * x ⬝ᵥ P.S.mulVec u

dotS_sub_left

theorem · Lemmas.lean:267 · GPDYS.Setting.dotS_sub_left
GPDYS.Setting.dotS_sub_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  (u - v) ⬝ᵥ P.S.mulVec x = u ⬝ᵥ P.S.mulVec x - v ⬝ᵥ P.S.mulVec x

dotS_sub_right

theorem · Lemmas.lean:270 · GPDYS.Setting.dotS_sub_right
GPDYS.Setting.dotS_sub_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v x : ι → ℝ),
  x ⬝ᵥ P.S.mulVec (u - v) = x ⬝ᵥ P.S.mulVec u - x ⬝ᵥ P.S.mulVec v

dotS_neg_left

theorem · Lemmas.lean:274 · GPDYS.Setting.dotS_neg_left
GPDYS.Setting.dotS_neg_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u x : ι → ℝ),
  -u ⬝ᵥ P.S.mulVec x = -(u ⬝ᵥ P.S.mulVec x)

dotS_neg_right

theorem · Lemmas.lean:277 · GPDYS.Setting.dotS_neg_right
GPDYS.Setting.dotS_neg_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u x : ι → ℝ),
  x ⬝ᵥ P.S.mulVec (-u) = -(x ⬝ᵥ P.S.mulVec u)

dotS_zero_left

theorem · Lemmas.lean:280 · GPDYS.Setting.dotS_zero_left
GPDYS.Setting.dotS_zero_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (x : ι → ℝ), 0 ⬝ᵥ P.S.mulVec x = 0

dotS_zero_right

theorem · Lemmas.lean:282 · GPDYS.Setting.dotS_zero_right
GPDYS.Setting.dotS_zero_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (x : ι → ℝ), x ⬝ᵥ P.S.mulVec 0 = 0

kin_def

theorem · Lemmas.lean:285 · GPDYS.Setting.kin_def
GPDYS.Setting.kin_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.kin v = v ⬝ᵥ P.S.mulVec v

kin_nonneg

theorem · Lemmas.lean:287 · GPDYS.Setting.kin_nonneg
GPDYS.Setting.kin_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.kin v

kin_smul

theorem · Lemmas.lean:289 · GPDYS.Setting.kin_smul
GPDYS.Setting.kin_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (v : ι → ℝ),
  P.kin (c • v) = c ^ 2 * P.kin v

kin_add

theorem · Lemmas.lean:292 · GPDYS.Setting.kin_add
GPDYS.Setting.kin_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.kin (u + v) = P.kin u + 2 * u ⬝ᵥ P.S.mulVec v + P.kin v

kin_sub

theorem · Lemmas.lean:296 · GPDYS.Setting.kin_sub
GPDYS.Setting.kin_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.kin (u - v) = P.kin u - 2 * u ⬝ᵥ P.S.mulVec v + P.kin v

kin_neg

theorem · Lemmas.lean:300 · GPDYS.Setting.kin_neg
GPDYS.Setting.kin_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.kin (-v) = P.kin v

dotS_sq_le

theorem · Lemmas.lean:304 · GPDYS.Setting.dotS_sq_le
Cauchy–Schwarz for the kinetic form: (uᵀ S v)² ≤ (uᵀ S u)(vᵀ S v).
GPDYS.Setting.dotS_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  (u ⬝ᵥ P.S.mulVec v) ^ 2 ≤ P.kin u * P.kin v

abs_dotS_le

theorem · Lemmas.lean:308 · GPDYS.Setting.abs_dotS_le
GPDYS.Setting.abs_dotS_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  |u ⬝ᵥ P.S.mulVec v| ≤ √(P.kin u) * √(P.kin v)

negLap_apply

theorem · Lemmas.lean:316 · GPDYS.Setting.negLap_apply
GPDYS.Setting.negLap_apply :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ) (i : ι),
  P.negLap v i = P.S.mulVec v i / P.w i

inner_negLap

theorem · Lemmas.lean:318 · GPDYS.Setting.inner_negLap
GPDYS.Setting.inner_negLap :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u (P.negLap v) = u ⬝ᵥ P.S.mulVec v

inner_negLap_comm

theorem · Lemmas.lean:324 · GPDYS.Setting.inner_negLap_comm
GPDYS.Setting.inner_negLap_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner u (P.negLap v) = P.inner (P.negLap u) v

negLap_inner

theorem · Lemmas.lean:328 · GPDYS.Setting.negLap_inner
GPDYS.Setting.negLap_inner :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.inner (P.negLap u) v = u ⬝ᵥ P.S.mulVec v

kin_eq_inner

theorem · Lemmas.lean:331 · GPDYS.Setting.kin_eq_inner
GPDYS.Setting.kin_eq_inner :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.kin v = P.inner v (P.negLap v)

negLap_add

theorem · Lemmas.lean:334 · GPDYS.Setting.negLap_add
GPDYS.Setting.negLap_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.negLap (u + v) = P.negLap u + P.negLap v

negLap_smul

theorem · Lemmas.lean:337 · GPDYS.Setting.negLap_smul
GPDYS.Setting.negLap_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (c : ℝ) (v : ι → ℝ),
  P.negLap (c • v) = c • P.negLap v

negLap_sub

theorem · Lemmas.lean:340 · GPDYS.Setting.negLap_sub
GPDYS.Setting.negLap_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u v : ι → ℝ),
  P.negLap (u - v) = P.negLap u - P.negLap v

negLap_neg

theorem · Lemmas.lean:343 · GPDYS.Setting.negLap_neg
GPDYS.Setting.negLap_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.negLap (-v) = -P.negLap v

negLap_zero

theorem · Lemmas.lean:346 · GPDYS.Setting.negLap_zero
GPDYS.Setting.negLap_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), P.negLap 0 = 0

M_mulVec

theorem · Lemmas.lean:349 · GPDYS.Setting.M_mulVec
GPDYS.Setting.M_mulVec :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.M.mulVec v = fun i => P.w i * v i

M_mulVec_negLap

theorem · Lemmas.lean:352 · GPDYS.Setting.M_mulVec_negLap
GPDYS.Setting.M_mulVec_negLap :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.M.mulVec (P.negLap v) = P.S.mulVec v

pot_nonneg

theorem · Lemmas.lean:359 · GPDYS.Setting.pot_nonneg
GPDYS.Setting.pot_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.pot v

wnorm4p4_nonneg

theorem · Lemmas.lean:362 · GPDYS.Setting.wnorm4p4_nonneg
GPDYS.Setting.wnorm4p4_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ GPDYS.wnorm4p4 P.w v

wnorm6p6_nonneg

theorem · Lemmas.lean:365 · GPDYS.Setting.wnorm6p6_nonneg
GPDYS.Setting.wnorm6p6_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ GPDYS.wnorm6p6 P.w v

wnorm3p3_nonneg

theorem · Lemmas.lean:368 · GPDYS.Setting.wnorm3p3_nonneg
GPDYS.Setting.wnorm3p3_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ GPDYS.wnorm3p3 P.w v

H_nonneg

theorem · Lemmas.lean:371 · GPDYS.Setting.H_nonneg
GPDYS.Setting.H_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.H v

energy_def

theorem · Lemmas.lean:376 · GPDYS.Setting.energy_def
GPDYS.Setting.energy_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.energy v = 1 / 2 * P.kin v + P.H v

energy_eq

theorem · Lemmas.lean:378 · GPDYS.Setting.energy_eq
GPDYS.Setting.energy_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.energy v = 1 / 2 * P.kin v + 1 / 2 * P.pot v + P.β / 4 * GPDYS.wnorm4p4 P.w v

energy_nonneg

theorem · Lemmas.lean:382 · GPDYS.Setting.energy_nonneg
GPDYS.Setting.energy_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.energy v

kin_le_two_energy

theorem · Lemmas.lean:385 · GPDYS.Setting.kin_le_two_energy
GPDYS.Setting.kin_le_two_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.kin v ≤ 2 * P.energy v

quarter_wnorm4p4_le_energy

theorem · Lemmas.lean:388 · GPDYS.Setting.quarter_wnorm4p4_le_energy
GPDYS.Setting.quarter_wnorm4p4_le_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.β / 4 * GPDYS.wnorm4p4 P.w v ≤ P.energy v

nonlin_apply

theorem · Lemmas.lean:391 · GPDYS.Setting.nonlin_apply
GPDYS.Setting.nonlin_apply :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ) (i : ι),
  P.nonlin v i = P.V i * v i + P.β * v i ^ 3

inner_nonlin_self

theorem · Lemmas.lean:393 · GPDYS.Setting.inner_nonlin_self
GPDYS.Setting.inner_nonlin_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.inner (P.nonlin v) v = P.pot v + P.β * GPDYS.wnorm4p4 P.w v

lam_eq

theorem · Lemmas.lean:400 · GPDYS.Setting.lam_eq
GPDYS.Setting.lam_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.lam v = P.kin v + P.pot v + P.β * GPDYS.wnorm4p4 P.w v

lam_eq_energy

theorem · Lemmas.lean:404 · GPDYS.Setting.lam_eq_energy
GPDYS.Setting.lam_eq_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.lam v = 2 * P.energy v + P.β / 2 * GPDYS.wnorm4p4 P.w v

lam_nonneg

theorem · Lemmas.lean:407 · GPDYS.Setting.lam_nonneg
GPDYS.Setting.lam_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), 0 ≤ P.lam v

lam_le_four_energy

theorem · Lemmas.lean:412 · GPDYS.Setting.lam_le_four_energy
GPDYS.Setting.lam_le_four_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.lam v ≤ 4 * P.energy v

gradE_def

theorem · Lemmas.lean:415 · GPDYS.Setting.gradE_def
GPDYS.Setting.gradE_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.gradE v = P.negLap v + P.nonlin v

gradE_eq_lam_smul_add_g

theorem · Lemmas.lean:417 · GPDYS.Setting.gradE_eq_lam_smul_add_g
GPDYS.Setting.gradE_eq_lam_smul_add_g :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.gradE v = P.lam v • v + P.g v

inner_gradE_self

theorem · Lemmas.lean:420 · GPDYS.Setting.inner_gradE_self
GPDYS.Setting.inner_gradE_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.inner (P.gradE v) v = P.lam v

inner_g_self

theorem · Lemmas.lean:422 · GPDYS.Setting.inner_g_self
GPDYS.Setting.inner_g_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.nrm2sq v = 1 → P.inner (P.g v) v = 0

inner_self_g

theorem · Lemmas.lean:426 · GPDYS.Setting.inner_self_g
GPDYS.Setting.inner_self_g :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.nrm2sq v = 1 → P.inner v (P.g v) = 0

inner_gradE_eq

theorem · Lemmas.lean:429 · GPDYS.Setting.inner_gradE_eq
GPDYS.Setting.inner_gradE_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v d : ι → ℝ),
  P.inner (P.gradE v) d = P.lam v * P.inner v d + P.inner (P.g v) d

inner_nonlin

theorem · Lemmas.lean:434 · GPDYS.Setting.inner_nonlin
⟪n(u), d⟫_h expanded.
GPDYS.Setting.inner_nonlin :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u d : ι → ℝ),
  P.inner (P.nonlin u) d = ∑ i, P.w i * ((P.V i * u i + P.β * u i ^ 3) * d i)

GX_def

theorem · Lemmas.lean:439 · GPDYS.Setting.GX_def
GPDYS.Setting.GX_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.GX γ v = v + γ • P.negLap v

inner_GX

theorem · Lemmas.lean:441 · GPDYS.Setting.inner_GX
GPDYS.Setting.inner_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.inner u (P.GX γ v) = P.inner u v + γ * u ⬝ᵥ P.S.mulVec v

GX_inner

theorem · Lemmas.lean:445 · GPDYS.Setting.GX_inner
GPDYS.Setting.GX_inner :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.inner (P.GX γ u) v = P.inner u v + γ * u ⬝ᵥ P.S.mulVec v

inner_GX_self

theorem · Lemmas.lean:449 · GPDYS.Setting.inner_GX_self
GPDYS.Setting.inner_GX_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.inner v (P.GX γ v) = P.nrmGsq γ v

GX_add

theorem · Lemmas.lean:452 · GPDYS.Setting.GX_add
GPDYS.Setting.GX_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.GX γ (u + v) = P.GX γ u + P.GX γ v

GX_sub

theorem · Lemmas.lean:455 · GPDYS.Setting.GX_sub
GPDYS.Setting.GX_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.GX γ (u - v) = P.GX γ u - P.GX γ v

GX_smul

theorem · Lemmas.lean:458 · GPDYS.Setting.GX_smul
GPDYS.Setting.GX_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (v : ι → ℝ),
  P.GX γ (c • v) = c • P.GX γ v

GX_neg

theorem · Lemmas.lean:461 · GPDYS.Setting.GX_neg
GPDYS.Setting.GX_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.GX γ (-v) = -P.GX γ v

GX_zero

theorem · Lemmas.lean:464 · GPDYS.Setting.GX_zero
GPDYS.Setting.GX_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ), P.GX γ 0 = 0

nrmGsq_def

theorem · Lemmas.lean:466 · GPDYS.Setting.nrmGsq_def
GPDYS.Setting.nrmGsq_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.nrmGsq γ v = P.nrm2sq v + γ * P.kin v

nrmGsq_nonneg

theorem · Lemmas.lean:468 · GPDYS.Setting.nrmGsq_nonneg
GPDYS.Setting.nrmGsq_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), 0 ≤ P.nrmGsq γ v

nrm2sq_le_nrmGsq

theorem · Lemmas.lean:471 · GPDYS.Setting.nrm2sq_le_nrmGsq
GPDYS.Setting.nrm2sq_le_nrmGsq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrm2sq v ≤ P.nrmGsq γ v

mul_kin_le_nrmGsq

theorem · Lemmas.lean:474 · GPDYS.Setting.mul_kin_le_nrmGsq
GPDYS.Setting.mul_kin_le_nrmGsq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ} (v : ι → ℝ),
  γ * P.kin v ≤ P.nrmGsq γ v

nrmGsq_eq_zero_iff

theorem · Lemmas.lean:477 · GPDYS.Setting.nrmGsq_eq_zero_iff
GPDYS.Setting.nrmGsq_eq_zero_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrmGsq γ v = 0 ↔ v = 0

nrmGsq_smul

theorem · Lemmas.lean:485 · GPDYS.Setting.nrmGsq_smul
GPDYS.Setting.nrmGsq_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (v : ι → ℝ),
  P.nrmGsq γ (c • v) = c ^ 2 * P.nrmGsq γ v

nrmGsq_add

theorem · Lemmas.lean:488 · GPDYS.Setting.nrmGsq_add
GPDYS.Setting.nrmGsq_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.nrmGsq γ (u + v) = P.nrmGsq γ u + 2 * P.inner u (P.GX γ v) + P.nrmGsq γ v

inner_GX_sq_le

theorem · Lemmas.lean:493 · GPDYS.Setting.inner_GX_sq_le
Cauchy–Schwarz for the 𝒢-inner product ⟪u, G_X v⟫_h.
GPDYS.Setting.inner_GX_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (u v : ι → ℝ), P.inner u (P.GX γ v) ^ 2 ≤ P.nrmGsq γ u * P.nrmGsq γ v

normalize_def

theorem · Lemmas.lean:504 · GPDYS.Setting.normalize_def
GPDYS.Setting.normalize_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (z : ι → ℝ),
  P.normalize z = (P.nrm2 z)⁻¹ • z

nrm2_normalize

theorem · Lemmas.lean:506 · GPDYS.Setting.nrm2_normalize
GPDYS.Setting.nrm2_normalize :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 (P.normalize z) = 1

nrm2sq_normalize

theorem · Lemmas.lean:510 · GPDYS.Setting.nrm2sq_normalize
GPDYS.Setting.nrm2sq_normalize :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2sq (P.normalize z) = 1

nrm2_smul_normalize

theorem · Lemmas.lean:513 · GPDYS.Setting.nrm2_smul_normalize
GPDYS.Setting.nrm2_smul_normalize :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z • P.normalize z = z

normalize_eq_self

theorem · Lemmas.lean:516 · GPDYS.Setting.normalize_eq_self
GPDYS.Setting.normalize_eq_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u : ι → ℝ},
  P.nrm2 u = 1 → P.normalize u = u

normalize_smul

theorem · Lemmas.lean:519 · GPDYS.Setting.normalize_smul
GPDYS.Setting.normalize_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (z : ι → ℝ) {c : ℝ},
  0 < c → P.normalize (c • z) = P.normalize z

normalize_pos

theorem · Lemmas.lean:525 · GPDYS.Setting.normalize_pos
GPDYS.Setting.normalize_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → (∀ (i : ι), 0 < z i) → ∀ (i : ι), 0 < P.normalize z i

normalize_nonneg

theorem · Lemmas.lean:530 · GPDYS.Setting.normalize_nonneg
GPDYS.Setting.normalize_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  (∀ (i : ι), 0 ≤ z i) → ∀ (i : ι), 0 ≤ P.normalize z i

iter_zero

theorem · Lemmas.lean:536 · GPDYS.Setting.iter_zero
GPDYS.Setting.iter_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u0 : ι → ℝ),
  P.iter γ u0 0 = u0

iter_succ

theorem · Lemmas.lean:538 · GPDYS.Setting.iter_succ
GPDYS.Setting.iter_succ :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u0 : ι → ℝ) (k : ℕ),
  P.iter γ u0 (k + 1) = P.step γ (P.iter γ u0 k)

uiter_def

theorem · Lemmas.lean:542 · GPDYS.Setting.uiter_def
GPDYS.Setting.uiter_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u0 : ι → ℝ) (k : ℕ),
  P.uiter γ u0 k = P.normalize (P.iter γ u0 k)

R_def

theorem · Lemmas.lean:545 · GPDYS.Setting.R_def
GPDYS.Setting.R_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (z : ι → ℝ),
  P.R γ z = P.nrm2 z - 1 + γ * P.lam (P.normalize z)

lyap_def

theorem · Lemmas.lean:547 · GPDYS.Setting.lyap_def
GPDYS.Setting.lyap_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (z : ι → ℝ),
  P.lyap γ z = P.energy (P.normalize z) + P.R γ z ^ 2 / γ

energy_le_lyap

theorem · Lemmas.lean:550 · GPDYS.Setting.energy_le_lyap
GPDYS.Setting.energy_le_lyap :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 < γ → ∀ (z : ι → ℝ), P.energy (P.normalize z) ≤ P.lyap γ z

GPDYS/Resolvent.lean — Section 3.2 (the resolvent and the X-norm)

dot_M_mulVec

theorem · Resolvent.lean:34 · GPDYS.Setting.dot_M_mulVec
GPDYS.Setting.dot_M_mulVec :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (x y : ι → ℝ),
  x ⬝ᵥ P.M.mulVec y = P.inner x y

dot_MS_mulVec

theorem · Resolvent.lean:38 · GPDYS.Setting.dot_MS_mulVec
GPDYS.Setting.dot_MS_mulVec :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (x : ι → ℝ),
  x ⬝ᵥ (P.M + γ • P.S).mulVec x = P.nrm2sq x + γ * P.kin x

MS_mulVec_eq_zero

theorem · Resolvent.lean:43 · GPDYS.Setting.MS_mulVec_eq_zero
GPDYS.Setting.MS_mulVec_eq_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {x : ι → ℝ}, (P.M + γ • P.S).mulVec x = 0 → x = 0

MS_mulVec_injective

theorem · Resolvent.lean:51 · GPDYS.Setting.MS_mulVec_injective
GPDYS.Setting.MS_mulVec_injective :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → Function.Injective fun x => (P.M + γ • P.S).mulVec x

MS_det_ne_zero

theorem · Resolvent.lean:58 · GPDYS.Setting.MS_det_ne_zero
GPDYS.Setting.MS_det_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → (P.M + γ • P.S).det ≠ 0

MS_isUnit_det

theorem · Resolvent.lean:63 · GPDYS.Setting.MS_isUnit_det
GPDYS.Setting.MS_isUnit_det :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → IsUnit (P.M + γ • P.S).det

M_mulVec_injective

theorem · Resolvent.lean:66 · GPDYS.Setting.M_mulVec_injective
GPDYS.Setting.M_mulVec_injective :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι),
  Function.Injective fun x => P.M.mulVec x

resolvent_def

theorem · Resolvent.lean:75 · GPDYS.Setting.resolvent_def
GPDYS.Setting.resolvent_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.resolvent γ v = (P.M + γ • P.S)⁻¹.mulVec (P.M.mulVec v)

MS_mulVec_resolvent

theorem · Resolvent.lean:78 · GPDYS.Setting.MS_mulVec_resolvent
GPDYS.Setting.MS_mulVec_resolvent :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), (P.M + γ • P.S).mulVec (P.resolvent γ v) = P.M.mulVec v

M_mulVec_GX

theorem · Resolvent.lean:82 · GPDYS.Setting.M_mulVec_GX
GPDYS.Setting.M_mulVec_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.M.mulVec (P.GX γ v) = (P.M + γ • P.S).mulVec v

GX_resolvent

theorem · Resolvent.lean:85 · GPDYS.Setting.GX_resolvent
GPDYS.Setting.GX_resolvent :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.GX γ (P.resolvent γ v) = v

resolvent_GX

theorem · Resolvent.lean:90 · GPDYS.Setting.resolvent_GX
GPDYS.Setting.resolvent_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.resolvent γ (P.GX γ v) = v

GX_injective

theorem · Resolvent.lean:95 · GPDYS.Setting.GX_injective
GPDYS.Setting.GX_injective :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → Function.Injective (P.GX γ)

GX_eq_iff

theorem · Resolvent.lean:100 · GPDYS.Setting.GX_eq_iff
GPDYS.Setting.GX_eq_iff :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v x : ι → ℝ), P.GX γ x = v ↔ x = P.resolvent γ v

resolvent_zero_eq

theorem · Resolvent.lean:105 · GPDYS.Setting.resolvent_zero_eq
GPDYS.Setting.resolvent_zero_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ), P.resolvent 0 v = v

resolvent_add

theorem · Resolvent.lean:110 · GPDYS.Setting.resolvent_add
GPDYS.Setting.resolvent_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.resolvent γ (u + v) = P.resolvent γ u + P.resolvent γ v

resolvent_sub

theorem · Resolvent.lean:114 · GPDYS.Setting.resolvent_sub
GPDYS.Setting.resolvent_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.resolvent γ (u - v) = P.resolvent γ u - P.resolvent γ v

resolvent_smul

theorem · Resolvent.lean:118 · GPDYS.Setting.resolvent_smul
GPDYS.Setting.resolvent_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (v : ι → ℝ),
  P.resolvent γ (c • v) = c • P.resolvent γ v

resolvent_neg

theorem · Resolvent.lean:121 · GPDYS.Setting.resolvent_neg
GPDYS.Setting.resolvent_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.resolvent γ (-v) = -P.resolvent γ v

resolvent_zero

theorem · Resolvent.lean:124 · GPDYS.Setting.resolvent_zero
GPDYS.Setting.resolvent_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ), P.resolvent γ 0 = 0

nrm2sq_GX

theorem · Resolvent.lean:130 · GPDYS.Setting.nrm2sq_GX
‖y + γ(-Δ_h y)‖₂² = ‖y‖₂² + 2γ ⟪y,-Δ_h y⟫_h + γ² ‖-Δ_h y‖₂².
GPDYS.Setting.nrm2sq_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (y : ι → ℝ),
  P.nrm2sq (P.GX γ y) = P.nrm2sq y + 2 * γ * P.kin y + γ ^ 2 * P.nrm2sq (P.negLap y)

dotS_negLap_self

theorem · Resolvent.lean:135 · GPDYS.Setting.dotS_negLap_self
⟪y, -Δ_h(-Δ_h y)⟫_h = ‖-Δ_h y‖₂².
GPDYS.Setting.dotS_negLap_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (y : ι → ℝ),
  y ⬝ᵥ P.S.mulVec (P.negLap y) = P.nrm2sq (P.negLap y)

kin_GX

theorem · Resolvent.lean:139 · GPDYS.Setting.kin_GX
⟪G_X y, -Δ_h G_X y⟫_h = ⟪y,-Δ_h y⟫_h + 2γ‖-Δ_h y‖₂² + γ² ⟪-Δ_h y, -Δ_h(-Δ_h y)⟫_h.
GPDYS.Setting.kin_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (y : ι → ℝ),
  P.kin (P.GX γ y) = P.kin y + 2 * γ * P.nrm2sq (P.negLap y) + γ ^ 2 * P.kin (P.negLap y)

inner_GX_left_self

theorem · Resolvent.lean:143 · GPDYS.Setting.inner_GX_left_self
GPDYS.Setting.inner_GX_left_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (y : ι → ℝ),
  P.inner (P.GX γ y) y = P.nrm2sq y + γ * P.kin y

innerX_def

theorem · Resolvent.lean:149 · GPDYS.Setting.innerX_def
GPDYS.Setting.innerX_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v : ι → ℝ),
  P.innerX γ u v = P.inner u (P.resolvent γ v)

nrmXsq_def

theorem · Resolvent.lean:151 · GPDYS.Setting.nrmXsq_def
GPDYS.Setting.nrmXsq_def :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.nrmXsq γ v = P.inner v (P.resolvent γ v)

nrmXsq_eq

theorem · Resolvent.lean:154 · GPDYS.Setting.nrmXsq_eq
‖v‖_X² = ‖y‖₂² + γ ⟪y,-Δ_h y⟫_h with y = G_X⁻¹ v.
GPDYS.Setting.nrmXsq_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrmXsq γ v = P.nrm2sq (P.resolvent γ v) + γ * P.kin (P.resolvent γ v)

exists_eq_GX

theorem · Resolvent.lean:161 · GPDYS.Setting.exists_eq_GX
Every vector is G_X y for y = G_X⁻¹ v.
GPDYS.Setting.exists_eq_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), ∃ y, P.GX γ y = v

nrmXsq_GX

theorem · Resolvent.lean:165 · GPDYS.Setting.nrmXsq_GX
‖G_X v‖_X² = ‖v‖_𝒢², (3.7).
GPDYS.Setting.nrmXsq_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrmXsq γ (P.GX γ v) = P.nrmGsq γ v

innerX_GX_right

theorem · Resolvent.lean:169 · GPDYS.Setting.innerX_GX_right
⟪u, G_X v⟫_X = ⟪u, v⟫_h.
GPDYS.Setting.innerX_GX_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (u v : ι → ℝ), P.innerX γ u (P.GX γ v) = P.inner u v

innerX_comm

theorem · Resolvent.lean:175 · GPDYS.Setting.innerX_comm
h-self-adjointness of the resolvent: ⟪u, G_X⁻¹ v⟫_h = ⟪G_X⁻¹ u, v⟫_h.
GPDYS.Setting.innerX_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (u v : ι → ℝ), P.innerX γ u v = P.innerX γ v u

innerX_add_left

theorem · Resolvent.lean:181 · GPDYS.Setting.innerX_add_left
GPDYS.Setting.innerX_add_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v x : ι → ℝ),
  P.innerX γ (u + v) x = P.innerX γ u x + P.innerX γ v x

innerX_add_right

theorem · Resolvent.lean:185 · GPDYS.Setting.innerX_add_right
GPDYS.Setting.innerX_add_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v x : ι → ℝ),
  P.innerX γ x (u + v) = P.innerX γ x u + P.innerX γ x v

innerX_smul_left

theorem · Resolvent.lean:189 · GPDYS.Setting.innerX_smul_left
GPDYS.Setting.innerX_smul_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (u x : ι → ℝ),
  P.innerX γ (c • u) x = c * P.innerX γ u x

innerX_smul_right

theorem · Resolvent.lean:192 · GPDYS.Setting.innerX_smul_right
GPDYS.Setting.innerX_smul_right :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (u x : ι → ℝ),
  P.innerX γ x (c • u) = c * P.innerX γ x u

innerX_sub_left

theorem · Resolvent.lean:196 · GPDYS.Setting.innerX_sub_left
GPDYS.Setting.innerX_sub_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u v x : ι → ℝ),
  P.innerX γ (u - v) x = P.innerX γ u x - P.innerX γ v x

innerX_neg_left

theorem · Resolvent.lean:200 · GPDYS.Setting.innerX_neg_left
GPDYS.Setting.innerX_neg_left :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (u x : ι → ℝ),
  P.innerX γ (-u) x = -P.innerX γ u x

nrmXsq_nonneg

theorem · Resolvent.lean:203 · GPDYS.Setting.nrmXsq_nonneg
GPDYS.Setting.nrmXsq_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), 0 ≤ P.nrmXsq γ v

nrmXsq_smul

theorem · Resolvent.lean:208 · GPDYS.Setting.nrmXsq_smul
GPDYS.Setting.nrmXsq_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ c : ℝ) (v : ι → ℝ),
  P.nrmXsq γ (c • v) = c ^ 2 * P.nrmXsq γ v

nrmXsq_neg

theorem · Resolvent.lean:211 · GPDYS.Setting.nrmXsq_neg
GPDYS.Setting.nrmXsq_neg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (v : ι → ℝ),
  P.nrmXsq γ (-v) = P.nrmXsq γ v

innerX_sq_le

theorem · Resolvent.lean:215 · GPDYS.Setting.innerX_sq_le
Cauchy–Schwarz in X: ⟪u, v⟫_X² ≤ ‖u‖_X² ‖v‖_X².
GPDYS.Setting.innerX_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (u v : ι → ℝ), P.innerX γ u v ^ 2 ≤ P.nrmXsq γ u * P.nrmXsq γ v

sqrt_nrmXsq_add_le

theorem · Resolvent.lean:221 · GPDYS.Setting.sqrt_nrmXsq_add_le
Triangle inequality for ‖·‖_X.
GPDYS.Setting.sqrt_nrmXsq_add_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (u v : ι → ℝ), √(P.nrmXsq γ (u + v)) ≤ √(P.nrmXsq γ u) + √(P.nrmXsq γ v)

nrmXsq_le_nrm2sq

theorem · Resolvent.lean:241 · GPDYS.Setting.nrmXsq_le_nrm2sq
‖v‖_X² ≤ ‖v‖₂², (3.5).
GPDYS.Setting.nrmXsq_le_nrm2sq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrmXsq γ v ≤ P.nrm2sq v

nrmXsq_pos

theorem · Resolvent.lean:249 · GPDYS.Setting.nrmXsq_pos
‖v‖_X > 0 for v ≠ 0, (3.5).
GPDYS.Setting.nrmXsq_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {v : ι → ℝ}, v ≠ 0 → 0 < P.nrmXsq γ v

nrm2sq_resolvent_le_nrmXsq

theorem · Resolvent.lean:258 · GPDYS.Setting.nrm2sq_resolvent_le_nrmXsq
‖G_X⁻¹ v‖₂² ≤ ‖v‖_X², (3.5).
GPDYS.Setting.nrm2sq_resolvent_le_nrmXsq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrm2sq (P.resolvent γ v) ≤ P.nrmXsq γ v

nrm2sq_sub_nrmXsq_le

theorem · Resolvent.lean:265 · GPDYS.Setting.nrm2sq_sub_nrmXsq_le
Upper bound in (3.6): ‖v‖₂² - ‖v‖_X² ≤ γ ⟪v, -Δ_h v⟫_h. The lower bound is nrmXsq_le_nrm2sq.
GPDYS.Setting.nrm2sq_sub_nrmXsq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrm2sq v - P.nrmXsq γ v ≤ γ * P.kin v

nrmXsq_le_nrmGsq

theorem · Resolvent.lean:276 · GPDYS.Setting.nrmXsq_le_nrmGsq
‖v‖_X² ≤ ‖v‖_𝒢².
GPDYS.Setting.nrmXsq_le_nrmGsq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (v : ι → ℝ), P.nrmXsq γ v ≤ P.nrmGsq γ v

nrm2sq_contraction

theorem · Resolvent.lean:282 · GPDYS.Setting.nrm2sq_contraction
For -1 ≤ a ≤ 0, the operator a I + (1 - a) G_X⁻¹ is a contraction in ‖·‖₂.
GPDYS.Setting.nrm2sq_contraction :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ a : ℝ},
  0 ≤ γ → -1 ≤ a → a ≤ 0 → ∀ (u : ι → ℝ), P.nrm2sq (a • u + (1 - a) • P.resolvent γ u) ≤ P.nrm2sq u

nrm2sq_negLap_le

theorem · Resolvent.lean:302 · GPDYS.Setting.nrm2sq_negLap_le
‖-Δ_h y‖₂² ≤ μ ⟪y,-Δ_h y⟫_h if ⟪·,-Δ_h ·⟫_h ≤ μ ‖·‖₂².
GPDYS.Setting.nrm2sq_negLap_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {μ : ℝ},
  0 ≤ μ → (∀ (x : ι → ℝ), P.kin x ≤ μ * P.nrm2sq x) → ∀ (y : ι → ℝ), P.nrm2sq (P.negLap y) ≤ μ * P.kin y

nrm2sq_le_mul_nrmXsq

theorem · Resolvent.lean:321 · GPDYS.Setting.nrm2sq_le_mul_nrmXsq
‖v‖₂² ≤ (1 + γ μ) ‖v‖_X² if ⟪·,-Δ_h ·⟫_h ≤ μ ‖·‖₂², (5.3).
GPDYS.Setting.nrm2sq_le_mul_nrmXsq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ μ : ℝ},
  0 ≤ γ → 0 ≤ μ → (∀ (x : ι → ℝ), P.kin x ≤ μ * P.nrm2sq x) → ∀ (v : ι → ℝ), P.nrm2sq v ≤ (1 + γ * μ) * P.nrmXsq γ v

resolvent_apply

theorem · Resolvent.lean:336 · GPDYS.Setting.resolvent_apply
GPDYS.Setting.resolvent_apply :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (b : ι → ℝ) (i : ι),
  P.resolvent γ b i = ∑ j, (P.M + γ • P.S)⁻¹ i j * (P.w j * b j)

resolvent_pos_of_nonneg

theorem · Resolvent.lean:341 · GPDYS.Setting.resolvent_pos_of_nonneg
A positive matrix maps a nonnegative nonzero vector to a positive vector.
GPDYS.Setting.resolvent_pos_of_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 < γ → ∀ {b : ι → ℝ}, (∀ (i : ι), 0 ≤ b i) → b ≠ 0 → ∀ (i : ι), 0 < P.resolvent γ b i

resolvent_nonneg_of_nonneg

theorem · Resolvent.lean:354 · GPDYS.Setting.resolvent_nonneg_of_nonneg
GPDYS.Setting.resolvent_nonneg_of_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {b : ι → ℝ}, (∀ (i : ι), 0 ≤ b i) → ∀ (i : ι), 0 ≤ P.resolvent γ b i

GPDYS/Holder.lean — Hölder inequalities used in Lemma 4.3

wnorm6p6_nonneg'

theorem · Holder.lean:24 · GPDYS.wnorm6p6_nonneg'
‖v‖₆⁶ ≥ 0 for nonnegative weights.
GPDYS.wnorm6p6_nonneg' :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ), (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), 0 ≤ GPDYS.wnorm6p6 w v

wnorm3p3_nonneg'

theorem · Holder.lean:28 · GPDYS.wnorm3p3_nonneg'
‖v‖₃³ ≥ 0 for nonnegative weights.
GPDYS.wnorm3p3_nonneg' :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ), (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), 0 ≤ GPDYS.wnorm3p3 w v

wnorm6_nonneg

theorem · Holder.lean:32 · GPDYS.wnorm6_nonneg
‖v‖₆ ≥ 0 for nonnegative weights.
GPDYS.wnorm6_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ), (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), 0 ≤ GPDYS.wnorm6 w v

wnorm3_nonneg

theorem · Holder.lean:36 · GPDYS.wnorm3_nonneg
‖v‖₃ ≥ 0 for nonnegative weights.
GPDYS.wnorm3_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ), (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), 0 ≤ GPDYS.wnorm3 w v

wnorm6_pow_six

theorem · Holder.lean:40 · GPDYS.wnorm6_pow_six
‖v‖₆⁶ = ∑ᵢ wᵢ vᵢ⁶ for nonnegative weights.
GPDYS.wnorm6_pow_six :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), GPDYS.wnorm6 w v ^ 6 = GPDYS.wnorm6p6 w v

wnorm3_pow_three

theorem · Holder.lean:47 · GPDYS.wnorm3_pow_three
‖v‖₃³ = ∑ᵢ wᵢ |vᵢ|³ for nonnegative weights.
GPDYS.wnorm3_pow_three :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), GPDYS.wnorm3 w v ^ 3 = GPDYS.wnorm3p3 w v

wnorm3_sq_eq

theorem · Holder.lean:54 · GPDYS.wnorm3_sq_eq
‖v²‖₃ = ‖v‖₆² (componentwise square).
GPDYS.wnorm3_sq_eq :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (v : ι → ℝ), (GPDYS.wnorm3 w fun i => v i ^ 2) = GPDYS.wnorm6 w v ^ 2

holder_six_three

theorem · Holder.lean:66 · GPDYS.holder_six_three
Hölder with exponents 3 and 3/2: ∑ᵢ wᵢ aᵢ² bᵢ² ≤ ‖a‖₆² ‖b‖₃².
GPDYS.holder_six_three :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (a b : ι → ℝ), ∑ i, w i * (a i ^ 2 * b i ^ 2) ≤ GPDYS.wnorm6 w a ^ 2 * GPDYS.wnorm3 w b ^ 2

wnorm3_sq_le

theorem · Holder.lean:115 · GPDYS.wnorm3_sq_le
Hölder with exponents 4/3 and 4: ‖b‖₃² ≤ ‖b‖₂ ‖b‖₆.
GPDYS.wnorm3_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (b : ι → ℝ), GPDYS.wnorm3 w b ^ 2 ≤ GPDYS.wnorm2 w b * GPDYS.wnorm6 w b

holder_cubes

theorem · Holder.lean:177 · GPDYS.holder_cubes
Cauchy–Schwarz: ∑ᵢ wᵢ |uᵢ|³ |cᵢ|³ ≤ ‖u‖₆³ ‖c‖₆³.
GPDYS.holder_cubes :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) →
    ∀ (u c : ι → ℝ), ∑ i, w i * (|u i| ^ 3 * |c i| ^ 3) ≤ GPDYS.wnorm6 w u ^ 3 * GPDYS.wnorm6 w c ^ 3

wnorm6_le_of_abs_le

theorem · Holder.lean:202 · GPDYS.wnorm6_le_of_abs_le
Monotonicity of ‖·‖₆ under a componentwise bound |aᵢ| ≤ |bᵢ|.
GPDYS.wnorm6_le_of_abs_le :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ {a b : ι → ℝ}, (∀ (i : ι), |a i| ≤ |b i|) → GPDYS.wnorm6 w a ≤ GPDYS.wnorm6 w b

abs_rpow_sixth_mul_pow_six

theorem · Holder.lean:214 · GPDYS.abs_rpow_sixth_mul_pow_six
|w^{1/6} x|⁶ = w x⁶ for w ≥ 0 (the integrand of the Minkowski inequality).
GPDYS.abs_rpow_sixth_mul_pow_six :
∀ (w : ℝ), 0 ≤ w → ∀ (x : ℝ), |w ^ (1 / 6) * x| ^ 6 = w * x ^ 6

wnorm6_add_le

theorem · Holder.lean:221 · GPDYS.wnorm6_add_le
The ‖·‖₆ triangle inequality (Minkowski), used for ‖u + σδ‖₆ ≤ (1-σ)‖u‖₆ + σ‖u⁺‖₆.
GPDYS.wnorm6_add_le :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (a b : ι → ℝ), GPDYS.wnorm6 w (a + b) ≤ GPDYS.wnorm6 w a + GPDYS.wnorm6 w b

wnorm6_smul

theorem · Holder.lean:244 · GPDYS.wnorm6_smul
Homogeneity: ‖c • v‖₆ = |c| ‖v‖₆.
GPDYS.wnorm6_smul :
∀ {ι : Type u_1} [inst : Fintype ι] (w : ι → ℝ),
  (∀ (i : ι), 0 ≤ w i) → ∀ (c : ℝ) (v : ι → ℝ), GPDYS.wnorm6 w (c • v) = |c| * GPDYS.wnorm6 w v

GPDYS/SobolevConst.lean — a Sobolev constant exists on every fixed nonempty mesh

exists_sobolev_const

theorem · SobolevConst.lean:23 · GPDYS.exists_sobolev_const
On a fixed nonempty mesh a Sobolev constant exists for positive weights w and positive semidefinite S. The proof chooses (∑ᵢ wᵢ)^{1/6} / √(minᵢ wᵢ).
GPDYS.exists_sobolev_const :
∀ {ι : Type u_1} [inst : Fintype ι] [Nonempty ι] (w : ι → ℝ),
  (∀ (i : ι), 0 < w i) →
    ∀ (S : Matrix ι ι ℝ),
      (∀ (v : ι → ℝ), 0 ≤ v ⬝ᵥ S.mulVec v) →
        ∃ CS, 0 < CS ∧ ∀ (v : ι → ℝ), GPDYS.wnorm6 w v ≤ CS * √(v ⬝ᵥ S.mulVec v + GPDYS.wnorm2sq w v)

GPDYS/Constants.lean — Section 3.3: Lemma 3.1 and Lemma 3.2

wmin_le

theorem · Constants.lean:25 · GPDYS.Setting.wmin_le
GPDYS.Setting.wmin_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (i : ι), P.wmin ≤ P.w i

wmin_pos

theorem · Constants.lean:27 · GPDYS.Setting.wmin_pos
GPDYS.Setting.wmin_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι], 0 < P.wmin

le_Vinf

theorem · Constants.lean:31 · GPDYS.Setting.le_Vinf
GPDYS.Setting.le_Vinf :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (i : ι), P.V i ≤ P.Vinf

Vinf_nonneg

theorem · Constants.lean:33 · GPDYS.Setting.Vinf_nonneg
GPDYS.Setting.Vinf_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι], 0 ≤ P.Vinf

S_diag_nonneg

theorem · Constants.lean:38 · GPDYS.Setting.S_diag_nonneg
Sᵢᵢ ≥ 0, as the value of the quadratic form of S at the ith unit vector.
GPDYS.Setting.S_diag_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (i : ι), 0 ≤ P.S i i

le_Λd

theorem · Constants.lean:43 · GPDYS.Setting.le_Λd
GPDYS.Setting.le_Λd :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (i : ι), P.S i i / P.w i ≤ P.Λd

Λd_nonneg

theorem · Constants.lean:45 · GPDYS.Setting.Λd_nonneg
GPDYS.Setting.Λd_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι], 0 ≤ P.Λd

pot_le

theorem · Constants.lean:50 · GPDYS.Setting.pot_le
⟪V v, v⟫_h ≤ ‖V‖_∞ ‖v‖₂².
GPDYS.Setting.pot_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.pot v ≤ P.Vinf * P.nrm2sq v

nrm2_Vmul_le

theorem · Constants.lean:59 · GPDYS.Setting.nrm2_Vmul_le
‖V v‖₂ ≤ ‖V‖_∞ ‖v‖₂.
GPDYS.Setting.nrm2_Vmul_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  (P.nrm2 fun i => P.V i * v i) ≤ P.Vinf * P.nrm2 v

energy_le_E0

theorem · Constants.lean:75 · GPDYS.Setting.energy_le_E0
GPDYS.Setting.energy_le_E0 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), P.energy u0 ≤ P.E0 u0

E0_le

theorem · Constants.lean:81 · GPDYS.Setting.E0_le
GPDYS.Setting.E0_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ),
  P.E0 u0 ≤ 9 / 8 * P.energy u0

energy_pos_of_ne_zero

theorem · Constants.lean:97 · GPDYS.Setting.energy_pos_of_ne_zero
GPDYS.Setting.energy_pos_of_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ}, v ≠ 0 → 0 < P.energy v

E0_pos

theorem · Constants.lean:109 · GPDYS.Setting.E0_pos
GPDYS.Setting.E0_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), u0 ≠ 0 → 0 < P.E0 u0

E0_nonneg

theorem · Constants.lean:112 · GPDYS.Setting.E0_nonneg
GPDYS.Setting.E0_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), 0 ≤ P.E0 u0

P0_nonneg

theorem · Constants.lean:114 · GPDYS.Setting.P0_nonneg
GPDYS.Setting.P0_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), 0 ≤ P.P0 u0

CS_pos

theorem · Constants.lean:118 · GPDYS.Setting.CS_pos
The Sobolev constant is positive (apply the Sobolev inequality to the constant vector 1).
GPDYS.Setting.CS_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι], 0 < P.CS

P0_pos

theorem · Constants.lean:133 · GPDYS.Setting.P0_pos
GPDYS.Setting.P0_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  0 < P.P0 u0

U0_nonneg

theorem · Constants.lean:136 · GPDYS.Setting.U0_nonneg
GPDYS.Setting.U0_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  0 ≤ P.U0 u0

U0_pos

theorem · Constants.lean:144 · GPDYS.Setting.U0_pos
GPDYS.Setting.U0_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → 0 < P.U0 u0

U0_le_inv_wmin

theorem · Constants.lean:154 · GPDYS.Setting.U0_le_inv_wmin
GPDYS.Setting.U0_le_inv_wmin :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), P.U0 u0 ≤ 1 / P.wmin

B0_nonneg

theorem · Constants.lean:156 · GPDYS.Setting.B0_nonneg
GPDYS.Setting.B0_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  0 ≤ P.B0 u0

E0_le_D

theorem · Constants.lean:163 · GPDYS.Setting.E0_le_D
GPDYS.Setting.E0_le_D :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  P.E0 u0 ≤ P.D u0

B0_le_D

theorem · Constants.lean:166 · GPDYS.Setting.B0_le_D
GPDYS.Setting.B0_le_D :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ), P.B0 u0 ≤ P.D u0

D_pos

theorem · Constants.lean:169 · GPDYS.Setting.D_pos
GPDYS.Setting.D_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → 0 < P.D u0

B1_pos

theorem · Constants.lean:172 · GPDYS.Setting.B1_pos
GPDYS.Setting.B1_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → 0 < P.B1 u0

C0_pos

theorem · Constants.lean:177 · GPDYS.Setting.C0_pos
GPDYS.Setting.C0_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  0 < P.C0 u0

L0_pos

theorem · Constants.lean:180 · GPDYS.Setting.L0_pos
GPDYS.Setting.L0_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → 0 < P.L0 u0

γmax_pos

theorem · Constants.lean:192 · GPDYS.Setting.γmax_pos
GPDYS.Setting.γmax_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → 0 < P.γmax u0

C4_identity

theorem · Constants.lean:204 · GPDYS.Setting.C4_identity
The key algebraic identity behind (C4): with s = √(B₁² + 12 D Λ_d), 4 (γ B₁ + 3 γ² D Λ_d - 1) = (γ (B₁ + s) - 2) (γ (s - B₁) + 2).
GPDYS.Setting.C4_identity :
∀ {B D Λ γ s : ℝ},
  s ^ 2 = B ^ 2 + 12 * D * Λ → 4 * (γ * B + 3 * γ ^ 2 * D * Λ - 1) = (γ * (B + s) - 2) * (γ * (s - B) + 2)

conditions_of_le_γmax

theorem · Constants.lean:209 · GPDYS.Setting.conditions_of_le_γmax
Lemma 3.1 (⇒): γ ≤ γ_max implies (C1)–(C4).
GPDYS.Setting.conditions_of_le_γmax :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → ∀ {γ : ℝ}, 0 < γ → γ ≤ P.γmax u0 → P.Conditions u0 γ

le_γmax_of_conditions

theorem · Constants.lean:235 · GPDYS.Setting.le_γmax_of_conditions
Lemma 3.1 (⇐): (C1)–(C4) imply γ ≤ γ_max.
GPDYS.Setting.le_γmax_of_conditions :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  u0 ≠ 0 → ∀ {γ : ℝ}, 0 < γ → P.Conditions u0 γ → γ ≤ P.γmax u0

le_inv_max_of_conditions

theorem · Constants.lean:262 · GPDYS.Setting.le_inv_max_of_conditions
Under (C1), (C2): γ ≤ 1 / max{1, 128 E_h(u⁰)}.
GPDYS.Setting.le_inv_max_of_conditions :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι] {γ : ℝ},
  0 < γ → P.Conditions u0 γ → γ ≤ 1 / max 1 (128 * P.energy u0)

lyap_init_le_E0

theorem · Constants.lean:275 · GPDYS.Setting.lyap_init_le_E0
Lemma 3.1, last assertion: 𝓛(z⁰) ≤ E₀ for z⁰ = u⁰ ∈ 𝓜. The proof uses 𝓛(z⁰) = E_h(u⁰) + γ λ(u⁰)².
GPDYS.Setting.lyap_init_le_E0 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u0 : ι → ℝ) [Nonempty ι],
  P.nrm2 u0 = 1 → ∀ {γ : ℝ}, 0 < γ → P.Conditions u0 γ → P.lyap γ u0 ≤ P.E0 u0

nonempty_of_nrm2sq_eq_one

theorem · Constants.lean:295 · GPDYS.Setting.nonempty_of_nrm2sq_eq_one
A vector of norm one forces the index type to be nonempty.
GPDYS.Setting.nonempty_of_nrm2sq_eq_one :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.nrm2sq v = 1 → Nonempty ι

kin_le_two_E0

theorem · Constants.lean:308 · GPDYS.Setting.kin_le_two_E0
Lemma 3.2 (i): ⟪v, -Δ_h v⟫_h ≤ 2E₀.
GPDYS.Setting.kin_le_two_E0 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → P.kin v ≤ 2 * P.E0 u0

h1norm_le

theorem · Constants.lean:312 · GPDYS.Setting.h1norm_le
Lemma 3.2 (i): ‖v‖²_{1,h} ≤ 2E₀ + 1.
GPDYS.Setting.h1norm_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → P.kin v + P.nrm2sq v ≤ 2 * P.E0 u0 + 1

wnorm6_sq_le_P0

theorem · Constants.lean:316 · GPDYS.Setting.wnorm6_sq_le_P0
Lemma 3.2 (i): ‖v‖₆² ≤ P₀.
GPDYS.Setting.wnorm6_sq_le_P0 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → GPDYS.wnorm6 P.w v ^ 2 ≤ P.P0 u0

wnorm6p6_le_P0_cube

theorem · Constants.lean:328 · GPDYS.Setting.wnorm6p6_le_P0_cube
Lemma 3.2 (i): ‖v‖₆⁶ ≤ P₀³.
GPDYS.Setting.wnorm6p6_le_P0_cube :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → GPDYS.wnorm6p6 P.w v ≤ P.P0 u0 ^ 3

sq_le_U0

theorem · Constants.lean:335 · GPDYS.Setting.sq_le_U0
Lemma 3.2 (ii): vᵢ² ≤ U₀ for every i (i.e. ‖v‖_∞² ≤ U₀).
GPDYS.Setting.sq_le_U0 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → ∀ (i : ι), v i ^ 2 ≤ P.U0 u0

nrm2_cube_le

theorem · Constants.lean:392 · GPDYS.Setting.nrm2_cube_le
Lemma 3.2 (iii): ‖v³‖₂ ≤ min{P₀^{3/2}, U₀}.
GPDYS.Setting.nrm2_cube_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → (P.nrm2 fun i => v i ^ 3) ≤ min (P.P0 u0 ^ (3 / 2)) (P.U0 u0)

wnorm4p4_le_min

theorem · Constants.lean:419 · GPDYS.Setting.wnorm4p4_le_min
Lemma 3.2 (iii): ‖v‖₄⁴ ≤ min{P₀^{3/2}, U₀}.
GPDYS.Setting.wnorm4p4_le_min :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → GPDYS.wnorm4p4 P.w v ≤ min (P.P0 u0 ^ (3 / 2)) (P.U0 u0)

nrm2_nonlin_le

theorem · Constants.lean:428 · GPDYS.Setting.nrm2_nonlin_le
Lemma 3.2 (iii): ‖n(v)‖₂ ≤ B₀.
GPDYS.Setting.nrm2_nonlin_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → ∀ [Nonempty ι], P.nrm2 (P.nonlin v) ≤ P.B0 u0

inner_nonlin_self_le

theorem · Constants.lean:446 · GPDYS.Setting.inner_nonlin_self_le
Lemma 3.2 (iii): ⟪n(v), v⟫_h ≤ B₀.
GPDYS.Setting.inner_nonlin_self_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → ∀ [Nonempty ι], P.inner (P.nonlin v) v ≤ P.B0 u0

lam_le_two_D

theorem · Constants.lean:455 · GPDYS.Setting.lam_le_two_D
Upper bound in Lemma 3.2 (iv): λ(v) ≤ 2D; lam_nonneg gives the lower bound.
GPDYS.Setting.lam_le_two_D :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 v : ι → ℝ},
  P.nrm2sq v = 1 → P.energy v ≤ P.E0 u0 → ∀ [Nonempty ι], P.lam v ≤ 2 * P.D u0

GPDYS/Step.lean — Section 4.1: Lemma 4.1 and Lemma 4.2

delta

def · Step.lean:27 · GPDYS.Setting.delta
The change of direction δ = u⁺ - u of one step.
def delta (γ : ℝ) (z : ι → ℝ) : ι → ℝ := P.normalize (P.step γ z) - P.normalize z
Elaborated type
GPDYS.Setting.delta :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ι → ℝ

taylorT

def · Step.lean:31 · GPDYS.Setting.taylorT
The Taylor remainder 𝒯(u, d) = H(u + d) - H(u) - ⟪n(u), d⟫_h of the explicit part of the energy, (4.2).
def taylorT (u d : ι → ℝ) : ℝ := P.H (u + d) - P.H u - P.inner (P.nonlin u) d
Elaborated type
GPDYS.Setting.taylorT :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ℝ

inner_sub_self_eq

theorem · Step.lean:36 · GPDYS.Setting.inner_sub_self_eq
⟪u, u⁺ - u⟫_h = -½ ‖u⁺ - u‖₂² for unit vectors u, u⁺.
GPDYS.Setting.inner_sub_self_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u up : ι → ℝ},
  P.nrm2sq u = 1 → P.nrm2sq up = 1 → P.inner u (up - u) = -(1 / 2) * P.nrm2sq (up - u)

nrm2sq_sub_eq

theorem · Step.lean:41 · GPDYS.Setting.nrm2sq_sub_eq
‖u⁺ - u‖₂² = 2 (1 - ⟪u, u⁺⟫_h) for unit vectors u, u⁺.
GPDYS.Setting.nrm2sq_sub_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u up : ι → ℝ},
  P.nrm2sq u = 1 → P.nrm2sq up = 1 → P.nrm2sq (up - u) = 2 * (1 - P.inner u up)

nrm2sq_delta_eq

theorem · Step.lean:46 · GPDYS.Setting.nrm2sq_delta_eq
‖δ‖₂² = 2 (1 - ⟪u, z⁺⟫_h / ‖z⁺‖₂), the second form in (4.1).
GPDYS.Setting.nrm2sq_delta_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ} {z : ι → ℝ},
  z ≠ 0 → P.step γ z ≠ 0 → P.nrm2sq (P.delta γ z) = 2 * (1 - P.inner (P.normalize z) (P.step γ z) / P.nrm2 (P.step γ z))

taylorT_eq

theorem · Step.lean:57 · GPDYS.Setting.taylorT_eq
The explicit polynomial form of the remainder: 𝒯(u, d) = ½ ∑ᵢ wᵢ Vᵢ dᵢ² + (β/2) ∑ᵢ wᵢ dᵢ² (3uᵢ² + 2uᵢdᵢ + ½dᵢ²).
GPDYS.Setting.taylorT_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u d : ι → ℝ),
  P.taylorT u d =
    1 / 2 * ∑ i, P.w i * (P.V i * d i ^ 2) +
      P.β / 2 * ∑ i, P.w i * (d i ^ 2 * (3 * u i ^ 2 + 2 * u i * d i + d i ^ 2 / 2))

taylorE

theorem · Step.lean:67 · GPDYS.Setting.taylorE
The Taylor expansion (4.3): E_h(u + d) - E_h(u) = ⟪∇E_h(u), d⟫_h + ½ ⟪d, -Δ_h d⟫_h + 𝒯(u, d).
GPDYS.Setting.taylorE :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (u d : ι → ℝ),
  P.energy (u + d) - P.energy u = P.inner (P.gradE u) d + 1 / 2 * P.kin d + P.taylorT u d

GX_eq_nrm2_smul

theorem · Step.lean:77 · GPDYS.Setting.GX_eq_nrm2_smul
G_X z = ‖z‖₂ u + ‖z‖₂ γ (-Δ_h u) for z ≠ 0 and u = z/‖z‖₂.
GPDYS.Setting.GX_eq_nrm2_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) {z : ι → ℝ},
  z ≠ 0 → P.GX γ z = P.nrm2 z • P.normalize z + (P.nrm2 z * γ) • P.negLap (P.normalize z)

GX_step_aux

theorem · Step.lean:84 · GPDYS.Setting.GX_step_aux
The first identity of (4.4) with z = c • u substituted: for any scalar c and vector u, G_X (c u + G_X⁻¹(2u - c u - γ n(u)) - u) = u - γ n(u) - γ (1 - c) (-Δ_h u).
GPDYS.Setting.GX_step_aux :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ (c : ℝ) (u : ι → ℝ),
      P.GX γ (c • u + P.resolvent γ (2 • u - c • u - γ • P.nonlin u) - u) =
        u - γ • P.nonlin u - (γ * (1 - c)) • P.negLap u

GX_step

theorem · Step.lean:98 · GPDYS.Setting.GX_step
Lemma 4.1, (4.4) first identity: G_X z⁺ = u - γ n(u) - γ(1 - ‖z‖₂)(-Δ_h u).
GPDYS.Setting.GX_step :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.GX γ (P.step γ z) =
          P.normalize z - γ • P.nonlin (P.normalize z) - (γ * (1 - P.nrm2 z)) • P.negLap (P.normalize z)

GX_step_sub_eq

theorem · Step.lean:105 · GPDYS.Setting.GX_step_sub_eq
(4.7): G_X (z⁺ - z) = (1 - ‖z‖₂) u - γ ∇E_h(u).
GPDYS.Setting.GX_step_sub_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {z : ι → ℝ}, z ≠ 0 → P.GX γ (P.step γ z - z) = (1 - P.nrm2 z) • P.normalize z - γ • P.gradE (P.normalize z)

GX_step_sub

theorem · Step.lean:112 · GPDYS.Setting.GX_step_sub
Lemma 4.1, (4.4) second identity: G_X (z⁺ - z) = -(R u + γ g(u)).
GPDYS.Setting.GX_step_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {z : ι → ℝ}, z ≠ 0 → P.GX γ (P.step γ z - z) = -(P.R γ z • P.normalize z + γ • P.g (P.normalize z))

step_sub_decomp

theorem · Step.lean:119 · GPDYS.Setting.step_sub_decomp
(4.8): z⁺ - z = ‖z⁺‖₂ δ + (‖z⁺‖₂ - ‖z‖₂) u.
GPDYS.Setting.step_sub_decomp :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.step γ z ≠ 0 →
          P.step γ z - z = P.nrm2 (P.step γ z) • P.delta γ z + (P.nrm2 (P.step γ z) - P.nrm2 z) • P.normalize z

GX_delta

theorem · Step.lean:129 · GPDYS.Setting.GX_delta
Lemma 4.1, (4.5): ‖z⁺‖₂ G_X δ = (1 - ‖z⁺‖₂) u - γ ∇E_h(u) - γ(‖z⁺‖₂ - ‖z‖₂)(-Δ_h u).
GPDYS.Setting.GX_delta :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.step γ z ≠ 0 →
          P.nrm2 (P.step γ z) • P.GX γ (P.delta γ z) =
            (1 - P.nrm2 (P.step γ z)) • P.normalize z - γ • P.gradE (P.normalize z) -
              (γ * (P.nrm2 (P.step γ z) - P.nrm2 z)) • P.negLap (P.normalize z)

radial_identity

theorem · Step.lean:138 · GPDYS.Setting.radial_identity
Lemma 4.1, (4.6): (1 + γ⟪u,-Δ_h u⟫_h)(‖z⁺‖₂ - ‖z‖₂) = -R - ‖z⁺‖₂ (γ⟪-Δ_h u, δ⟫_h - ½‖δ‖₂²).
GPDYS.Setting.radial_identity :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.step γ z ≠ 0 →
          (1 + γ * P.kin (P.normalize z)) * (P.nrm2 (P.step γ z) - P.nrm2 z) =
            -P.R γ z -
              P.nrm2 (P.step γ z) * (γ * P.normalize z ⬝ᵥ P.S.mulVec (P.delta γ z) - 1 / 2 * P.nrm2sq (P.delta γ z))

energy_identity

theorem · Step.lean:167 · GPDYS.Setting.energy_identity
Lemma 4.2, (4.9): the energy identity γ(E_h(u) - E_h(u⁺)) = ((‖z⁺‖₂+1)/2)‖δ‖₂² + γ(‖z⁺‖₂ - ½)⟪δ,-Δ_h δ⟫_h + γ(‖z⁺‖₂ - ‖z‖₂)⟪-Δ_h u, δ⟫_h - γ 𝒯(u, δ).
GPDYS.Setting.energy_identity :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.step γ z ≠ 0 →
          γ * (P.energy (P.normalize z) - P.energy (P.normalize (P.step γ z))) =
            (P.nrm2 (P.step γ z) + 1) / 2 * P.nrm2sq (P.delta γ z) +
                  γ * (P.nrm2 (P.step γ z) - 1 / 2) * P.kin (P.delta γ z) +
                γ * (P.nrm2 (P.step γ z) - P.nrm2 z) * P.normalize z ⬝ᵥ P.S.mulVec (P.delta γ z) -
              γ * P.taylorT (P.normalize z) (P.delta γ z)

residual_identity

theorem · Step.lean:195 · GPDYS.Setting.residual_identity
Lemma 4.2, (4.10): the residual identity R⁺ = -½‖δ‖₂² - γ(‖z⁺‖₂ - ‖z‖₂)⟪-Δ_h u, u⁺⟫_h - γ(‖z⁺‖₂ - 1)⟪-Δ_h δ, u⁺⟫_h + γ⟪n(u⁺) - n(u), u⁺⟫_h.
GPDYS.Setting.residual_identity :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ →
    ∀ {z : ι → ℝ},
      z ≠ 0 →
        P.step γ z ≠ 0 →
          P.R γ (P.step γ z) =
            -(1 / 2) * P.nrm2sq (P.delta γ z) -
                  γ * (P.nrm2 (P.step γ z) - P.nrm2 z) * P.normalize z ⬝ᵥ P.S.mulVec (P.normalize (P.step γ z)) -
                γ * (P.nrm2 (P.step γ z) - 1) * P.delta γ z ⬝ᵥ P.S.mulVec (P.normalize (P.step γ z)) +
              γ * P.inner (P.nonlin (P.normalize (P.step γ z)) - P.nonlin (P.normalize z)) (P.normalize (P.step γ z))

GPDYS/Nonlinear.lean — Section 4.2: Lemma 4.3

sobolev_quadratic_bound_aux

theorem · Nonlinear.lean:31 · GPDYS.Setting.sobolev_quadratic_bound_aux
The elementary inequality behind (4.13), for 0 ≤ x ≤ y and an arbitrary real C₀ (no sign condition on C₀ is needed): C₀ x y ≤ (C₀ + 2 max{C₀ - 1/4, 0}²) x² + (y² - x²)/8.
GPDYS.Setting.sobolev_quadratic_bound_aux :
∀ (C0 : ℝ) {x y : ℝ}, 0 ≤ x → x ≤ y → C0 * x * y ≤ (C0 + 2 * max (C0 - 1 / 4) 0 ^ 2) * x ^ 2 + (y ^ 2 - x ^ 2) / 8

taylorT_le_pointwise

theorem · Nonlinear.lean:52 · GPDYS.Setting.taylorT_le_pointwise
The Taylor-remainder consequence of the pointwise Jacobian bound (4.12): 𝒯(u, δ) ≤ ½ (‖V‖_∞ + 3β U₀) ‖δ‖₂².
GPDYS.Setting.taylorT_le_pointwise :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 u up : ι → ℝ},
  P.nrm2sq u = 1 →
    P.nrm2sq up = 1 →
      P.energy u ≤ P.E0 u0 →
        P.energy up ≤ P.E0 u0 →
          ∀ [Nonempty ι], P.taylorT u (up - u) ≤ 1 / 2 * (P.Vinf + 3 * P.β * P.U0 u0) * P.nrm2sq (up - u)

taylorT_le_sobolev

theorem · Nonlinear.lean:98 · GPDYS.Setting.taylorT_le_sobolev
The Taylor-remainder consequence of the first Jacobian bound in (4.13): 𝒯(u, δ) ≤ ½ (‖V‖_∞ ‖δ‖₂² + C₀ ‖δ‖₂ ‖δ‖_{1,h}), with ‖δ‖_{1,h} = √(⟪δ,-Δ_h δ⟫_h + ‖δ‖₂²).
GPDYS.Setting.taylorT_le_sobolev :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 u up : ι → ℝ},
  P.nrm2sq u = 1 →
    P.nrm2sq up = 1 →
      P.energy u ≤ P.E0 u0 →
        P.energy up ≤ P.E0 u0 →
          ∀ [Nonempty ι],
            P.taylorT u (up - u) ≤
              1 / 2 * (P.Vinf * P.nrm2sq (up - u) + P.C0 u0 * P.nrm2 (up - u) * √(P.kin (up - u) + P.nrm2sq (up - u)))

taylorT_le

theorem · Nonlinear.lean:166 · GPDYS.Setting.taylorT_le
Lemma 4.3, first inequality (4.11): γ 𝒯(u, δ) ≤ (1/16) ‖δ‖_𝒢² under (C3).
GPDYS.Setting.taylorT_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 u up : ι → ℝ},
  P.nrm2sq u = 1 →
    P.nrm2sq up = 1 →
      P.energy u ≤ P.E0 u0 →
        P.energy up ≤ P.E0 u0 →
          ∀ [Nonempty ι] {γ : ℝ}, 0 ≤ γ → γ * P.L0 u0 ≤ 1 / 8 → γ * P.taylorT u (up - u) ≤ 1 / 16 * P.nrmGsq γ (up - u)

nrm2_mixed_cube_le

theorem · Nonlinear.lean:213 · GPDYS.Setting.nrm2_mixed_cube_le
The mixed cubes: ‖a b²‖₂ ≤ min{P₀^{3/2}, U₀} for unit vectors a, b of energy at most E₀ (here applied to the pairs (u, u⁺), (u⁺, u) and (u⁺, u⁺)).
GPDYS.Setting.nrm2_mixed_cube_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 u up : ι → ℝ},
  P.nrm2sq u = 1 →
    P.nrm2sq up = 1 →
      P.energy u ≤ P.E0 u0 →
        P.energy up ≤ P.E0 u0 → ∀ [Nonempty ι], (P.nrm2 fun i => u i * up i ^ 2) ≤ min (P.P0 u0 ^ (3 / 2)) (P.U0 u0)

abs_inner_nonlin_sub_le

theorem · Nonlinear.lean:263 · GPDYS.Setting.abs_inner_nonlin_sub_le
Lemma 4.3, second inequality (4.11): |⟪n(u⁺) - n(u), u⁺⟫_h| ≤ 3 B₀ ‖δ‖₂.
GPDYS.Setting.abs_inner_nonlin_sub_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 u up : ι → ℝ},
  P.nrm2sq u = 1 →
    P.nrm2sq up = 1 →
      P.energy u ≤ P.E0 u0 →
        P.energy up ≤ P.E0 u0 → ∀ [Nonempty ι], |P.inner (P.nonlin up - P.nonlin u) up| ≤ 3 * P.B0 u0 * P.nrm2 (up - u)

sobolev_quadratic_bound

theorem · Nonlinear.lean:323 · GPDYS.Setting.sobolev_quadratic_bound
The elementary inequality behind (4.13): for 0 ≤ x ≤ y, C₀ x y ≤ (C₀ + 2 max{C₀ - 1/4, 0}²) x² + (y² - x²)/8.
GPDYS.Setting.sobolev_quadratic_bound :
∀ (C0 : ℝ),
  0 ≤ C0 → ∀ {x y : ℝ}, 0 ≤ x → x ≤ y → C0 * x * y ≤ (C0 + 2 * max (C0 - 1 / 4) 0 ^ 2) * x ^ 2 + (y ^ 2 - x ^ 2) / 8

GPDYS/Positivity.lean — Section 4.3: Lemma 4.4

nonlin_le_B1_mul

theorem · Positivity.lean:23 · GPDYS.Setting.nonlin_le_B1_mul
Componentwise bound on the explicit part: nᵢ(u) ≤ B₁ uᵢ for u > 0 with E_h(u) ≤ E₀.
GPDYS.Setting.nonlin_le_B1_mul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 u : ι → ℝ},
  P.nrm2sq u = 1 → P.energy u ≤ P.E0 u0 → (∀ (i : ι), 0 < u i) → ∀ (i : ι), P.nonlin u i ≤ P.B1 u0 * u i

negLap_le_Λd_mul

theorem · Positivity.lean:40 · GPDYS.Setting.negLap_le_Λd_mul
Componentwise bound on the Laplacian: (-Δ_h u)ᵢ ≤ Λ_d uᵢ for u > 0.
GPDYS.Setting.negLap_le_Λd_mul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u : ι → ℝ},
  (∀ (i : ι), 0 < u i) → ∀ (i : ι), P.negLap u i ≤ P.Λd * u i

nonlin_nonneg

theorem · Positivity.lean:63 · GPDYS.Setting.nonlin_nonneg
n(u) ≥ 0 for u ≥ 0.
GPDYS.Setting.nonlin_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u : ι → ℝ},
  (∀ (i : ι), 0 ≤ u i) → ∀ (i : ι), 0 ≤ P.nonlin u i

step_eq

theorem · Positivity.lean:69 · GPDYS.Setting.step_eq
(4.16): z⁺ = (‖z‖₂ - 1) u + (2 - ‖z‖₂) G_X⁻¹ u - γ G_X⁻¹ n(u).
GPDYS.Setting.step_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ} {z : ι → ℝ},
  z ≠ 0 →
    P.step γ z =
      (P.nrm2 z - 1) • P.normalize z + (2 - P.nrm2 z) • P.resolvent γ (P.normalize z) -
        γ • P.resolvent γ (P.nonlin (P.normalize z))

GX_step_nonneg

theorem · Positivity.lean:99 · GPDYS.Setting.GX_step_nonneg
G_X z⁺ ≥ 0 componentwise, by (C4).
GPDYS.Setting.GX_step_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → ∀ (i : ι), 0 ≤ P.GX γ (P.step γ z) i

GX_step_ne_zero

theorem · Positivity.lean:126 · GPDYS.Setting.GX_step_ne_zero
G_X z⁺ ≠ 0, by (C2).
GPDYS.Setting.GX_step_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.GX γ (P.step γ z) ≠ 0

step_pos

theorem · Positivity.lean:155 · GPDYS.Setting.step_pos
Lemma 4.4: z⁺ > 0 componentwise.
GPDYS.Setting.step_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → ∀ (i : ι), 0 < P.step γ z i

step_ne_zero

theorem · Positivity.lean:160 · GPDYS.Setting.step_ne_zero
GPDYS.Setting.step_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 → 1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.step γ z ≠ 0

nrm2_step_le_one

theorem · Positivity.lean:164 · GPDYS.Setting.nrm2_step_le_one
Lemma 4.4: ‖z⁺‖₂ ≤ 1.
GPDYS.Setting.nrm2_step_le_one :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.nrm2 (P.step γ z) ≤ 1

one_sub_inner_step_eq

theorem · Positivity.lean:187 · GPDYS.Setting.one_sub_inner_step_eq
1 - ⟪u, z⁺⟫_h = (2 - ‖z‖₂)(1 - ‖u‖_X²) + γ ⟪G_X⁻¹ u, n(u)⟫_h.
GPDYS.Setting.one_sub_inner_step_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    1 - P.inner (P.normalize z) (P.step γ z) =
                      (2 - P.nrm2 z) * (1 - P.nrmXsq γ (P.normalize z)) +
                        γ * P.inner (P.resolvent γ (P.normalize z)) (P.nonlin (P.normalize z))

one_sub_inner_step_nonneg

theorem · Positivity.lean:202 · GPDYS.Setting.one_sub_inner_step_nonneg
Lemma 4.4: 0 ≤ 1 - ⟪u, z⁺⟫_h.
GPDYS.Setting.one_sub_inner_step_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → 0 ≤ 1 - P.inner (P.normalize z) (P.step γ z)

one_sub_inner_step_le

theorem · Positivity.lean:220 · GPDYS.Setting.one_sub_inner_step_le
Lemma 4.4: 1 - ⟪u, z⁺⟫_h ≤ 3γD.
GPDYS.Setting.one_sub_inner_step_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → 1 - P.inner (P.normalize z) (P.step γ z) ≤ 3 * γ * P.D u0

inner_step_le_nrm2

theorem · Positivity.lean:266 · GPDYS.Setting.inner_step_le_nrm2
Lemma 4.4: ⟪u, z⁺⟫_h ≤ ‖z⁺‖₂.
GPDYS.Setting.inner_step_le_nrm2 :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 → P.inner (P.normalize z) (P.step γ z) ≤ P.nrm2 (P.step γ z)

nrm2_step_ge

theorem · Positivity.lean:271 · GPDYS.Setting.nrm2_step_ge
Lemma 4.4: 1 - 3γD ≤ ‖z⁺‖₂.
GPDYS.Setting.nrm2_step_ge :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → 1 - 3 * γ * P.D u0 ≤ P.nrm2 (P.step γ z)

nrm2sq_delta_le_two_mul

theorem · Positivity.lean:277 · GPDYS.Setting.nrm2sq_delta_le_two_mul
Lemma 4.4: ‖δ‖₂² ≤ 2 (1 - ⟪u, z⁺⟫_h).
GPDYS.Setting.nrm2sq_delta_le_two_mul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 → P.nrm2sq (P.delta γ z) ≤ 2 * (1 - P.inner (P.normalize z) (P.step γ z))

nrm2sq_delta_le

theorem · Positivity.lean:293 · GPDYS.Setting.nrm2sq_delta_le
Lemma 4.4: ‖δ‖₂² ≤ 6γD.
GPDYS.Setting.nrm2sq_delta_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.nrm2sq (P.delta γ z) ≤ 6 * γ * P.D u0

abs_R_le

theorem · Positivity.lean:299 · GPDYS.Setting.abs_R_le
Lemma 4.4: |R| ≤ 3γD.
GPDYS.Setting.abs_R_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → |P.R γ z| ≤ 3 * γ * P.D u0

GPDYS/Descent.lean — Section 4.4: Lemma 4.5 and Lemma 4.6

C1

def · Descent.lean:29 · GPDYS.Setting.C1
The crude constant C₁ = ‖V‖_∞ + 3β/w_min.
def C1 : ℝ := P.Vinf + 3 * P.β / P.wmin
Elaborated type
GPDYS.Setting.C1 :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ

taylorT_le_crude

theorem · Descent.lean:33 · GPDYS.Setting.taylorT_le_crude
The crude pointwise bound on the Taylor remainder for arbitrary unit vectors: 𝒯(u, u⁺ - u) ≤ ½ C₁ ‖u⁺ - u‖₂², using only vᵢ² ≤ 1/w_min for ‖v‖₂ = 1.
GPDYS.Setting.taylorT_le_crude :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u up : ι → ℝ},
  P.nrm2sq u = 1 → P.nrm2sq up = 1 → P.taylorT u (up - u) ≤ 1 / 2 * P.C1 * P.nrm2sq (up - u)

mul_abs_dotS_le

theorem · Descent.lean:91 · GPDYS.Setting.mul_abs_dotS_le
γ |xᵀ S y| ≤ √(γ xᵀ S x) √(γ yᵀ S y) for γ ≥ 0.
GPDYS.Setting.mul_abs_dotS_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (x y : ι → ℝ), γ * |x ⬝ᵥ P.S.mulVec y| ≤ √(γ * P.kin x) * √(γ * P.kin y)

inner_GX_symm

theorem · Descent.lean:102 · GPDYS.Setting.inner_GX_symm
Symmetry of the 𝒢-inner product: ⟪x, G_X y⟫_h = ⟪G_X x, y⟫_h.
GPDYS.Setting.inner_GX_symm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (x y : ι → ℝ),
  P.inner x (P.GX γ y) = P.inner (P.GX γ x) y

inner_GX_perp

theorem · Descent.lean:107 · GPDYS.Setting.inner_GX_perp
d - (⟪u, G_X d⟫_h / ‖u‖_𝒢²) u is 𝒢-orthogonal to u.
GPDYS.Setting.inner_GX_perp :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) {u : ι → ℝ},
  P.nrmGsq γ u ≠ 0 → ∀ (d : ι → ℝ), P.inner u (P.GX γ (d - (P.inner u (P.GX γ d) / P.nrmGsq γ u) • u)) = 0

perp_inner_GX

theorem · Descent.lean:112 · GPDYS.Setting.perp_inner_GX
GPDYS.Setting.perp_inner_GX :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) {u : ι → ℝ},
  P.nrmGsq γ u ≠ 0 → ∀ (d : ι → ℝ), P.inner (d - (P.inner u (P.GX γ d) / P.nrmGsq γ u) • u) (P.GX γ u) = 0

nrmGsq_eq_perp_add

theorem · Descent.lean:117 · GPDYS.Setting.nrmGsq_eq_perp_add
Pythagoras for the 𝒢-orthogonal decomposition of d along u.
GPDYS.Setting.nrmGsq_eq_perp_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) {u : ι → ℝ},
  P.nrmGsq γ u ≠ 0 →
    ∀ (d : ι → ℝ),
      P.nrmGsq γ d =
        P.nrmGsq γ (d - (P.inner u (P.GX γ d) / P.nrmGsq γ u) • u) +
          (P.inner u (P.GX γ d) / P.nrmGsq γ u) ^ 2 * P.nrmGsq γ u

nrmXsq_sub_eq

theorem · Descent.lean:126 · GPDYS.Setting.nrmXsq_sub_eq
Expansion of ‖a - b‖_X².
GPDYS.Setting.nrmXsq_sub_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ (a b : ι → ℝ), P.nrmXsq γ (a - b) = P.nrmXsq γ a - 2 * P.innerX γ a b + P.nrmXsq γ b

nrmGsq_sub

theorem · Descent.lean:134 · GPDYS.Setting.nrmGsq_sub
Expansion of ‖a - b‖_𝒢².
GPDYS.Setting.nrmGsq_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (a b : ι → ℝ),
  P.nrmGsq γ (a - b) = P.nrmGsq γ a - 2 * P.inner a (P.GX γ b) + P.nrmGsq γ b

abs_dotS_u_delta_le

theorem · Descent.lean:151 · GPDYS.Setting.abs_dotS_u_delta_le
(4.19), first line: γ|⟪-Δ_h u, δ⟫_h| ≤ √(2γD) ‖δ‖_𝒢.
GPDYS.Setting.abs_dotS_u_delta_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    γ * |P.normalize z ⬝ᵥ P.S.mulVec (P.delta γ z)| ≤ √(2 * γ * P.D u0) * √(P.nrmGsq γ (P.delta γ z))

half_nrm2sq_delta_le

theorem · Descent.lean:169 · GPDYS.Setting.half_nrm2sq_delta_le
½‖δ‖₂² ≤ √(3γD/2) ‖δ‖_𝒢, from ‖δ‖₂² ≤ 6γD and ‖δ‖₂ ≤ ‖δ‖_𝒢.
GPDYS.Setting.half_nrm2sq_delta_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 → 1 / 2 * P.nrm2sq (P.delta γ z) ≤ √(3 / 2) * √(γ * P.D u0) * √(P.nrmGsq γ (P.delta γ z))

abs_nrm2_step_sub_le

theorem · Descent.lean:189 · GPDYS.Setting.abs_nrm2_step_sub_le
(4.21): |‖z⁺‖₂ - ‖z‖₂| ≤ |R| + (8/3) √(γD) ‖δ‖_𝒢.
GPDYS.Setting.abs_nrm2_step_sub_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    |P.nrm2 (P.step γ z) - P.nrm2 z| ≤ |P.R γ z| + 8 / 3 * √(γ * P.D u0) * √(P.nrmGsq γ (P.delta γ z))

energy_step_le_of_small

theorem · Descent.lean:248 · GPDYS.Setting.energy_step_le_of_small
Auxiliary used here for Lemma 4.7: if γ(28D + 2C₁) ≤ 1 then E_h(u⁺) ≤ E_h(u) + 2D R².
GPDYS.Setting.energy_step_le_of_small :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    γ * (28 * P.D u0 + 2 * P.C1) ≤ 1 →
                      P.energy (P.normalize (P.step γ z)) ≤ P.energy (P.normalize z) + 2 * P.D u0 * P.R γ z ^ 2

energy_drop

theorem · Descent.lean:350 · GPDYS.Setting.energy_drop
(4.22): the energy drop γ(E_h(u) - E_h(u⁺)) ≥ (7/16 - 10γD)‖δ‖_𝒢² - (1/5)R².
GPDYS.Setting.energy_drop :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.L0 u0 ≤ 1 / 8 →
        γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                P.energy (P.normalize z) ≤ P.E0 u0 →
                  1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                    P.nrm2 z ≤ 1 →
                      P.energy (P.normalize (P.step γ z)) ≤ P.E0 u0 →
                        γ * (P.energy (P.normalize z) - P.energy (P.normalize (P.step γ z))) ≥
                          (7 / 16 - 10 * γ * P.D u0) * P.nrmGsq γ (P.delta γ z) - 1 / 5 * P.R γ z ^ 2

residual_sq_le

theorem · Descent.lean:422 · GPDYS.Setting.residual_sq_le
(4.23): the residual bound (R⁺)² ≤ 8γ²D² R² + (128/25) γD ‖δ‖_𝒢².
GPDYS.Setting.residual_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.L0 u0 ≤ 1 / 8 →
        γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                P.energy (P.normalize z) ≤ P.E0 u0 →
                  1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                    P.nrm2 z ≤ 1 →
                      P.energy (P.normalize (P.step γ z)) ≤ P.E0 u0 →
                        P.R γ (P.step γ z) ^ 2 ≤
                          8 * γ ^ 2 * P.D u0 ^ 2 * P.R γ z ^ 2 + 128 / 25 * γ * P.D u0 * P.nrmGsq γ (P.delta γ z)

conditional_descent

theorem · Descent.lean:557 · GPDYS.Setting.conditional_descent
Lemma 4.5, (4.17): γ(𝓛(z) - 𝓛(z⁺)) ≥ (5/16)‖δ‖_𝒢² + (3/4)R².
GPDYS.Setting.conditional_descent :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.L0 u0 ≤ 1 / 8 →
        γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                P.energy (P.normalize z) ≤ P.E0 u0 →
                  1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                    P.nrm2 z ≤ 1 →
                      P.energy (P.normalize (P.step γ z)) ≤ P.E0 u0 →
                        γ * (P.lyap γ z - P.lyap γ (P.step γ z)) ≥
                          5 / 16 * P.nrmGsq γ (P.delta γ z) + 3 / 4 * P.R γ z ^ 2

descent_equality_case

theorem · Descent.lean:582 · GPDYS.Setting.descent_equality_case
Lemma 4.5, equality case: if δ = 0 and R = 0 then g(u) = 0 and z⁺ = z. (For γ = 0 one has z⁺ = u and δ = 0 for every z, so γ > 0 is needed for g(u) = 0.)
GPDYS.Setting.descent_equality_case :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 < γ →
    ∀ {z : ι → ℝ}, z ≠ 0 → P.step γ z ≠ 0 → P.delta γ z = 0 → P.R γ z = 0 → P.g (P.normalize z) = 0 ∧ P.step γ z = z

step_eq_self_of_R_g

theorem · Descent.lean:607 · GPDYS.Setting.step_eq_self_of_R_g
Conversely, if R = 0 and g(u) = 0 then z⁺ = z (used in the barrier argument).
GPDYS.Setting.step_eq_self_of_R_g :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {γ : ℝ},
  0 ≤ γ → ∀ {z : ι → ℝ}, z ≠ 0 → P.R γ z = 0 → P.g (P.normalize z) = 0 → P.step γ z = z

nrmGsq_mul_nrm2_sub

theorem · Descent.lean:624 · GPDYS.Setting.nrmGsq_mul_nrm2_sub
The radial identity in the form ‖u‖_𝒢² (‖z⁺‖₂ - ‖z‖₂) = -R - ‖z⁺‖₂ ⟪u, G_X δ⟫_h.
GPDYS.Setting.nrmGsq_mul_nrm2_sub :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    P.nrmGsq γ (P.normalize z) * (P.nrm2 (P.step γ z) - P.nrm2 z) =
                      -P.R γ z - P.nrm2 (P.step γ z) * P.inner (P.normalize z) (P.GX γ (P.delta γ z))

step_sub_eq_perp

theorem · Descent.lean:638 · GPDYS.Setting.step_sub_eq_perp
The decomposition z⁺ - z = ‖z⁺‖₂ δ⊥ - (R/‖u‖_𝒢²) u, where δ⊥ = δ - (⟪u, G_X δ⟫_h/‖u‖_𝒢²) u is the 𝒢-orthogonal part of δ.
GPDYS.Setting.step_sub_eq_perp :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    P.step γ z - z =
                      P.nrm2 (P.step γ z) •
                          (P.delta γ z -
                            (P.inner (P.normalize z) (P.GX γ (P.delta γ z)) / P.nrmGsq γ (P.normalize z)) •
                              P.normalize z) -
                        (P.R γ z / P.nrmGsq γ (P.normalize z)) • P.normalize z

gradX_sq_le

theorem · Descent.lean:657 · GPDYS.Setting.gradX_sq_le
Lemma 4.6, first bound of (4.24): γ²‖g(u)‖_X² ≤ (5/4)‖δ‖_𝒢² + 10γD R².
GPDYS.Setting.gradX_sq_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    γ ^ 2 * P.nrmXsq γ (P.g (P.normalize z)) ≤
                      5 / 4 * P.nrmGsq γ (P.delta γ z) + 10 * γ * P.D u0 * P.R γ z ^ 2

nrmGsq_step_sub_le

theorem · Descent.lean:743 · GPDYS.Setting.nrmGsq_step_sub_le
Lemma 4.6, second bound of (4.24): ‖z⁺ - z‖_𝒢² ≤ ‖δ‖_𝒢² + R².
GPDYS.Setting.nrmGsq_step_sub_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ} {γ : ℝ},
  0 < γ →
    γ * P.D u0 ≤ 1 / 128 →
      γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
        ∀ {z : ι → ℝ},
          z ≠ 0 →
            (∀ (i : ι), 0 < P.normalize z i) →
              P.energy (P.normalize z) ≤ P.E0 u0 →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 → P.nrmGsq γ (P.step γ z - z) ≤ P.nrmGsq γ (P.delta γ z) + P.R γ z ^ 2

GPDYS/Barrier.lean — Section 4.5: Lemma 4.7 (energy barrier)

zcont

def · Barrier.lean:34 · GPDYS.Setting.zcont
The continuation z_θ = (1 - θ(1 - ‖z‖₂)) u, (4.27).
def zcont (z : ι → ℝ) (θ : ℝ) : ι → ℝ := (1 - θ * (1 - P.nrm2 z)) • P.normalize z
Elaborated type
GPDYS.Setting.zcont :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ → ι → ℝ

stepcont

def · Barrier.lean:37 · GPDYS.Setting.stepcont
One step of size θγ from z_θ, (4.29).
def stepcont (γ : ℝ) (z : ι → ℝ) (θ : ℝ) : ι → ℝ := P.step (θ * γ) (P.zcont z θ)
Elaborated type
GPDYS.Setting.stepcont :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ → ι → ℝ

φcont

def · Barrier.lean:40 · GPDYS.Setting.φcont
φ(θ) = E_h(u_θ⁺).
def φcont (γ : ℝ) (z : ι → ℝ) (θ : ℝ) : ℝ := P.energy (P.normalize (P.stepcont γ z θ))
Elaborated type
GPDYS.Setting.φcont :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ → (ι → ℝ) → ℝ → ℝ

nrm2_zcont

theorem · Barrier.lean:51 · GPDYS.Setting.nrm2_zcont
‖z_θ‖₂ = 1 - θ(1 - ‖z‖₂) for θ ∈ [0,1], (4.28).
GPDYS.Setting.nrm2_zcont :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.nrm2 (P.zcont z θ) = 1 - θ * (1 - P.nrm2 z)

zcont_coeff_pos

theorem · Barrier.lean:59 · GPDYS.Setting.zcont_coeff_pos
1 - θ(1 - ‖z‖₂) > 0 for θ ∈ [0,1] and z ≠ 0.
GPDYS.Setting.zcont_coeff_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {θ : ℝ}, θ ≤ 1 → 0 < 1 - θ * (1 - P.nrm2 z)

zcont_ne_zero

theorem · Barrier.lean:64 · GPDYS.Setting.zcont_ne_zero
GPDYS.Setting.zcont_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.zcont z θ ≠ 0

normalize_zcont

theorem · Barrier.lean:73 · GPDYS.Setting.normalize_zcont
The normalized vector of z_θ is u.
GPDYS.Setting.normalize_zcont :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.normalize (P.zcont z θ) = P.normalize z

zcont_one

theorem · Barrier.lean:79 · GPDYS.Setting.zcont_one
z_1 = z.
GPDYS.Setting.zcont_one :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → P.zcont z 1 = z

stepcont_zero

theorem · Barrier.lean:83 · GPDYS.Setting.stepcont_zero
z_0⁺ = u (a step of size 0 from u returns u).
GPDYS.Setting.stepcont_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ (γ : ℝ), P.stepcont γ z 0 = P.normalize z

stepcont_one

theorem · Barrier.lean:91 · GPDYS.Setting.stepcont_one
z_1⁺ = z⁺.
GPDYS.Setting.stepcont_one :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ (γ : ℝ), P.stepcont γ z 1 = P.step γ z

R_zcont

theorem · Barrier.lean:95 · GPDYS.Setting.R_zcont
The residual scales: R_{θγ}(z_θ) = θ R(z), (4.30).
GPDYS.Setting.R_zcont :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ (γ : ℝ) {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.R (θ * γ) (P.zcont z θ) = θ * P.R γ z

lyap_zcont

theorem · Barrier.lean:101 · GPDYS.Setting.lyap_zcont
The Lyapunov function of the scaled input: 𝓛_{θγ}(z_θ) = E_h(u) + θ R²/γ, (4.30).
GPDYS.Setting.lyap_zcont :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 →
    P.nrm2 z ≤ 1 →
      ∀ {γ : ℝ},
        0 < γ → ∀ {θ : ℝ}, 0 < θ → θ ≤ 1 → P.lyap (θ * γ) (P.zcont z θ) = P.energy (P.normalize z) + θ * P.R γ z ^ 2 / γ

stepcont_eq

theorem · Barrier.lean:111 · GPDYS.Setting.stepcont_eq
Explicit form of z_θ⁺ on [0,1]: z_θ⁺ = z_θ - u + G_{θγ}⁻¹ (2u - z_θ - θγ n(u)).
GPDYS.Setting.stepcont_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 →
    P.nrm2 z ≤ 1 →
      ∀ (γ : ℝ) {θ : ℝ},
        0 ≤ θ →
          θ ≤ 1 →
            P.stepcont γ z θ =
              P.zcont z θ - P.normalize z +
                P.resolvent (θ * γ) (2 • P.normalize z - P.zcont z θ - (θ * γ) • P.nonlin (P.normalize z))

continuousOn_inv_MS

theorem · Barrier.lean:120 · GPDYS.Setting.continuousOn_inv_MS
Continuity of the resolvent in the step size: θ ↦ (M + θγS)⁻¹ is continuous on [0,1] (for γ ≥ 0), since det (M + θγ S) ≠ 0 there.
GPDYS.Setting.continuousOn_inv_MS :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {γ : ℝ}, 0 ≤ γ → ContinuousOn (fun θ => (P.M + (θ * γ) • P.S)⁻¹) (Set.Icc 0 1)

stepcont_continuousOn

theorem · Barrier.lean:135 · GPDYS.Setting.stepcont_continuousOn
θ ↦ z_θ⁺ is continuous on [0,1].
GPDYS.Setting.stepcont_continuousOn :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → P.nrm2 z ≤ 1 → ∀ {γ : ℝ}, 0 ≤ γ → ContinuousOn (P.stepcont γ z) (Set.Icc 0 1)

energy_continuous

theorem · Barrier.lean:157 · GPDYS.Setting.energy_continuous
The energy E_h is a continuous function on ι → ℝ.
GPDYS.Setting.energy_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), Continuous P.energy

g_continuous

theorem · Barrier.lean:162 · GPDYS.Setting.g_continuous
The projected gradient g is a continuous function on ι → ℝ.
GPDYS.Setting.g_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), Continuous P.g

nrm2_continuous

theorem · Barrier.lean:167 · GPDYS.Setting.nrm2_continuous
‖·‖₂ is continuous.
GPDYS.Setting.nrm2_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), Continuous P.nrm2

normalize_continuousAt

theorem · Barrier.lean:172 · GPDYS.Setting.normalize_continuousAt
normalize is continuous at every nonzero vector.
GPDYS.Setting.normalize_continuousAt :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {z : ι → ℝ},
  z ≠ 0 → ContinuousAt P.normalize z

zcont_hyp

theorem · Barrier.lean:192 · GPDYS.Setting.zcont_hyp
Conditions used in Lemma 4.7: for θ ∈ (0,1], (C2)–(C4) hold for θγ, and 1 - 3θγD ≤ ‖z_θ‖₂ ≤ 1. Positivity and the energy bound are proved separately.
GPDYS.Setting.zcont_hyp :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 →
                        P.lyap γ z ≤ P.E0 u0 →
                          ∀ {θ : ℝ},
                            0 < θ →
                              θ ≤ 1 →
                                θ * γ * P.D u0 ≤ 1 / 128 ∧
                                  θ * γ * P.L0 u0 ≤ 1 / 8 ∧
                                    θ * γ * P.B1 u0 + 3 * (θ * γ) ^ 2 * P.D u0 * P.Λd ≤ 1 ∧
                                      1 - 3 * (θ * γ) * P.D u0 ≤ P.nrm2 (P.zcont z θ) ∧ P.nrm2 (P.zcont z θ) ≤ 1

energy_normalize_le

theorem · Barrier.lean:221 · GPDYS.Setting.energy_normalize_le
E_h(u) ≤ E₀.
GPDYS.Setting.energy_normalize_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → P.energy (P.normalize z) ≤ P.E0 u0

stepcont_ne_zero

theorem · Barrier.lean:225 · GPDYS.Setting.stepcont_ne_zero
z_θ⁺ ≠ 0 for every θ ∈ [0,1].
GPDYS.Setting.stepcont_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.stepcont γ z θ ≠ 0

φcont_continuousOn

theorem · Barrier.lean:241 · GPDYS.Setting.φcont_continuousOn
Lemma 4.7: φ is continuous on [0,1].
GPDYS.Setting.φcont_continuousOn :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → ContinuousOn (P.φcont γ z) (Set.Icc 0 1)

φcont_zero_le

theorem · Barrier.lean:250 · GPDYS.Setting.φcont_zero_le
φ(0) ≤ E₀, using the identity φ(0) = E_h(u).
GPDYS.Setting.φcont_zero_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → P.φcont γ z 0 ≤ P.E0 u0

C1_pos

theorem · Barrier.lean:256 · GPDYS.Setting.C1_pos
C₁ > 0.
GPDYS.Setting.C1_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → 0 < P.C1

φcont_le_of_small

theorem · Barrier.lean:262 · GPDYS.Setting.φcont_le_of_small
For small θ, φ(θ) ≤ E₀: the threshold θ₁ = min{1, 1/(γ(28D + 2C₁))} > 0 works.
GPDYS.Setting.φcont_le_of_small :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 →
                        P.lyap γ z ≤ P.E0 u0 →
                          ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ min 1 (1 / (γ * (28 * P.D u0 + 2 * P.C1))) → P.φcont γ z θ ≤ P.E0 u0

φcont_le_of_le

theorem · Barrier.lean:298 · GPDYS.Setting.φcont_le_of_le
If φ(θ) ≤ E₀ for some θ ∈ (0,1], then φ(θ) ≤ E_h(u) + θ R²/(4γ) - (5/(16 θγ)) ‖δ_θ‖_𝒢², by the conditional descent.
GPDYS.Setting.φcont_le_of_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 →
                        P.lyap γ z ≤ P.E0 u0 →
                          ∀ {θ : ℝ},
                            0 < θ →
                              θ ≤ 1 →
                                P.φcont γ z θ ≤ P.E0 u0 →
                                  P.φcont γ z θ ≤
                                    P.energy (P.normalize z) + θ * P.R γ z ^ 2 / (4 * γ) -
                                      5 / (16 * (θ * γ)) * P.nrmGsq (θ * γ) (P.delta (θ * γ) (P.zcont z θ))

φcont_lt_of_le

theorem · Barrier.lean:331 · GPDYS.Setting.φcont_lt_of_le
Strict version: if φ(θ) ≤ E₀ for some θ ∈ (0,1] and not (R = 0 and g(u) = 0), then φ(θ) < E₀.
GPDYS.Setting.φcont_lt_of_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 →
                        P.lyap γ z ≤ P.E0 u0 →
                          ∀ {θ : ℝ},
                            0 < θ →
                              θ ≤ 1 →
                                P.φcont γ z θ ≤ P.E0 u0 →
                                  ¬(P.R γ z = 0 ∧ P.g (P.normalize z) = 0) → P.φcont γ z θ < P.E0 u0

φcont_eq_of_R_g

theorem · Barrier.lean:366 · GPDYS.Setting.φcont_eq_of_R_g
If R = 0 and g(u) = 0, then φ(θ) = E_h(u) for every θ ∈ [0,1]. The proof first uses step_eq_self_of_R_g to show z_θ⁺ = z_θ.
GPDYS.Setting.φcont_eq_of_R_g :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 →
                        P.lyap γ z ≤ P.E0 u0 →
                          P.R γ z = 0 →
                            P.g (P.normalize z) = 0 →
                              ∀ {θ : ℝ}, 0 ≤ θ → θ ≤ 1 → P.φcont γ z θ = P.energy (P.normalize z)

energy_barrier

theorem · Barrier.lean:378 · GPDYS.Setting.energy_barrier
Lemma 4.7 (energy barrier): E_h(u⁺) ≤ E₀.
GPDYS.Setting.energy_barrier :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ * P.D u0 ≤ 1 / 128 →
          γ * P.L0 u0 ≤ 1 / 8 →
            γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1 →
              ∀ {z : ι → ℝ},
                z ≠ 0 →
                  (∀ (i : ι), 0 < P.normalize z i) →
                    1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                      P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → P.energy (P.normalize (P.step γ z)) ≤ P.E0 u0

GPDYS/OneStep.lean — Section 4.5: Proposition 4.8

onestep_conditions

theorem · OneStep.lean:31 · GPDYS.Setting.onestep_conditions
The step-size conditions (C2)–(C4), unpacked.
GPDYS.Setting.onestep_conditions :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ → γ ≤ P.γmax u0 → γ * P.D u0 ≤ 1 / 128 ∧ γ * P.L0 u0 ≤ 1 / 8 ∧ γ * P.B1 u0 + 3 * γ ^ 2 * P.D u0 * P.Λd ≤ 1

onestep_energy_le

theorem · OneStep.lean:39 · GPDYS.Setting.onestep_energy_le
E_h(u) ≤ E₀.
GPDYS.Setting.onestep_energy_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u0 : ι → ℝ} {γ : ℝ},
  0 < γ → ∀ {z : ι → ℝ}, P.lyap γ z ≤ P.E0 u0 → P.energy (P.normalize z) ≤ P.E0 u0

onestep_pos

theorem · OneStep.lean:43 · GPDYS.Setting.onestep_pos
Proposition 4.8: positivity of z⁺.
GPDYS.Setting.onestep_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ ≤ P.γmax u0 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z → P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → ∀ (i : ι), 0 < P.step γ z i

onestep_radial

theorem · OneStep.lean:48 · GPDYS.Setting.onestep_radial
Proposition 4.8: the radial interval for z⁺.
GPDYS.Setting.onestep_radial :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ ≤ P.γmax u0 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    P.lyap γ z ≤ P.E0 u0 → 1 - 3 * γ * P.D u0 ≤ P.nrm2 (P.step γ z) ∧ P.nrm2 (P.step γ z) ≤ 1

onestep_energy

theorem · OneStep.lean:54 · GPDYS.Setting.onestep_energy
Proposition 4.8: E_h(u⁺) ≤ E₀, by the energy barrier.
GPDYS.Setting.onestep_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ ≤ P.γmax u0 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 → P.lyap γ z ≤ P.E0 u0 → P.energy (P.normalize (P.step γ z)) ≤ P.E0 u0

onestep_drop

theorem · OneStep.lean:60 · GPDYS.Setting.onestep_drop
Proposition 4.8, (4.31) first inequality: 𝓛(z) - 𝓛(z⁺) ≥ ¼ γ ‖g(u)‖_X² + R²/(2γ).
GPDYS.Setting.onestep_drop :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ ≤ P.γmax u0 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    P.lyap γ z ≤ P.E0 u0 →
                      P.lyap γ z - P.lyap γ (P.step γ z) ≥
                        1 / 4 * γ * P.nrmXsq γ (P.g (P.normalize z)) + P.R γ z ^ 2 / (2 * γ)

onestep_drop'

theorem · OneStep.lean:86 · GPDYS.Setting.onestep_drop'
Proposition 4.8, (4.31) second inequality: 𝓛(z) - 𝓛(z⁺) ≥ (5/(16γ)) ‖z⁺ - z‖_𝒢².
GPDYS.Setting.onestep_drop' :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  u0 ≠ 0 →
    ∀ {γ : ℝ},
      0 < γ →
        γ ≤ P.γmax u0 →
          ∀ {z : ι → ℝ},
            z ≠ 0 →
              (∀ (i : ι), 0 < P.normalize z i) →
                1 - 3 * γ * P.D u0 ≤ P.nrm2 z →
                  P.nrm2 z ≤ 1 →
                    P.lyap γ z ≤ P.E0 u0 →
                      P.lyap γ z - P.lyap γ (P.step γ z) ≥ 5 / (16 * γ) * P.nrmGsq γ (P.step γ z - z)

GPDYS/GroundState.lean — Remark 2.3 / Appendix A (the discrete ground state)

kin_eq_double_sum

theorem · GroundState.lean:34 · GPDYS.Setting.kin_eq_double_sum
vᵀ S v written as a double sum.
GPDYS.Setting.kin_eq_double_sum :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.kin v = ∑ i, ∑ j, P.S i j * (v i * v j)

picone

theorem · GroundState.lean:45 · GPDYS.Setting.picone
The discrete Picone inequality used here to prove Remark 2.3. For u > 0 componentwise and any v, ∑ᵢ (vᵢ²/uᵢ) (S u)ᵢ ≤ vᵀ S v.
GPDYS.Setting.picone :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u : ι → ℝ},
  (∀ (i : ι), 0 < u i) → ∀ (v : ι → ℝ), ∑ i, v i ^ 2 / u i * P.S.mulVec u i ≤ P.kin v

kin_abs_le

theorem · GroundState.lean:96 · GPDYS.Setting.kin_abs_le
|v|ᵀ S |v| ≤ vᵀ S v, since the off-diagonal entries of S are nonpositive.
GPDYS.Setting.kin_abs_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  (P.kin fun i => |v i|) ≤ P.kin v

energy_abs_le

theorem · GroundState.lean:107 · GPDYS.Setting.energy_abs_le
E_h(|v|) ≤ E_h(v).
GPDYS.Setting.energy_abs_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  (P.energy fun i => |v i|) ≤ P.energy v

nrm2sq_abs

theorem · GroundState.lean:119 · GPDYS.Setting.nrm2sq_abs
‖ |v| ‖₂² = ‖v‖₂².
GPDYS.Setting.nrm2sq_abs :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  (P.nrm2sq fun i => |v i|) = P.nrm2sq v

negLap_eq_of_critical

theorem · GroundState.lean:124 · GPDYS.Setting.negLap_eq_of_critical
A critical point satisfies -Δ_h v = λ(v) v - n(v).
GPDYS.Setting.negLap_eq_of_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  P.g v = 0 → P.negLap v = P.lam v • v - P.nonlin v

critical_pos

theorem · GroundState.lean:131 · GPDYS.Setting.critical_pos
Remark 2.3: a nonnegative critical point of E_h on 𝓜 is strictly positive.
GPDYS.Setting.critical_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {v : ι → ℝ},
  P.nrm2sq v = 1 → (∀ (i : ι), 0 ≤ v i) → P.g v = 0 → ∀ (i : ι), 0 < v i

energy_ge_of_critical

theorem · GroundState.lean:188 · GPDYS.Setting.energy_ge_of_critical
The key inequality used here to prove Remark 2.3: for a positive critical point u ∈ 𝓜 and any nonnegative v ∈ 𝓜, E_h(v) ≥ E_h(u) + (β/4) ∑ᵢ wᵢ (vᵢ² - uᵢ²)².
GPDYS.Setting.energy_ge_of_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u v : ι → ℝ},
  P.nrm2sq u = 1 →
    (∀ (i : ι), 0 < u i) →
      P.g u = 0 →
        P.nrm2sq v = 1 → (∀ (i : ι), 0 ≤ v i) → P.energy u + P.β / 4 * ∑ i, P.w i * (v i ^ 2 - u i ^ 2) ^ 2 ≤ P.energy v

energy_le_of_critical

theorem · GroundState.lean:225 · GPDYS.Setting.energy_le_of_critical
Remark 2.3: a positive critical point is a global minimizer of E_h on 𝓜.
GPDYS.Setting.energy_le_of_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u v : ι → ℝ},
  P.nrm2sq u = 1 → (∀ (i : ι), 0 < u i) → P.g u = 0 → P.nrm2sq v = 1 → P.energy u ≤ P.energy v

eq_of_nonneg_le_energy

theorem · GroundState.lean:239 · GPDYS.Setting.eq_of_nonneg_le_energy
Remark 2.3, uniqueness: a nonnegative v ∈ 𝓜 with E_h(v) ≤ E_h(u), where u > 0 is a critical point, equals u.
GPDYS.Setting.eq_of_nonneg_le_energy :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u v : ι → ℝ},
  P.nrm2sq u = 1 →
    (∀ (i : ι), 0 < u i) → P.g u = 0 → P.nrm2sq v = 1 → (∀ (i : ι), 0 ≤ v i) → P.energy v ≤ P.energy u → v = u

eq_of_critical_nonneg

theorem · GroundState.lean:267 · GPDYS.Setting.eq_of_critical_nonneg
Remark 2.3, uniqueness of the nonnegative critical point: two nonnegative critical points on 𝓜 coincide.
GPDYS.Setting.eq_of_critical_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u v : ι → ℝ},
  P.nrm2sq u = 1 → (∀ (i : ι), 0 ≤ u i) → P.g u = 0 → P.nrm2sq v = 1 → (∀ (i : ι), 0 ≤ v i) → P.g v = 0 → v = u

GPDYS/Main.lean — Section 5: Theorem 3.4

tendsto_zero_of_sq_tendsto_zero

theorem · Main.lean:20 · GPDYS.tendsto_zero_of_sq_tendsto_zero
If f ^ 2 → 0 then f → 0.
GPDYS.tendsto_zero_of_sq_tendsto_zero :
∀ {α : Type u_1} {l : Filter α} {f : α → ℝ}, Filter.Tendsto (fun x => f x ^ 2) l (nhds 0) → Filter.Tendsto f l (nhds 0)

tendsto_zero_of_const_mul_tendsto_zero

theorem · Main.lean:30 · GPDYS.tendsto_zero_of_const_mul_tendsto_zero
If c * f → 0 with c ≠ 0 then f → 0.
GPDYS.tendsto_zero_of_const_mul_tendsto_zero :
∀ {α : Type u_1} {l : Filter α} {f : α → ℝ} {c : ℝ},
  c ≠ 0 → Filter.Tendsto (fun x => c * f x) l (nhds 0) → Filter.Tendsto f l (nhds 0)

nrm2sq_continuous

theorem · Main.lean:42 · GPDYS.Setting.nrm2sq_continuous
‖·‖₂² is continuous.
GPDYS.Setting.nrm2sq_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), Continuous P.nrm2sq

kin_eq_sum_sum

theorem · Main.lean:49 · GPDYS.Setting.kin_eq_sum_sum
vᵀ S v as a double sum.
GPDYS.Setting.kin_eq_sum_sum :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (v : ι → ℝ),
  P.kin v = ∑ i, ∑ j, P.S i j * (v i * v j)

exists_kin_bound

theorem · Main.lean:54 · GPDYS.Setting.exists_kin_bound
A Rayleigh-quotient bound for the discrete Laplacian: there is μ ≥ 0 with ⟪v, -Δ_h v⟫_h ≤ μ ‖v‖₂² for all v (in the paper, μ_max is the largest eigenvalue).
GPDYS.Setting.exists_kin_bound :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ μ, 0 ≤ μ ∧ ∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v

sphere_isCompact

theorem · Main.lean:90 · GPDYS.Setting.sphere_isCompact
The sphere 𝓜 is compact.
GPDYS.Setting.sphere_isCompact :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  IsCompact {v | P.nrm2sq v = 1}

invariant

theorem · Main.lean:119 · GPDYS.Setting.invariant
Theorem 3.4, the invariant (5.1): for every k, u^k > 0, 1 - 3γD ≤ ‖z^k‖₂ ≤ 1 and 𝓛^k ≤ E₀.
GPDYS.Setting.invariant :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            ∀ (k : ℕ),
              (∀ (i : ι), 0 < P.uiter γ u0 k i) ∧
                1 - 3 * γ * P.D u0 ≤ P.nrm2 (P.iter γ u0 k) ∧
                  P.nrm2 (P.iter γ u0 k) ≤ 1 ∧ P.lyap γ (P.iter γ u0 k) ≤ P.E0 u0

iter_ne_zero

theorem · Main.lean:153 · GPDYS.Setting.iter_ne_zero
GPDYS.Setting.iter_ne_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) → P.nrm2 u0 = 1 → ∀ {γ : ℝ}, 0 < γ → γ ≤ P.γmax u0 → ∀ (k : ℕ), P.iter γ u0 k ≠ 0

drop

theorem · Main.lean:162 · GPDYS.Setting.drop
Theorem 3.4, the drop (5.2): 𝓛^k - 𝓛^{k+1} ≥ ¼γ‖g(u^k)‖_X² + (R^k)²/(2γ).
GPDYS.Setting.drop :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            ∀ (k : ℕ),
              P.lyap γ (P.iter γ u0 k) - P.lyap γ (P.iter γ u0 (k + 1)) ≥
                1 / 4 * γ * P.nrmXsq γ (P.g (P.uiter γ u0 k)) + P.R γ (P.iter γ u0 k) ^ 2 / (2 * γ)

sum_drop_le

theorem · Main.lean:173 · GPDYS.Setting.sum_drop_le
Theorem 3.4: every finite partial sum ∑_{k < m} (¼γ‖g^k‖_X² + (R^k)²/(2γ)) is at most 𝓛⁰.
GPDYS.Setting.sum_drop_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            ∀ (m : ℕ),
              ∑ k ∈ Finset.range m,
                  (1 / 4 * γ * P.nrmXsq γ (P.g (P.uiter γ u0 k)) + P.R γ (P.iter γ u0 k) ^ 2 / (2 * γ)) ≤
                P.lyap γ u0

drop_summable

theorem · Main.lean:190 · GPDYS.Setting.drop_summable
The descent terms ¼γ‖g^k‖_X² + (R^k)²/(2γ) are summable.
GPDYS.Setting.drop_summable :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            Summable fun k => 1 / 4 * γ * P.nrmXsq γ (P.g (P.uiter γ u0 k)) + P.R γ (P.iter γ u0 k) ^ 2 / (2 * γ)

nrmXsq_g_tendsto_zero

theorem · Main.lean:200 · GPDYS.Setting.nrmXsq_g_tendsto_zero
‖g(u^k)‖_X² → 0.
GPDYS.Setting.nrmXsq_g_tendsto_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ → γ ≤ P.γmax u0 → Filter.Tendsto (fun k => P.nrmXsq γ (P.g (P.uiter γ u0 k))) Filter.atTop (nhds 0)

R_tendsto_zero

theorem · Main.lean:212 · GPDYS.Setting.R_tendsto_zero
R^k → 0.
GPDYS.Setting.R_tendsto_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ}, 0 < γ → γ ≤ P.γmax u0 → Filter.Tendsto (fun k => P.R γ (P.iter γ u0 k)) Filter.atTop (nhds 0)

g_tendsto_zero

theorem · Main.lean:224 · GPDYS.Setting.g_tendsto_zero
Theorem 3.4: g(u^k) → 0.
GPDYS.Setting.g_tendsto_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ}, 0 < γ → γ ≤ P.γmax u0 → Filter.Tendsto (fun k => P.g (P.uiter γ u0 k)) Filter.atTop (nhds 0)

accumulation_point_critical

theorem · Main.lean:248 · GPDYS.Setting.accumulation_point_critical
Theorem 3.4: every accumulation point of (u^k) is a nonnegative critical point of E_h on 𝓜.
GPDYS.Setting.accumulation_point_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            ∀ {ns : ℕ → ℕ},
              Filter.Tendsto ns Filter.atTop Filter.atTop →
                ∀ {ustar : ι → ℝ},
                  Filter.Tendsto (fun j => P.uiter γ u0 (ns j)) Filter.atTop (nhds ustar) →
                    P.nrm2sq ustar = 1 ∧ (∀ (i : ι), 0 ≤ ustar i) ∧ P.g ustar = 0

uiter_mem_sphere

theorem · Main.lean:274 · GPDYS.Setting.uiter_mem_sphere
The normalized iterates lie on the sphere 𝓜.
GPDYS.Setting.uiter_mem_sphere :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 → ∀ {γ : ℝ}, 0 < γ → γ ≤ P.γmax u0 → ∀ (k : ℕ), P.uiter γ u0 k ∈ {v | P.nrm2sq v = 1}

exists_accumulation_point

theorem · Main.lean:279 · GPDYS.Setting.exists_accumulation_point
Existence of an accumulation point.
GPDYS.Setting.exists_accumulation_point :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            ∃ ustar ns, StrictMono ns ∧ Filter.Tendsto (fun j => P.uiter γ u0 (ns j)) Filter.atTop (nhds ustar)

main_theorem

theorem · Main.lean:292 · GPDYS.Setting.main_theorem
Theorem 3.4 (global convergence to the discrete ground state). Under Assumption 2.1 (through Lemma 2.2), for a positive normalized initial vector u⁰ and a step size 0 < γ ≤ γ_max, the iterates u^k = z^k/‖z^k‖₂ of (DYS I) are positive for every k, and converge to the discrete ground state u_GS, the unique positive global minimizer of E_h on 𝓜, which is also the unique nonnegative critical point of E_h|_𝓜; moreover E_h(u^k) → E_h(u_GS) = min_𝓜 E_h.
GPDYS.Setting.main_theorem :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {u0 : ι → ℝ},
  (∀ (i : ι), 0 < u0 i) →
    P.nrm2 u0 = 1 →
      ∀ {γ : ℝ},
        0 < γ →
          γ ≤ P.γmax u0 →
            (∀ (k : ℕ) (i : ι), 0 < P.uiter γ u0 k i) ∧
              ∃ uGS,
                (∀ (i : ι), 0 < uGS i) ∧
                  P.nrm2 uGS = 1 ∧
                    P.g uGS = 0 ∧
                      (∀ (v : ι → ℝ), P.nrm2 v = 1 → P.energy uGS ≤ P.energy v) ∧
                        (∀ (v : ι → ℝ), P.nrm2 v = 1 → (∀ (i : ι), 0 ≤ v i) → P.energy v ≤ P.energy uGS → v = uGS) ∧
                          (∀ (v : ι → ℝ), P.nrm2 v = 1 → (∀ (i : ι), 0 ≤ v i) → P.g v = 0 → v = uGS) ∧
                            Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds uGS) ∧
                              Filter.Tendsto (fun k => P.energy (P.uiter γ u0 k)) Filter.atTop (nhds (P.energy uGS))

exists_groundState

theorem · Main.lean:338 · GPDYS.Setting.exists_groundState
Corollary (the discrete ground state, Remark 2.3). There is a positive u_GS ∈ 𝓜 which is a critical point of E_h|_𝓜, the global minimizer of E_h on 𝓜, and the unique nonnegative critical point. It is obtained from Theorem 3.4 as the limit of the iteration started from the normalized constant vector with the step size γ_max.
GPDYS.Setting.exists_groundState :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ uGS,
    (∀ (i : ι), 0 < uGS i) ∧
      P.nrm2 uGS = 1 ∧
        P.g uGS = 0 ∧
          (∀ (v : ι → ℝ), P.nrm2 v = 1 → P.energy uGS ≤ P.energy v) ∧
            ∀ (v : ι → ℝ), P.nrm2 v = 1 → (∀ (i : ι), 0 ≤ v i) → P.g v = 0 → v = uGS

GPDYS/Rate.lean — Section 5: Theorem 5.1

mGS

def · Rate.lean:32 · GPDYS.mGS
m_GS = minᵢ pᵢ on a nonempty mesh; the empty-index value is zero.
def mGS {ι : Type*} [Fintype ι] (p : ι → ℝ) : ℝ := ⨅ i, p i
Elaborated type
GPDYS.mGS :
{ι : Type u_1} → [Fintype ι] → (ι → ℝ) → ℝ

η

def · Rate.lean:35 · GPDYS.η
The rate η = min{γν/(4(1+γμ)), 1/2}, (5.5).
def η (γ μ ν : ℝ) : ℝ := min (γ * ν / (4 * (1 + γ * μ))) (1 / 2)
Elaborated type
GPDYS.η :
ℝ → ℝ → ℝ → ℝ

hess

def · Rate.lean:42 · GPDYS.Setting.hess
The operator ℋ = -Δ_h + n'(p) - λ(p) I of (5.4), applied to w.
def hess (p w : ι → ℝ) : ι → ℝ := P.negLap w + P.nonlin' p w - P.lam p • w
Elaborated type
GPDYS.Setting.hess :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ι → ℝ

hessForm

def · Rate.lean:45 · GPDYS.Setting.hessForm
The quadratic form ⟪w, ℋ w⟫_h.
def hessForm (p w : ι → ℝ) : ℝ := P.inner w (P.hess p w)
Elaborated type
GPDYS.Setting.hessForm :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ℝ

nu

def · Rate.lean:51 · GPDYS.Setting.nu
The infimum of ⟪w, ℋ w⟫_h over unit tangent vectors. For a positive critical point and 2 ≤ Fintype.card ι, exists_unit_tangent and bddBelow_nu_set justify the infimum used in the rate theorem. Attainment as a minimum is proved by nu_attained in Spectral.lean. The empty-set value is zero.
def nu (p : ι → ℝ) : ℝ :=
  sInf {x : ℝ | ∃ w : ι → ℝ, P.nrm2sq w = 1 ∧ P.inner p w = 0 ∧ x = P.hessForm p w}
Elaborated type
GPDYS.Setting.nu :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → ℝ

hessForm_eq

theorem · Rate.lean:56 · GPDYS.Setting.hessForm_eq
GPDYS.Setting.hessForm_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p w : ι → ℝ),
  P.hessForm p w = P.kin w + P.pot w + 3 * P.β * ∑ i, P.w i * (p i ^ 2 * w i ^ 2) - P.lam p * P.nrm2sq w

rayleigh_of_critical

theorem · Rate.lean:71 · GPDYS.Setting.rayleigh_of_critical
The Rayleigh bound of a positive critical point (via the discrete Picone inequality): ⟪w, A_p w⟫_h ≥ λ(p) ‖w‖₂² for every w, where A_p = -Δ_h + V + β diag(p²).
GPDYS.Setting.rayleigh_of_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p : ι → ℝ},
  P.nrm2sq p = 1 →
    (∀ (i : ι), 0 < p i) →
      P.g p = 0 → ∀ (w : ι → ℝ), P.lam p * P.nrm2sq w ≤ P.kin w + P.pot w + P.β * ∑ i, P.w i * (p i ^ 2 * w i ^ 2)

mGS_le

theorem · Rate.lean:99 · GPDYS.Setting.mGS_le
GPDYS.Setting.mGS_le :
∀ {ι : Type u_1} [inst : Fintype ι] (p : ι → ℝ) (i : ι), GPDYS.mGS p ≤ p i

mGS_pos

theorem · Rate.lean:102 · GPDYS.Setting.mGS_pos
GPDYS.Setting.mGS_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [Nonempty ι] {p : ι → ℝ}, (∀ (i : ι), 0 < p i) → 0 < GPDYS.mGS p

hessForm_ge

theorem · Rate.lean:107 · GPDYS.Setting.hessForm_ge
Theorem 5.1: ⟪w, ℋ w⟫_h ≥ 2β m_GS² ‖w‖₂² for every w.
GPDYS.Setting.hessForm_ge :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p : ι → ℝ},
  P.nrm2sq p = 1 →
    (∀ (i : ι), 0 < p i) → P.g p = 0 → ∀ (w : ι → ℝ), 2 * P.β * GPDYS.mGS p ^ 2 * P.nrm2sq w ≤ P.hessForm p w

exists_unit_tangent

theorem · Rate.lean:127 · GPDYS.Setting.exists_unit_tangent
For N ≥ 2 there is a unit vector orthogonal to p.
GPDYS.Setting.exists_unit_tangent :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι),
  2 ≤ Fintype.card ι → ∀ {p : ι → ℝ}, (∀ (i : ι), 0 < p i) → ∃ w, P.nrm2sq w = 1 ∧ P.inner p w = 0

nu_ge

theorem · Rate.lean:151 · GPDYS.Setting.nu_ge
Theorem 5.1: ν ≥ 2β m_GS².
GPDYS.Setting.nu_ge :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι),
  2 ≤ Fintype.card ι →
    ∀ {p : ι → ℝ}, P.nrm2sq p = 1 → (∀ (i : ι), 0 < p i) → P.g p = 0 → 2 * P.β * GPDYS.mGS p ^ 2 ≤ P.nu p

nu_pos

theorem · Rate.lean:162 · GPDYS.Setting.nu_pos
ν > 0.
GPDYS.Setting.nu_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι),
  2 ≤ Fintype.card ι → ∀ {p : ι → ℝ}, P.nrm2sq p = 1 → (∀ (i : ι), 0 < p i) → P.g p = 0 → 0 < P.nu p

nonlin'_add

theorem · Rate.lean:170 · GPDYS.Setting.nonlin'_add
n'(p) is linear in its second argument.
GPDYS.Setting.nonlin'_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p u v : ι → ℝ),
  P.nonlin' p (u + v) = P.nonlin' p u + P.nonlin' p v

nonlin'_smul

theorem · Rate.lean:173 · GPDYS.Setting.nonlin'_smul
GPDYS.Setting.nonlin'_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ) (c : ℝ) (v : ι → ℝ),
  P.nonlin' p (c • v) = c • P.nonlin' p v

inner_nonlin'_comm

theorem · Rate.lean:178 · GPDYS.Setting.inner_nonlin'_comm
n'(p) is a diagonal operator, hence h-self-adjoint.
GPDYS.Setting.inner_nonlin'_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p x y : ι → ℝ),
  P.inner x (P.nonlin' p y) = P.inner (P.nonlin' p x) y

hess_add

theorem · Rate.lean:184 · GPDYS.Setting.hess_add
ℋ is linear.
GPDYS.Setting.hess_add :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p u v : ι → ℝ),
  P.hess p (u + v) = P.hess p u + P.hess p v

hess_smul

theorem · Rate.lean:189 · GPDYS.Setting.hess_smul
GPDYS.Setting.hess_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ) (c : ℝ) (v : ι → ℝ),
  P.hess p (c • v) = c • P.hess p v

hess_zero

theorem · Rate.lean:193 · GPDYS.Setting.hess_zero
GPDYS.Setting.hess_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ), P.hess p 0 = 0

inner_hess_comm

theorem · Rate.lean:198 · GPDYS.Setting.inner_hess_comm
ℋ is h-self-adjoint: ⟪x, ℋ y⟫_h = ⟪ℋ x, y⟫_h.
GPDYS.Setting.inner_hess_comm :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p x y : ι → ℝ),
  P.inner x (P.hess p y) = P.inner (P.hess p x) y

hessForm_smul

theorem · Rate.lean:204 · GPDYS.Setting.hessForm_smul
Homogeneity of the Hessian form.
GPDYS.Setting.hessForm_smul :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ) (c : ℝ) (w : ι → ℝ),
  P.hessForm p (c • w) = c ^ 2 * P.hessForm p w

hessForm_zero

theorem · Rate.lean:209 · GPDYS.Setting.hessForm_zero
GPDYS.Setting.hessForm_zero :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ), P.hessForm p 0 = 0

bddBelow_nu_set

theorem · Rate.lean:213 · GPDYS.Setting.bddBelow_nu_set
The set defining ν is bounded below by 2β m_GS².
GPDYS.Setting.bddBelow_nu_set :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p : ι → ℝ},
  P.nrm2sq p = 1 →
    (∀ (i : ι), 0 < p i) → P.g p = 0 → BddBelow {x | ∃ w, P.nrm2sq w = 1 ∧ P.inner p w = 0 ∧ x = P.hessForm p w}

hessForm_ge_nu

theorem · Rate.lean:223 · GPDYS.Setting.hessForm_ge_nu
⟪w, ℋ w⟫_h ≥ ν ‖w‖₂² for every tangent vector w (⟪p, w⟫_h = 0).
GPDYS.Setting.hessForm_ge_nu :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p : ι → ℝ},
  P.nrm2sq p = 1 →
    (∀ (i : ι), 0 < p i) → P.g p = 0 → ∀ {w : ι → ℝ}, P.inner p w = 0 → P.nu p * P.nrm2sq w ≤ P.hessForm p w

energy_sub_eq

theorem · Rate.lean:248 · GPDYS.Setting.energy_sub_eq
Exact energy expansion used here to prove Theorem 5.1, for u, p ∈ 𝓜 with p critical and h = u - p: E_h(u) - E_h(p) = ½⟪h, ℋ h⟫_h + β ∑ wᵢ pᵢ hᵢ³ + (β/4) ∑ wᵢ hᵢ⁴.
GPDYS.Setting.energy_sub_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p u : ι → ℝ},
  P.nrm2sq p = 1 →
    P.g p = 0 →
      P.nrm2sq u = 1 →
        P.energy u - P.energy p =
          1 / 2 * P.hessForm p (u - p) + P.β * ∑ i, P.w i * (p i * (u i - p i) ^ 3) +
            P.β / 4 * ∑ i, P.w i * (u i - p i) ^ 4

rho

def · Rate.lean:274 · GPDYS.Setting.rho
The vector ρ = β(3 p h² + h³).
def rho (p h : ι → ℝ) : ι → ℝ := fun i => P.β * (3 * p i * h i ^ 2 + h i ^ 3)
Elaborated type
GPDYS.Setting.rho :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → (ι → ℝ) → (ι → ℝ) → ι → ℝ

gradE_eq_of_critical

theorem · Rate.lean:277 · GPDYS.Setting.gradE_eq_of_critical
∇E_h(u) = λ(p) u + ℋ h + ρ for h = u - p, p critical.
GPDYS.Setting.gradE_eq_of_critical :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p u : ι → ℝ},
  P.g p = 0 → P.gradE u = P.lam p • u + P.hess p (u - p) + P.rho p (u - p)

inner_g_sub_eq

theorem · Rate.lean:291 · GPDYS.Setting.inner_g_sub_eq
Exact expansion used here to prove Theorem 5.1: ⟪g(u), h⟫_h, using ⟪u, h⟫_h = ½‖h‖₂²: ⟪g(u), h⟫_h = ⟪h, ℋ h⟫_h + ⟪ρ, h⟫_h - ½‖h‖₂² ⟪ℋ h + ρ, u⟫_h.
GPDYS.Setting.inner_g_sub_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p u : ι → ℝ},
  P.nrm2sq p = 1 →
    P.g p = 0 →
      P.nrm2sq u = 1 →
        P.inner (P.g u) (u - p) =
          P.hessForm p (u - p) + P.inner (P.rho p (u - p)) (u - p) -
            1 / 2 * P.nrm2sq (u - p) * P.inner (P.hess p (u - p) + P.rho p (u - p)) u

hess_self

theorem · Rate.lean:319 · GPDYS.Setting.hess_self
ℋ p = 2β p³ for a critical point p.
GPDYS.Setting.hess_self :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p : ι → ℝ},
  P.g p = 0 → P.hess p p = (2 * P.β) • fun i => p i ^ 3

hessForm_decomp

theorem · Rate.lean:327 · GPDYS.Setting.hessForm_decomp
Decomposition of the Hessian form along h = (h - c p) + c p.
GPDYS.Setting.hessForm_decomp :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p h : ι → ℝ) (c : ℝ),
  P.hessForm p h = P.hessForm p (h - c • p) + 2 * c * P.inner (h - c • p) (P.hess p p) + c ^ 2 * P.inner p (P.hess p p)

hessForm_sub_ge_aux

theorem · Rate.lean:339 · GPDYS.Setting.hessForm_sub_ge_aux
The elementary inequality behind hessForm_sub_ge.
GPDYS.Setting.hessForm_sub_ge_aux :
∀ {ν β N3 R HT X Y c : ℝ},
  c = -(1 / 2) * R ^ 2 →
    ν * (R ^ 2 - c ^ 2) ≤ HT →
      0 ≤ Y → |X| ≤ R * (2 * β * N3) → ν * R ^ 2 - ν / 4 * (R ^ 2) ^ 2 - 2 * β * N3 * R ^ 3 ≤ HT + 2 * c * X + c ^ 2 * Y

hessForm_sub_ge

theorem · Rate.lean:353 · GPDYS.Setting.hessForm_sub_ge
The tangential lower bound: ⟪h, ℋ h⟫_h ≥ ν‖h‖₂² - (ν/4)‖h‖₂⁴ - 2β‖p³‖₂ ‖h‖₂³ for h = u - p with u, p ∈ 𝓜.
GPDYS.Setting.hessForm_sub_ge :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {p u : ι → ℝ},
  P.nrm2sq p = 1 →
    (∀ (i : ι), 0 < p i) →
      P.g p = 0 →
        P.nrm2sq u = 1 →
          P.nu p * P.nrm2sq (u - p) - P.nu p / 4 * P.nrm2sq (u - p) ^ 2 -
              (2 * P.β * P.nrm2 fun i => p i ^ 3) * P.nrm2 (u - p) ^ 3 ≤
            P.hessForm p (u - p)

exists_sq_bound

theorem · Rate.lean:398 · GPDYS.Setting.exists_sq_bound
The pointwise bound vᵢ² ≤ K ‖v‖₂² with K = 1/w_min.
GPDYS.Setting.exists_sq_bound :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ K, 0 < K ∧ ∀ (v : ι → ℝ) (i : ι), v i ^ 2 ≤ K * P.nrm2sq v

abs_mul_le_of_unit

theorem · Rate.lean:409 · GPDYS.Setting.abs_mul_le_of_unit
|pᵢ hᵢ| ≤ K ‖h‖₂ for a unit vector p.
GPDYS.Setting.abs_mul_le_of_unit :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {K : ℝ},
  0 ≤ K →
    (∀ (v : ι → ℝ) (i : ι), v i ^ 2 ≤ K * P.nrm2sq v) →
      ∀ {p : ι → ℝ}, P.nrm2sq p = 1 → ∀ (h : ι → ℝ) (i : ι), |p i * h i| ≤ K * P.nrm2 h

abs_sum_cube_le

theorem · Rate.lean:421 · GPDYS.Setting.abs_sum_cube_le
|∑ᵢ wᵢ pᵢ hᵢ³| ≤ K ‖h‖₂³ for a unit vector p.
GPDYS.Setting.abs_sum_cube_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {K : ℝ},
  0 ≤ K →
    (∀ (v : ι → ℝ) (i : ι), v i ^ 2 ≤ K * P.nrm2sq v) →
      ∀ {p : ι → ℝ}, P.nrm2sq p = 1 → ∀ (h : ι → ℝ), |∑ i, P.w i * (p i * h i ^ 3)| ≤ K * P.nrm2 h ^ 3

sum_pow_four_le

theorem · Rate.lean:439 · GPDYS.Setting.sum_pow_four_le
∑ᵢ wᵢ hᵢ⁴ ≤ K ‖h‖₂⁴.
GPDYS.Setting.sum_pow_four_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {K : ℝ},
  (∀ (v : ι → ℝ) (i : ι), v i ^ 2 ≤ K * P.nrm2sq v) → ∀ (h : ι → ℝ), ∑ i, P.w i * h i ^ 4 ≤ K * P.nrm2sq h ^ 2

local_quadratic_growth

theorem · Rate.lean:451 · GPDYS.Setting.local_quadratic_growth
Theorem 5.1, local quadratic growth deduced after (5.8): there is r > 0 such that (ν/4)‖u - p‖₂² ≤ E_h(u) - E_h(p) for every u ∈ 𝓜 with ‖u - p‖₂ ≤ r.
GPDYS.Setting.local_quadratic_growth :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {p : ι → ℝ},
      P.nrm2sq p = 1 →
        (∀ (i : ι), 0 < p i) →
          P.g p = 0 →
            ∃ r,
              0 < r ∧
                ∀ (u : ι → ℝ),
                  P.nrm2sq u = 1 → P.nrm2 (u - p) ≤ r → P.nu p / 4 * P.nrm2sq (u - p) ≤ P.energy u - P.energy p

nrm2_negLap_le

theorem · Rate.lean:487 · GPDYS.Setting.nrm2_negLap_le
‖-Δ_h v‖₂ ≤ μ ‖v‖₂ under the Rayleigh bound ⟪·,-Δ_h ·⟫_h ≤ μ ‖·‖₂².
GPDYS.Setting.nrm2_negLap_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {μ : ℝ},
  0 ≤ μ → (∀ (x : ι → ℝ), P.kin x ≤ μ * P.nrm2sq x) → ∀ (v : ι → ℝ), P.nrm2 (P.negLap v) ≤ μ * P.nrm2 v

nrm2_nonlin'_le

theorem · Rate.lean:496 · GPDYS.Setting.nrm2_nonlin'_le
‖n'(p) v‖₂ ≤ (‖V‖_∞ + 3βK) ‖v‖₂ if pᵢ² ≤ K.
GPDYS.Setting.nrm2_nonlin'_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {K : ℝ},
  0 ≤ K →
    ∀ {p : ι → ℝ}, (∀ (i : ι), p i ^ 2 ≤ K) → ∀ (v : ι → ℝ), P.nrm2 (P.nonlin' p v) ≤ (P.Vinf + 3 * P.β * K) * P.nrm2 v

nrm2_hess_le

theorem · Rate.lean:516 · GPDYS.Setting.nrm2_hess_le
The operator bound ‖ℋ v‖₂ ≤ (μ + ‖V‖_∞ + 3βK + λ(p)) ‖v‖₂.
GPDYS.Setting.nrm2_hess_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {μ K : ℝ},
  0 ≤ μ →
    (∀ (x : ι → ℝ), P.kin x ≤ μ * P.nrm2sq x) →
      0 ≤ K →
        ∀ {p : ι → ℝ},
          (∀ (i : ι), p i ^ 2 ≤ K) →
            ∀ (v : ι → ℝ), P.nrm2 (P.hess p v) ≤ (μ + P.Vinf + 3 * P.β * K + P.lam p) * P.nrm2 v

nrm2_rho_le

theorem · Rate.lean:529 · GPDYS.Setting.nrm2_rho_le
‖ρ‖₂ ≤ βK(3‖h‖₂² + ‖h‖₂³) for a unit vector p.
GPDYS.Setting.nrm2_rho_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {K : ℝ},
  0 ≤ K →
    (∀ (v : ι → ℝ) (i : ι), v i ^ 2 ≤ K * P.nrm2sq v) →
      ∀ {p : ι → ℝ}, P.nrm2sq p = 1 → ∀ (h : ι → ℝ), P.nrm2 (P.rho p h) ≤ P.β * K * (3 * P.nrm2 h ^ 2 + P.nrm2 h ^ 3)

inner_rho_eq

theorem · Rate.lean:569 · GPDYS.Setting.inner_rho_eq
⟪ρ, h⟫_h = β (3 ∑ᵢ wᵢ pᵢ hᵢ³ + ∑ᵢ wᵢ hᵢ⁴).
GPDYS.Setting.inner_rho_eq :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p h : ι → ℝ),
  P.inner (P.rho p h) h = P.β * (3 * ∑ i, P.w i * (p i * h i ^ 3) + ∑ i, P.w i * h i ^ 4)

local_PL

theorem · Rate.lean:579 · GPDYS.Setting.local_PL
Theorem 5.1, local Polyak–Łojasiewicz inequality deduced after (5.8): there is r > 0 such that E_h(u) - E_h(p) ≤ (1/ν)‖g(u)‖₂² for every u ∈ 𝓜 with ‖u - p‖₂ ≤ r.
GPDYS.Setting.local_PL :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {p : ι → ℝ},
      P.nrm2sq p = 1 →
        (∀ (i : ι), 0 < p i) →
          P.g p = 0 →
            ∃ r,
              0 < r ∧
                ∀ (u : ι → ℝ),
                  P.nrm2sq u = 1 → P.nrm2 (u - p) ≤ r → P.energy u - P.energy p ≤ 1 / P.nu p * P.nrm2sq (P.g u)

eventually_close

theorem · Rate.lean:667 · GPDYS.Setting.eventually_close
The iterates are eventually within any distance r > 0 of p.
GPDYS.Setting.eventually_close :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∀ {p : ι → ℝ},
                        P.nrm2sq p = 1 →
                          (∀ (i : ι), 0 < p i) →
                            P.g p = 0 →
                              Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds p) →
                                ∀ {r : ℝ}, 0 < r → ∃ K, ∀ (k : ℕ), K ≤ k → P.nrm2 (P.uiter γ u0 k - p) ≤ r

η_pos

theorem · Rate.lean:681 · GPDYS.Setting.η_pos
0 < η; the upper bound is η_lt_one.
GPDYS.Setting.η_pos :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∀ {p : ι → ℝ},
                        P.nrm2sq p = 1 →
                          (∀ (i : ι), 0 < p i) →
                            P.g p = 0 → Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds p) → 0 < GPDYS.η γ μ (P.nu p)

η_lt_one

theorem · Rate.lean:687 · GPDYS.Setting.η_lt_one
GPDYS.Setting.η_lt_one :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∀ {p : ι → ℝ},
                        P.nrm2sq p = 1 →
                          (∀ (i : ι), 0 < p i) →
                            P.g p = 0 → Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds p) → GPDYS.η γ μ (P.nu p) < 1

rate_step

theorem · Rate.lean:693 · GPDYS.Setting.rate_step
Theorem 5.1, first inequality of (5.6): there is K such that for k ≥ K, 𝓛^{k+1} - E_GS ≤ (1 - η)(𝓛^k - E_GS).
GPDYS.Setting.rate_step :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∀ {p : ι → ℝ},
                        P.nrm2sq p = 1 →
                          (∀ (i : ι), 0 < p i) →
                            P.g p = 0 →
                              Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds p) →
                                ∃ K,
                                  ∀ (k : ℕ),
                                    K ≤ k →
                                      P.lyap γ (P.iter γ u0 (k + 1)) - P.energy p ≤
                                        (1 - GPDYS.η γ μ (P.nu p)) * (P.lyap γ (P.iter γ u0 k) - P.energy p)

rate_theorem

theorem · Rate.lean:749 · GPDYS.Setting.rate_theorem
Theorem 5.1, conditional form: assume the section hypotheses, including convergence of the iterates to the positive normalized critical point p, and a Rayleigh bound μ ≥ 0. Then there is an index K such that for every k ≥ K, 𝓛^{k+1} - E_GS ≤ (1-η)(𝓛^k - E_GS) and E_h(u^k) - E_GS + (R^k)²/γ + (ν/4)‖u^k - u_GS‖₂² ≤ 2(1-η)^{k-K}(𝓛^K - E_GS).
GPDYS.Setting.rate_theorem :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∀ {p : ι → ℝ},
                        P.nrm2sq p = 1 →
                          (∀ (i : ι), 0 < p i) →
                            P.g p = 0 →
                              Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds p) →
                                ∃ K,
                                  ∀ (k : ℕ),
                                    K ≤ k →
                                      P.lyap γ (P.iter γ u0 (k + 1)) - P.energy p ≤
                                          (1 - GPDYS.η γ μ (P.nu p)) * (P.lyap γ (P.iter γ u0 k) - P.energy p) ∧
                                        P.energy (P.uiter γ u0 k) - P.energy p + P.R γ (P.iter γ u0 k) ^ 2 / γ +
                                            P.nu p / 4 * P.nrm2sq (P.uiter γ u0 k - p) ≤
                                          2 * (1 - GPDYS.η γ μ (P.nu p)) ^ (k - K) *
                                            (P.lyap γ (P.iter γ u0 K) - P.energy p)

rate_theorem'

theorem · Rate.lean:798 · GPDYS.Setting.rate_theorem'
Theorem 5.1, self-contained form: under the hypotheses of Theorem 3.4, N ≥ 2, and any Rayleigh bound μ for -Δ_h, the iterates converge to the discrete ground state u_GS, the constant ν satisfies ν ≥ 2β m_GS² > 0, 0 < η < 1, and the geometric decay (5.6) holds from some index K on.
GPDYS.Setting.rate_theorem' :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∀ {μ : ℝ},
                  0 ≤ μ →
                    (∀ (v : ι → ℝ), P.kin v ≤ μ * P.nrm2sq v) →
                      ∃ uGS,
                        (∀ (i : ι), 0 < uGS i) ∧
                          P.nrm2 uGS = 1 ∧
                            P.g uGS = 0 ∧
                              Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds uGS) ∧
                                2 * P.β * GPDYS.mGS uGS ^ 2 ≤ P.nu uGS ∧
                                  0 < P.nu uGS ∧
                                    0 < GPDYS.η γ μ (P.nu uGS) ∧
                                      GPDYS.η γ μ (P.nu uGS) < 1 ∧
                                        ∃ K,
                                          ∀ (k : ℕ),
                                            K ≤ k →
                                              P.lyap γ (P.iter γ u0 (k + 1)) - P.energy uGS ≤
                                                  (1 - GPDYS.η γ μ (P.nu uGS)) *
                                                    (P.lyap γ (P.iter γ u0 k) - P.energy uGS) ∧
                                                P.energy (P.uiter γ u0 k) - P.energy uGS +
                                                      P.R γ (P.iter γ u0 k) ^ 2 / γ +
                                                    P.nu uGS / 4 * P.nrm2sq (P.uiter γ u0 k - uGS) ≤
                                                  2 * (1 - GPDYS.η γ μ (P.nu uGS)) ^ (k - K) *
                                                    (P.lyap γ (P.iter γ u0 K) - P.energy uGS)

GPDYS/Spectral.lean — μ_max as the largest eigenvalue of -Δ_h; Theorem 5.1 with μ = μ_max; ν attained

eq_zero_of_forall_two_mul_add_sq_mul_le

theorem · Spectral.lean:27 · GPDYS.eq_zero_of_forall_two_mul_add_sq_mul_le
If 2 t c + t² d ≤ 0 for every real t, then c = 0 (the first variation of a quadratic with a maximum at t = 0 vanishes).
GPDYS.eq_zero_of_forall_two_mul_add_sq_mul_le :
∀ {c d : ℝ}, (∀ (t : ℝ), 2 * t * c + t ^ 2 * d ≤ 0) → c = 0

μmax

def · Spectral.lean:49 · GPDYS.Setting.μmax
On a nonempty mesh, μ_max = max {⟪v, -Δ_h v⟫_h : v ∈ 𝓜} is the largest eigenvalue of -Δ_h. The empty-set value is zero.
def μmax : ℝ := sSup {x : ℝ | ∃ v : ι → ℝ, P.nrm2sq v = 1 ∧ x = P.kin v}
Elaborated type
GPDYS.Setting.μmax :
{ι : Type u_1} → [inst : Fintype ι] → [inst_1 : DecidableEq ι] → GPDYS.Setting ι → ℝ

kin_continuous

theorem · Spectral.lean:52 · GPDYS.Setting.kin_continuous
The kinetic form is continuous.
GPDYS.Setting.kin_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι), Continuous P.kin

exists_kin_max

theorem · Spectral.lean:57 · GPDYS.Setting.exists_kin_max
The Rayleigh quotient attains its maximum on the sphere.
GPDYS.Setting.exists_kin_max :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ v, P.nrm2sq v = 1 ∧ ∀ (w : ι → ℝ), P.nrm2sq w = 1 → P.kin w ≤ P.kin v

μmax_eq_kin_of_max

theorem · Spectral.lean:67 · GPDYS.Setting.μmax_eq_kin_of_max
If vm ∈ 𝓜 maximizes the Rayleigh quotient on 𝓜, then μ_max = ⟪vm, -Δ_h vm⟫_h.
GPDYS.Setting.μmax_eq_kin_of_max :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {vm : ι → ℝ},
  P.nrm2sq vm = 1 → (∀ (w : ι → ℝ), P.nrm2sq w = 1 → P.kin w ≤ P.kin vm) → P.μmax = P.kin vm

μmax_attained

theorem · Spectral.lean:76 · GPDYS.Setting.μmax_attained
μ_max is attained: μ_max = ⟪v, -Δ_h v⟫_h for some v ∈ 𝓜.
GPDYS.Setting.μmax_attained :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ v, P.nrm2sq v = 1 ∧ P.kin v = P.μmax

kin_le_μmax

theorem · Spectral.lean:81 · GPDYS.Setting.kin_le_μmax
The Rayleigh bound ⟪v, -Δ_h v⟫_h ≤ μ_max ‖v‖₂² for every v.
GPDYS.Setting.kin_le_μmax :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] (v : ι → ℝ),
  P.kin v ≤ P.μmax * P.nrm2sq v

μmax_nonneg

theorem · Spectral.lean:97 · GPDYS.Setting.μmax_nonneg
GPDYS.Setting.μmax_nonneg :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι], 0 ≤ P.μmax

μmax_isEigenvalue

theorem · Spectral.lean:105 · GPDYS.Setting.μmax_isEigenvalue
μ_max is an eigenvalue of -Δ_h: -Δ_h v = μ_max v for a maximizer v ∈ 𝓜 of the Rayleigh quotient.
GPDYS.Setting.μmax_isEigenvalue :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ v, P.nrm2sq v = 1 ∧ P.negLap v = P.μmax • v

eigenvalue_le_μmax

theorem · Spectral.lean:129 · GPDYS.Setting.eigenvalue_le_μmax
Every eigenvalue of -Δ_h is at most μ_max.
GPDYS.Setting.eigenvalue_le_μmax :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι] {v : ι → ℝ},
  v ≠ 0 → ∀ {l : ℝ}, P.negLap v = l • v → l ≤ P.μmax

rate_theorem_μmax

theorem · Spectral.lean:138 · GPDYS.Setting.rate_theorem_μmax
Theorem 5.1 with μ = μ_max, the largest eigenvalue of -Δ_h, exactly as in the paper: the iterates converge to the discrete ground state u_GS, ν ≥ 2β m_GS² > 0, the rate η = min{γν/(4(1+γμ_max)), 1/2} satisfies 0 < η < 1, and (5.6) holds from some index K on.
GPDYS.Setting.rate_theorem_μmax :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  2 ≤ Fintype.card ι →
    ∀ {u0 : ι → ℝ},
      (∀ (i : ι), 0 < u0 i) →
        P.nrm2 u0 = 1 →
          ∀ {γ : ℝ},
            0 < γ →
              γ ≤ P.γmax u0 →
                ∃ uGS,
                  (∀ (i : ι), 0 < uGS i) ∧
                    P.nrm2 uGS = 1 ∧
                      P.g uGS = 0 ∧
                        Filter.Tendsto (P.uiter γ u0) Filter.atTop (nhds uGS) ∧
                          2 * P.β * GPDYS.mGS uGS ^ 2 ≤ P.nu uGS ∧
                            0 < P.nu uGS ∧
                              0 < GPDYS.η γ P.μmax (P.nu uGS) ∧
                                GPDYS.η γ P.μmax (P.nu uGS) < 1 ∧
                                  ∃ K,
                                    ∀ (k : ℕ),
                                      K ≤ k →
                                        P.lyap γ (P.iter γ u0 (k + 1)) - P.energy uGS ≤
                                            (1 - GPDYS.η γ P.μmax (P.nu uGS)) *
                                              (P.lyap γ (P.iter γ u0 k) - P.energy uGS) ∧
                                          P.energy (P.uiter γ u0 k) - P.energy uGS + P.R γ (P.iter γ u0 k) ^ 2 / γ +
                                              P.nu uGS / 4 * P.nrm2sq (P.uiter γ u0 k - uGS) ≤
                                            2 * (1 - GPDYS.η γ P.μmax (P.nu uGS)) ^ (k - K) *
                                              (P.lyap γ (P.iter γ u0 K) - P.energy uGS)

hessForm_continuous

theorem · Spectral.lean:154 · GPDYS.Setting.hessForm_continuous
The Hessian form w ↦ ⟪w, ℋ w⟫_h is continuous.
GPDYS.Setting.hessForm_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ),
  Continuous (P.hessForm p)

inner_continuous

theorem · Spectral.lean:159 · GPDYS.Setting.inner_continuous
w ↦ ⟪p, w⟫_h is continuous.
GPDYS.Setting.inner_continuous :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (p : ι → ℝ),
  Continuous fun w => P.inner p w

nu_attained

theorem · Spectral.lean:165 · GPDYS.Setting.nu_attained
ν is attained: it is the minimum of ⟪w, ℋ w⟫_h over the unit tangent vectors w ∈ 𝓜, ⟪p, w⟫_h = 0, as in the paper.
GPDYS.Setting.nu_attained :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι),
  2 ≤ Fintype.card ι →
    ∀ {p : ι → ℝ},
      P.nrm2sq p = 1 →
        (∀ (i : ι), 0 < p i) → P.g p = 0 → ∃ w, P.nrm2sq w = 1 ∧ P.inner p w = 0 ∧ P.hessForm p w = P.nu p

GPDYS/Sign.lean — Remark 2.3: uniqueness of the minimizer up to sign (irreducibility from the positive resolvent)

MS_mulVec_apply

theorem · Sign.lean:32 · GPDYS.Setting.MS_mulVec_apply
The i-th component of (M + γ S) x.
GPDYS.Setting.MS_mulVec_apply :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (γ : ℝ) (x : ι → ℝ) (i : ι),
  (P.M + γ • P.S).mulVec x i = P.w i * x i + γ * ∑ j, P.S i j * x j

S_irreducible

theorem · Sign.lean:40 · GPDYS.Setting.S_irreducible
Irreducibility of S (connectivity of the mesh), derived from the entrywise positivity of the resolvent: for every proper nonempty subset A of the indices there are i ∈ A and j ∉ A with S i j ≠ 0.
GPDYS.Setting.S_irreducible :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) (A : Finset ι),
  A.Nonempty → Aᶜ.Nonempty → ∃ i ∈ A, ∃ j ∉ A, P.S i j ≠ 0

same_sign_of_kin_le

theorem · Sign.lean:90 · GPDYS.Setting.same_sign_of_kin_le
If v has no zero component and vᵀ S v ≤ |v|ᵀ S |v|, then all components of v have the same sign.
GPDYS.Setting.same_sign_of_kin_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {v : ι → ℝ},
  (∀ (i : ι), v i ≠ 0) → (P.kin v ≤ P.kin fun i => |v i|) → (∀ (i : ι), 0 < v i) ∨ ∀ (i : ι), v i < 0

eq_or_eq_neg_of_energy_le

theorem · Sign.lean:153 · GPDYS.Setting.eq_or_eq_neg_of_energy_le
Remark 2.3, uniqueness up to sign: if u > 0 is a critical point of E_h on 𝓜 and v ∈ 𝓜 satisfies E_h(v) ≤ E_h(u), then v = u or v = -u.
GPDYS.Setting.eq_or_eq_neg_of_energy_le :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) {u v : ι → ℝ},
  P.nrm2sq u = 1 → (∀ (i : ι), 0 < u i) → P.g u = 0 → P.nrm2sq v = 1 → P.energy v ≤ P.energy u → v = u ∨ v = -u

exists_groundState_sign

theorem · Sign.lean:189 · GPDYS.Setting.exists_groundState_sign
Remark 2.3 in full: there is a positive u_GS ∈ 𝓜 which is a critical point of E_h|_𝓜, the global minimizer of E_h on 𝓜, the unique nonnegative critical point, and the minimizer is unique up to sign: every minimizer of E_h on 𝓜 is u_GS or -u_GS.
GPDYS.Setting.exists_groundState_sign :
∀ {ι : Type u_1} [inst : Fintype ι] [inst_1 : DecidableEq ι] (P : GPDYS.Setting ι) [Nonempty ι],
  ∃ uGS,
    (∀ (i : ι), 0 < uGS i) ∧
      P.nrm2 uGS = 1 ∧
        P.g uGS = 0 ∧
          (∀ (v : ι → ℝ), P.nrm2 v = 1 → P.energy uGS ≤ P.energy v) ∧
            (∀ (v : ι → ℝ), P.nrm2 v = 1 → (∀ (i : ι), 0 ≤ v i) → P.g v = 0 → v = uGS) ∧
              ∀ (v : ι → ℝ), P.nrm2 v = 1 → P.energy v ≤ P.energy uGS → v = uGS ∨ v = -uGS