Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Correctness of one Harvey–van der Hoeven multiplication step

Proved
IntMul.HvdH.Ref.refStep_mkParams

by xuanji · Oct 12, 2026 · Mathlib 0df444a (Lean v4.33.1)

integer-multiplication

Fix a number of axes K≥1K \ge 1K≥1. There is n0n_0n0​ such that for every N≥n0N \ge n_0N≥n0​ and all natural numbers x,y<2Nx, y < 2^Nx,y<2N,

refStep(mkParams(K,N),x,y)=x y.\mathrm{refStep}(\mathrm{mkParams}(K, N), x, y) = x\,y .refStep(mkParams(K,N),x,y)=xy.

Here refStep\mathrm{refStep}refStep is one recursive step of the Harvey–van der Hoeven integer multiplication algorithm as a computable list program: split into base-2b2^b2b digits, Agarwal–Cooley reindexing onto a KKK-dimensional box with pairwise coprime odd side lengths, exact cyclic convolution via Gaussian resampling to a power-of-two box, a Bluestein DFT whose inner convolution is computed exactly in a Fermat ring, and a final rounding; mkParams(K,N)\mathrm{mkParams}(K,N)mkParams(K,N) is the parameter choice for NNN-bit inputs. The statement says that, with these parameters and large inputs, all fixed-point errors stay below the rounding threshold so the step returns the exact product. It is the functional correctness half of Theorem 1.1 (the multitape machine implements refStep).

Preamble
import Definitions.Def_IntMul_HvdH_MachineRef
Formal statement
namespace IntMul.HvdH.Ref
theorem refStep_mkParams (K : ℕ) (hK : 1 ≤ K) :
    ∃ n₀, ∀ N, n₀ ≤ N → ∀ x y : ℕ, x < 2 ^ N → y < 2 ^ N → refStep (mkParams K N) x y = x * y := by sorry
end IntMul.HvdH.Ref
Source
Harvey, van der Hoeven, Integer multiplication in time O(n log n), Ann. of Math. 193 (2021), Proposition 5.4 and §5.3

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me