The opposite procedure
ProvedNLogN.KFV.cOpp_leThe opposite procedure.
The following holds (Lean statement, in the scope of module Solutions.KFV57CostR):
theorem NLogN.KFV.cOpp_le (hK : 0 < K) (hℓ : 1 ≤ ℓ) {W B cCh U : ℕ} (hDW : D ≤ W)
(hS : 10 ^ 12 * (B + 2) ^ 3 ≤ 2 ^ ℓ) (hBW : B + 2 ≤ 6 * (W + 1)) (hDl : D * ℓ ≤ B)
(hU : zsz (U : ℤ) ≤ B) :
cOpp D ℓ K long W B cCh U ≤
10 ^ 12 * (W + 1) * (2 ^ NLogN.KFV.nB D ℓ K long * 2 ^ ℓ) * (ℓ + (K + 2) * (D + 1)) + ℓ * cCh
Context. The lemma belongs to the part KFV §57: cost of the rounds of the uniform Lemma 16 procedures.
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.unusedSectionVars false set_option linter.unusedSimpArgs false set_option linter.unusedVariables false open NLogN open NLogN.KFV open IntMul RS KIL KFD KFB KFH KFC KFT Synth AModel AModelL12 GlueLayout GlueP14 GlueError variable (D ℓ K : ℕ) [NeZero D] (long : Fin D → Bool)
theorem NLogN.KFV.cOpp_le (hK : 0 < K) (hℓ : 1 ≤ ℓ) {W B cCh U : ℕ} (hDW : D ≤ W)
(hS : 10 ^ 12 * (B + 2) ^ 3 ≤ 2 ^ ℓ) (hBW : B + 2 ≤ 6 * (W + 1)) (hDl : D * ℓ ≤ B)
(hU : zsz (U : ℤ) ≤ B) :
cOpp D ℓ K long W B cCh U ≤
10 ^ 12 * (W + 1) * (2 ^ NLogN.KFV.nB D ℓ K long * 2 ^ ℓ) * (ℓ + (K + 2) * (D + 1)) + ℓ * cCh := by sorry