`AxisUA6` from the `A`-line components (round six, `axisUA6_of`)
ProvedJ6Seg.Ax.axisUA6_ofAxisUA6 from the A-line components.
The following holds (Lean statement, in the scope of module Solutions.J6SegAxA7):
theorem J6Seg.Ax.axisUA6_of (P : Prm) (hP : P.Ok) (hStep : AStepNeed6 P) (hKer : AKerNeedA6 P)
(tab : Fin 1 → IStmt HS 1) (hFU : FineU6 tab) (hPre : PreA6 P 8 16 17 40 tab) :
AxisUA6 P tab
Context. A-line axis program (AxisUA6), part 7: assembly
AKerNeedA6 P (the numeric leaf of the A axis): eventually, for every axis, kernel
parameters satisfying AKCond (J6SegAxA5; pk = 8p + 16, b = 17p + 40, input bound
p + 2, 2^f = 8H) and the nine non-set-up cost terms of axACost (six fine exposures, two
slab passes, the kernel run) each ≤ Cb · cU6 P n A / (D + 1).
axisUA6_of: AxisUA6 P tab from FineU6 tab, PreA6 P 8 16 17 40 tab (B4, the kernel
register set-up), AStepNeed6 P (A worker, the copy step and the descriptor set-ups) and
AKerNeedA6 P. The descriptor stack is dA = 31 (30 when the fine stack is 31), the kernel
registers ρK dF (10 … 29 without dF), the kernel aKprog2 and the axis body are the
machine's own two procedures.
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.Ax open IntMul NLogN NLogN.KIL NLogN.KFB IntMul.Kappa.R6 Function open J6Seg.Slab
theorem J6Seg.Ax.axisUA6_of (P : Prm) (hP : P.Ok) (hStep : AStepNeed6 P) (hKer : AKerNeedA6 P)
(tab : Fin 1 → IStmt HS 1) (hFU : FineU6 tab) (hPre : PreA6 P 8 16 17 40 tab) :
AxisUA6 P tab := by sorry