Adapted from k3nfalt/longtails, commit 269cbc764dd36851fd0b64f2f950f329ee127de4. Modified for Lean Pool: module visibility, namespace isolation, and current Mathlib.
An active block and earlier blocks used to count curvature updates.
Start index and count of the active charging block.
Completed charging blocks, in reverse chronological order.
Instances For
Partition the iteration history into blocks starting at upward curvature changes.
Equations
Instances For
noncomputable def
LongTails.OracleTemplate.GeneralizedAccelerated.chargeTotal
(w : ℕ → ℝ)
(s : ChargingState)
:
The sum of the active and completed block charges.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LongTails.OracleTemplate.GeneralizedAccelerated.downMass
(up : ℕ → Bool)
(w : ℕ → ℝ)
(n : ℕ)
:
The inverse-curvature mass accumulated at downward curvature changes.
Equations
- LongTails.OracleTemplate.GeneralizedAccelerated.downMass up w n = ∑ i ∈ Finset.range (n + 1), if up i = true then 0 else w i
Instances For
theorem
LongTails.OracleTemplate.GeneralizedAccelerated.charging_down
{up : ℕ → Bool}
(w : ℕ → ℝ)
{n : ℕ}
(h : up (n + 1) = false)
:
chargeValue w (charging up (n + 1)).active = 2 * chargeValue w (charging up n).active ∧ chargeTotal w (charging up (n + 1)) = chargeTotal w (charging up n) + chargeValue w (charging up n).active
The active block followed by all completed blocks.
Equations
Instances For
noncomputable def
LongTails.OracleTemplate.GeneralizedAccelerated.chargePrefix
(w : ℕ → ℝ)
(s : ChargingState)
(t : ℕ)
:
The total charge from blocks whose start precedes a given iteration.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LongTails.OracleTemplate.GeneralizedAccelerated.charging_prefix_bound
{up : ℕ → Bool}
{w B : ℕ → ℝ}
(hB0 : 0 ≤ B 0)
(hB : Monotone B)
(htotal : ∀ (n : ℕ), chargeTotal w (charging up n) ≤ B n)
(n : ℕ)
(b : ℕ × ℕ)
:
b ∈ chargingEntries (charging up n) → chargePrefix w (charging up n) b.1 ≤ B b.1
theorem
LongTails.OracleTemplate.GeneralizedAccelerated.charging_nodup
(up : ℕ → Bool)
(n : ℕ)
:
(chargingEntries (charging up n)).Nodup
theorem
LongTails.OracleTemplate.GeneralizedAccelerated.charging_sum_count
(up : ℕ → Bool)
(n : ℕ)
: