Round-six lemma `chunk_cost_nat`
ProvedJ6Seg.ChB.chunk_cost_natAn auxiliary lemma of the round-six development, published as a separate node because its proof is long or shared.
The following holds (Lean statement, in the scope of module Solutions.J6SegAxBud5):
theorem J6Seg.ChB.chunk_cost_nat :
kerC (cCk P n src k ap) (cBk P n src k ap) (2 ^ axfC6 P n) (axpost6 P n D k) (cLc P n)
(axnc6 P n k) (tabsT (axTC6 P n src k ap) (axnc6 P n k)).length (axpre6 P n D k)
(2 * (axpre6 P n D k * axnc6 P n k * axpost6 P n D k * 2 ^ axfC6 P n)) ≤
TP6 P n * cY P n src k ap
Context. B-line axis budget 5: the chunk pass costs ≤ T · Y
chunk_cost_nat: on an axis with AxNum,
kerC Ck Bk (2^fC) post Lc nc |TC| pre NC ≤ T · cY at the witnesses of J6SegAxBud4, with
cY = 2·10^9 (BI + BH + 2) + 2 Yb + 10^4 + 2 + 5·10^6 (Bk + 2).
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_Defs70
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
open J6Seg J6Seg.ChB
open IntMul NLogN NLogN.KIL NLogN.KFB IntMul.Kappa.R6 J6Seg J6Seg.KR
variable {P : Prm} {n : ℕ} {src : ℕ → ℕ} {D k : ℕ} (ap : AxPlan6) (h : Side.AxNum P n src D k)
include h
theorem J6Seg.ChB.chunk_cost_nat :
kerC (cCk P n src k ap) (cBk P n src k ap) (2 ^ axfC6 P n) (axpost6 P n D k) (cLc P n)
(axnc6 P n k) (tabsT (axTC6 P n src k ap) (axnc6 P n k)).length (axpre6 P n D k)
(2 * (axpre6 P n D k * axnc6 P n k * axpost6 P n D k * 2 ^ axfC6 P n)) ≤
TP6 P n * cY P n src k ap := by sorry