Rule (3.6) gives
ProvedThreeOpSplitting.Accel.stepsize_identity_part1Let , , and , and let be generated by the stepsize rule (3.6). Then for every
This identity is what the rule (3.6) is designed for: it matches the coefficient of on the left of (3.9), divided by , with the coefficient of on the right of (3.9) at the next step, divided by , so that (3.9) telescopes.
import Mathlib import Definitions.Def_ThreeOpSplitting_Accel_Stepsizes open Filter Topology
namespace ThreeOpSplitting.Accel
/-- Proof of Theorem 3.3, Part 1 (p. 845): the rule (3.6) ensures
`(1 + 2γ_kμ_B)/γ_k² = (1 - 2γ_{k+1}μ_Cη)/γ_{k+1}²` for all `k ≥ 0`. -/
theorem stepsize_identity_part1 (μB μC η γ0 : ℝ)
(hμB : 0 ≤ μB) (hμC : 0 < μC) (hη0 : 0 < η) (hη1 : η < 1) (hγ0 : 0 < γ0) (k : ℕ) :
(1 + 2 * stepsPart1 μB μC η γ0 k * μB) / stepsPart1 μB μC η γ0 k ^ 2
= (1 - 2 * stepsPart1 μB μC η γ0 (k + 1) * μC * η) / stepsPart1 μB μC η γ0 (k + 1) ^ 2 := by sorry
end ThreeOpSplitting.Accel
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Let be real numbers with
Let be the sequence that starts at and satisfies
Here the square root of a negative number is read as , and division by gives .
The theorem states that for every , including ,
The quotients in this identity use the same convention that division by gives . If some were , the right side would be read as , and similarly for on the left. The statement itself does not say that the are nonzero. For the left side is with the given . The case is allowed.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.