zsz_two_le (KFUU §8d: building the shape lists)
ProvedNLogN.KFUU.zsz_two_leThe following holds (Lean statement, in the scope of module Solutions.KFUUSet4):
theorem NLogN.KFUU.zsz_two_le {B : ℕ} {h : ℕ} (hB : zsz ((2 ^ h * 2 : ℕ) : ℤ) ≤ B) : zsz (2 : ℤ) ≤ B
Context. The lemma belongs to the part KFUU §8d: building the shape lists: After readD, mkL (register code) builds the lists that the passes read:
rU2 = 2^h; pSK = [2, s_0, …, s_{d-1}] ((zl SK).reverse); pTK = [2, t_0, …]
((zl TK).reverse); pTR = [t_{d-1}, …, t_0] (zl (shP h bs) for the reversal);
pSR = [2, s_{d-1}, …, s_0] ((zl SR).reverse); rCZ = 2; nR = [d+1, d]; oI = d; oBv = 2.
Formalization Note. This lemma belongs to layer 5 of the Lean formalization (integer-multiplication-kappa campaign) of the OpenAI preprint Integer multiplication below : the uniform item-language machine (register programs over the NLogN multitape framework) assembling the Proposition 14 / Lemma 13 / Proposition 18 pieces, the resampling and chirp stages and the cost recurrences into one fixed machine, culminating in NLogN.KFTop.kappa_bound : IntMul.KappaBound (1 / 2 ^ 182) (the bound of Def_IntMul_MultitapeModel). All names refer to the definition bundles up to IntMul_Kappa_K_Defs33.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction. import Definitions.Def_IntMul_Kappa_K_Defs33 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 set_option linter.unusedSimpArgs false set_option linter.unusedVariables false set_option linter.unnecessarySeqFocus false open NLogN open NLogN.KFUU open IntMul KIL AModel
theorem NLogN.KFUU.zsz_two_le {B : ℕ} {h : ℕ} (hB : zsz ((2 ^ h * 2 : ℕ) : ℤ) ≤ B) : zsz (2 : ℤ) ≤ B := by sorry