`segInvFullS 0 = 0` (round six, `segInvFullS_zero`)
ProvedJ6Seg.segInvFullS_zerosegInvFullS 0 = 0 (parameter hypotheses of segInvFullS_err).
The following holds (Lean statement, in the scope of module Solutions.J6SegLn10):
theorem J6Seg.segInvFullS_zero {R w : ℕ} {Bu : ℝ}
(hs : 0 < s) (hst : s ≤ t) (hα : 2 ≤ α) (hx : 3 ≤ xθ s t α) (hl : 1 ≤ lam) (hw : w ≤ s)
(hR : ddR (α : ℝ) ((t : ℝ) / s) (lam - 1) ≤ 2 ^ R) (hBu : 0 ≤ Bu)
(hP : 1000 * fullG lam w s t α Bu ≤ 2 ^ P) :
segInvFullS P R lam w s t α (fun _ => (0, 0)) = fun _ => (0, 0)
Context. Segmented inverse (S2), machine side 10: the solver maps zero to zero
B₀ must send an all-zero line to an all-zero line (the padded entries of the tensor stay
exactly zero). The only non-obvious step is the rounded division fdiv P 0 d = 0, true for
d ≥ 0: every pivot of the elimination is positive in the near-identity regime.
PivPos,geSolveS_zero: nonnegative pivots givegeSolveS … 0 = 0;pivPos_of: the hypotheses ofgeSolveS_eqgive nonnegative pivots (same induction);segInvS_zero(hypotheses ofsegInvS_eq),segInvFullS_zero(parameter hypotheses ofsegInvFullS_err).
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*).
-- Round-six κ development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_R6_Defs61
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 α lam : ℕ} {B : Blocks} {T : Tables}
theorem J6Seg.segInvFullS_zero {R w : ℕ} {Bu : ℝ}
(hs : 0 < s) (hst : s ≤ t) (hα : 2 ≤ α) (hx : 3 ≤ xθ s t α) (hl : 1 ≤ lam) (hw : w ≤ s)
(hR : ddR (α : ℝ) ((t : ℝ) / s) (lam - 1) ≤ 2 ^ R) (hBu : 0 ≤ Bu)
(hP : 1000 * fullG lam w s t α Bu ≤ 2 ^ P) :
segInvFullS P R lam w s t α (fun _ => (0, 0)) = fun _ => (0, 0) := by sorry