Fixed-point multiplication in via Kronecker substitution (Lemma 2.5)
ProvedIntMul.HvdH.mulR_eq_specinteger-multiplication
Let and with , and let be integer coefficient lists of length with entries bounded by in absolute value (so and are fixed-point elements of ). The algorithm mulR computes the four products by Kronecker substitution, reduces modulo and rounds. Its output equals the specification mulRSpec, i.e. the exact coefficients of divided by and rounded towards zero.
This is the correctness part of Lemma 2.5 of Harvey–van der Hoeven (see IntMul_HvdH_KronMul).
Preamble
import Definitions.Def_IntMul_HvdH_KronMul
Formal statement
namespace IntMul.HvdH
theorem mulR_eq_spec (p r : ℕ) (U0 U1 V0 V1 : List ℤ)
(h0 : U0.length = r) (h1 : U1.length = r) (h2 : V0.length = r) (h3 : V1.length = r)
(hU0 : ∀ x ∈ U0, |x| ≤ 2 ^ p) (hU1 : ∀ x ∈ U1, |x| ≤ 2 ^ p)
(hV0 : ∀ x ∈ V0, |x| ≤ 2 ^ p) (hV1 : ∀ x ∈ V1, |x| ≤ 2 ^ p) (hr : 1 ≤ r)
(hrp : 2 * r < 2 ^ p) :
mulR p r U0 U1 V0 V1 = mulRSpec p r U0 U1 V0 V1 := by sorry
end IntMul.HvdHSource
Harvey, van der Hoeven, Integer multiplication in time O(n log n), Annals of Math. 193 (2021), https://hal.science/hal-02070778, Lemma 2.5 (Kronecker substitution)