The native chunk pair on every axis (round six, `chunk_native`)
ProvedJ6Seg.PJ.chunk_nativeThe native chunk pair on every axis.
The following holds (Lean statement, in the scope of module Solutions.J6SegILPreJC15):
theorem J6Seg.PJ.chunk_native (P : Prm) (hP : P.Ok) (pl : Plan6) {Zn : Fin HS} {oN : Fin 19 → Fin HS}
(hZ : Zn ∉ rg) (hZ5 : Zn.val < 56) (hZT : Zn ≠ sTmp) (hZC : Zn ≠ cRdC) (hZ2 : Zn ≠ sT2)
(hZx : Zn ≠ J6Seg.PJ.sSt ∧ Zn ≠ sX ∧ Zn ≠ sOut ∧ Zn ≠ sLn ∧ Zn ≠ cLC ∧ Zn ≠ 13 ∧ Zn ≠ 51 ∧ Zn ≠ 53 ∧
Zn ≠ 54 ∧ Zn ≠ PreT.Cu)
(hinj : Injective oN) (hlt : ∀ i, (oN i).val < 56)
(hx : ∀ i, oN i ≠ sX ∧ oN i ≠ sLn ∧ oN i ≠ sOut ∧ oN i ≠ sT2 ∧ oN i ≠ cLC)
(hZo : ∀ i, oN i ≠ Zn) :
∃ n₁ : ℕ, ∀ n, n₁ ≤ n → ∀ src : ℕ → ℕ, SrcOK6 P n src → ∀ D : ℕ, dP6 P n = D + 1 →
∀ k ≤ D, ∀ A' : ℕ, ∃ cU cD : ℕ,
(∀ s0, Sp (eCn pl Zn oN) (encK s0 (F0 Zn (descAx6 P n src D k)))
(encK s0 (extend oN (chunkRegs6 P n src D k pl) (F0 Zn (descAx6 P n src D k)))) cU) ∧
(∀ s0, Sp (tearP oN) (encK s0 (extend oN (chunkRegs6 P n src D k pl)
(F0 Zn (descAx6 P n src D k)))) (encK s0 (F0 Zn (descAx6 P n src D k))) cD) ∧
((cU + 2 : ℕ) : ℝ) ≤ 2 * (cU6 P n A' / (D + 1)) ∧
((cD + 2 : ℕ) : ℝ) ≤ 2 * (cU6 P n A' / (D + 1))
Context. B5 chunk side, part 15: the native chunk pair on every axis, within budget
chunk_native: eventually, on every axis, eCn builds chunkRegs6 from the descriptor and
tearP clears it, each at cost + 2 ≤ 2 · cU6 P n A' / (D + 1).
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_Defs71 set_option autoImplicit false set_option relaxedAutoImplicit false set_option maxHeartbeats 1000000 open J6Seg J6Seg.PJ set_option maxRecDepth 100000 open IntMul NLogN NLogN.KIL NLogN.RS Function IntMul.Kappa.R6 J6Seg.Side
theorem J6Seg.PJ.chunk_native (P : Prm) (hP : P.Ok) (pl : Plan6) {Zn : Fin HS} {oN : Fin 19 → Fin HS}
(hZ : Zn ∉ rg) (hZ5 : Zn.val < 56) (hZT : Zn ≠ sTmp) (hZC : Zn ≠ cRdC) (hZ2 : Zn ≠ sT2)
(hZx : Zn ≠ J6Seg.PJ.sSt ∧ Zn ≠ sX ∧ Zn ≠ sOut ∧ Zn ≠ sLn ∧ Zn ≠ cLC ∧ Zn ≠ 13 ∧ Zn ≠ 51 ∧ Zn ≠ 53 ∧
Zn ≠ 54 ∧ Zn ≠ PreT.Cu)
(hinj : Injective oN) (hlt : ∀ i, (oN i).val < 56)
(hx : ∀ i, oN i ≠ sX ∧ oN i ≠ sLn ∧ oN i ≠ sOut ∧ oN i ≠ sT2 ∧ oN i ≠ cLC)
(hZo : ∀ i, oN i ≠ Zn) :
∃ n₁ : ℕ, ∀ n, n₁ ≤ n → ∀ src : ℕ → ℕ, SrcOK6 P n src → ∀ D : ℕ, dP6 P n = D + 1 →
∀ k ≤ D, ∀ A' : ℕ, ∃ cU cD : ℕ,
(∀ s0, Sp (eCn pl Zn oN) (encK s0 (F0 Zn (descAx6 P n src D k)))
(encK s0 (extend oN (chunkRegs6 P n src D k pl) (F0 Zn (descAx6 P n src D k)))) cU) ∧
(∀ s0, Sp (tearP oN) (encK s0 (extend oN (chunkRegs6 P n src D k pl)
(F0 Zn (descAx6 P n src D k)))) (encK s0 (F0 Zn (descAx6 P n src D k))) cD) ∧
((cU + 2 : ℕ) : ℝ) ≤ 2 * (cU6 P n A' / (D + 1)) ∧
((cD + 2 : ℕ) : ℝ) ≤ 2 * (cU6 P n A' / (D + 1)) := by sorry