Row deviation of the computed capacitance from `I` (`cap_row`)
ProvedJ6Seg.cap_rowcomplexity-theoryinteger-multiplicationkappa-improvement
Row deviation of the computed capacitance from I.
The following holds (Lean statement, in the scope of module Solutions.J6SegStage):
theorem J6Seg.cap_row (hB : BlocksOK s t B) (hs : 0 < s) (hst : s ≤ t) (hα : 2 ≤ α)
(hx : 3 ≤ xθ s t α) (hT : TabOK P s t α B T E Dm) (hE : 0 ≤ E) {lam : ℕ}
(hlam : ∀ i < s, B.len i ≤ lam) (hP : 100 * (((lam : ℝ) + 1) * E + 1) ≤ 2 ^ P)
{a : ℕ} (ha' : a < s) :
∑ k ∈ (Jlist B).toFinset, |(capI P T B a k : ℝ) / 2 ^ P - kd a k| ≤
1 / 7 + lam * (2 * B.w + 1) * (15 * Dm * (((lam : ℝ) + 1) * E + 1) / 2 ^ P)
Context. Segmented inverse (S2): accuracy of the global stages
With K = (λ+1)E + 1 (λ ≥ every block length, E the table accuracy in ulps) and Dm ≥ every
D_u = e^{πα²θu²} used:
applyMinv_err:|applyMinv V / 2^P - M⁻¹ (V/2^P)| ≤ 9 Dm K (B+1)/2^P(|V/2^P| ≤ B);coupleI_err:|coupleI z / 2^P - Δ (z/2^P)| ≤ (2w+1)(1/2 + E Z)/2^P(|z/2^P| ≤ ZonJ);capI_row,capI_apply: the computed capacitanceC = I + (M⁻¹Δ)|_Jhas row deviation≤ 1/7 + λ(2w+1)δand|C z - (z + M⁻¹ Δ z)| ≤ λ(2w+1) δ Zwithδ = 15 Dm K / 2^P.
Formalization Note. Part of the Lean formalization of the round-six κ-improvement (integer-multiplication-kappa campaign, target IntMul.Kappa.jain_round6_framework). The statement is copied verbatim from the Lean development; the platform node carries the same declaration name. Definitions it mentions live in the IntMul_Kappa_R6_Defs* bundles (on top of the published κ bundles IntMul_Kappa_K_Defs*).
Preamble
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_R6_Defs3
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6Seg
open Finset Real
open IntMul.HvdH IntMul.HvdH.JPf J6QLU
variable {P s t α : ℕ} {B : Blocks} {T : Tables} {E Dm : ℝ}
Formal statement
theorem J6Seg.cap_row (hB : BlocksOK s t B) (hs : 0 < s) (hst : s ≤ t) (hα : 2 ≤ α)
(hx : 3 ≤ xθ s t α) (hT : TabOK P s t α B T E Dm) (hE : 0 ≤ E) {lam : ℕ}
(hlam : ∀ i < s, B.len i ≤ lam) (hP : 100 * (((lam : ℝ) + 1) * E + 1) ≤ 2 ^ P)
{a : ℕ} (ha' : a < s) :
∑ k ∈ (Jlist B).toFinset, |(capI P T B a k : ℝ) / 2 ^ P - kd a k| ≤
1 / 7 + lam * (2 * B.w + 1) * (15 * Dm * (((lam : ℝ) + 1) * E + 1) / 2 ^ P) := by sorrySource
S. Jain, round-six networks for the integer-multiplication κ-improvement campaign (https://github.com/Swapnil-jain/integer-mult-kappa, commit 5868dc7) and D. Colkitt, integer-mult-bounds (https://github.com/CrocSwap/integer-mult-bounds); target `IntMul.Kappa.jain_round6_framework`. Lean declaration `J6Seg.cap_row`, Solutions/J6SegStage.lean (lines 225–267) of the round-six development.