Documentation

LeanPool.Superdiffusion.Algsuperdiff.Section4.Provider.ExcessDecay.DiscreteGronwall

DiscreteGronwall #

Ported from scottnarmstrong/Superdiffusion at 7f20476385d4af418f110303085ad0740c9eba46. Module imports, support namespace and local option directives adapted for Lean Pool.

The discrete Grönwall inequality (l.discrete.gronwall) #

ABK26, §4.3. The source statement:

Suppose H ≥ 0, {ε_k}_{k=1}^i ⊂ ℝ₊ and {a_k}_{k=1}^i satisfy a_l ≤ H + ∑_{k=1}^{l-1} ε_k a_k for every l ∈ {1,…,i}. Then a_i ≤ H exp(∑_{k=1}^{i-1} ε_k).

and the printed proof is complete: with S_l := ∑_{k≤l} ε_k a_k one has `S_l

Reading conventions #

Real.exp is kept opaque throughout: the only transcendental input is Real.add_one_le_exp, used once, and every other step is ring, an explicit monotonicity lemma, or linarith only.

Scope #

l.discrete.gronwall is an unfrozen source node; this module is a provider realization of its content and claims no node closure.

References #

theorem Algsuperdiff.Section4.Provider.ExcessDecay.gronwallProdBound {N : ℕ} {H : ℝ} {a ε : ℕ → ℝ} (hε : ∀ (k : ℕ), 0 ≤ ε k) (hrec : ∀ l ≤ N, a l ≤ H + ∑ k ∈ Finset.range l, ε k * a k) (l : ℕ) :
l ≤ N → ∑ k ∈ Finset.range l, ε k * a k + H ≤ H * ∏ k ∈ Finset.range l, (1 + ε k)

The telescoping core of discrete Grönwall: the running partial sum plus H is dominated by H ∏ (1 + ε_k).

theorem Algsuperdiff.Section4.Provider.ExcessDecay.discrete_gronwall {N : ℕ} {H : ℝ} {a ε : ℕ → ℝ} (hH : 0 ≤ H) (hε : ∀ (k : ℕ), 0 ≤ ε k) (hrec : ∀ l ≤ N, a l ≤ H + ∑ k ∈ Finset.range l, ε k * a k) (l : ℕ) :
l ≤ N → a l ≤ H * Real.exp (∑ k ∈ Finset.range l, ε k)

Discrete Grönwall (l.discrete.gronwall), all-indices form.

If H ≥ 0, the ε_k are nonnegative and a_l ≤ H + ∑_{k<l} ε_k a_k for every l ≤ N, then a_l ≤ H exp(∑_{k<l} ε_k) for every l ≤ N.