The size facts used by the cost bounds
ProvedNLogN.KFM.setup_factsThe size facts used by the cost bounds.
The following holds (Lean statement, in the scope of module Solutions.KFMS4):
theorem NLogN.KFM.setup_facts {n : ℕ} (hn : IntMul.OpenAI.Glue.n0 ≤ n) :
8192 ≤ bP n ∧ 1 ≤ IntMul.OpenAI.Glue.dP n ∧ IntMul.OpenAI.Glue.dP n ≤ bP n ∧ IntMul.OpenAI.Glue.dP n ^ 2 ≤ bP n ∧ n ≤ 2 ^ bP n ∧ IntMul.OpenAI.Glue.LP n < bP n ∧
ℓP n ≤ IntMul.OpenAI.Glue.LP n ∧ 64 * IntMul.OpenAI.Glue.dP n ^ 2 * (256 * IntMul.OpenAI.Glue.dP n ^ 2).factorial ≤ IntMul.OpenAI.Glue.rP n ∧ IntMul.OpenAI.Glue.rP n ≤ 2 ^ bP n ∧
12 * IntMul.OpenAI.Glue.dP n ^ 2 * bP n ≤ 2 ^ bP n ∧ 64 ≤ IntMul.OpenAI.Glue.rP n ∧ srcQ (IntMul.OpenAI.Glue.dP n) (IntMul.OpenAI.Glue.rP n) ≤ 3 * 2 ^ bP n
Context. The lemma belongs to the part KFM S4: the cost of the scalar setup program: For n ≥ n₀, with b = lg n, every atom the setup expressions read is at most A = 2^{b+2}.
The expressions have degree at most 8, so all values have fewer than B = 8b+17 bits
(KFMSm). This gives
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 open NLogN open NLogN.KFM open IntMul IntMul.OpenAI.Glue IntMul.OpenAI.RP RS
theorem NLogN.KFM.setup_facts {n : ℕ} (hn : IntMul.OpenAI.Glue.n0 ≤ n) :
8192 ≤ bP n ∧ 1 ≤ IntMul.OpenAI.Glue.dP n ∧ IntMul.OpenAI.Glue.dP n ≤ bP n ∧ IntMul.OpenAI.Glue.dP n ^ 2 ≤ bP n ∧ n ≤ 2 ^ bP n ∧ IntMul.OpenAI.Glue.LP n < bP n ∧
ℓP n ≤ IntMul.OpenAI.Glue.LP n ∧ 64 * IntMul.OpenAI.Glue.dP n ^ 2 * (256 * IntMul.OpenAI.Glue.dP n ^ 2).factorial ≤ IntMul.OpenAI.Glue.rP n ∧ IntMul.OpenAI.Glue.rP n ≤ 2 ^ bP n ∧
12 * IntMul.OpenAI.Glue.dP n ^ 2 * bP n ≤ 2 ^ bP n ∧ 64 ≤ IntMul.OpenAI.Glue.rP n ∧ srcQ (IntMul.OpenAI.Glue.dP n) (IntMul.OpenAI.Glue.rP n) ≤ 3 * 2 ^ bP n := by sorry