One Harvey–van der Hoeven step: exact product and digit bounds
ProvedIntMul.HvdH.Ref.mkParams_stepinteger-multiplication
Fix and put . For every and all natural numbers , let with chunk size , chunks and target box size . Then one step of the list-level Harvey–van der Hoeven multiplication is exact,
and every digit read back by the inverse Agarwal–Cooley map (the input of the final evaluation at ) is a linear convolution coefficient of the base- digits of and , so
The digit bound lets the machine evaluate with nonnegative digits only.
Preamble
import Definitions.Def_IntMul_HvdH_MachineRef
Formal statement
namespace IntMul.HvdH.Ref
theorem mkParams_step (K : ℕ) (hK : 1 ≤ K) (N : ℕ)
(hN : 2 ^ 2 ^ (K * (64 * K ^ 2 * (256 * K ^ 2).factorial) + 4) ≤ N)
(x y : ℕ) (hx : x < 2 ^ N) (hy : y < 2 ^ N) :
refStep (mkParams K N) x y = x * y ∧
∀ c ∈ crtOut (mkParams K N).s (2 * (mkParams K N).L - 1)
(exactConvL (mkParams K N) (crtIn (mkParams K N).s (chunksL (mkParams K N).b (mkParams K N).L x))
(crtIn (mkParams K N).s (chunksL (mkParams K N).b (mkParams K N).L y))),
0 ≤ c ∧ c < 2 ^ (2 * (mkParams K N).b + (mkParams K N).logT) := by sorry
end IntMul.HvdH.RefSource
Harvey, van der Hoeven, Integer multiplication in time O(n log n), Ann. of Math. 193 (2021), Proposition 5.4 and §5.3