Corollary 5.5 — for the recursive multiplication algorithm
OpenIntMul.HvdH.corollary_5_5Corollary 5.5 of Harvey–van der Hoeven. Fix a dimension parameter and put . For , the parameters of §5.1 are:
- and ;
- , the unique power of two with ;
- , the unique power of two with .
There is a deterministic multitape Turing machine , correct on all -bit inputs for every , with worst-case running time , and a constant , such that for every , with ,
Here is the natural logarithm. Taking , the factor is below , and an induction on then gives , that is, Theorem 1.1, . In the paper this corollary follows from Proposition 5.4, , the recursive step of the algorithm.
Formalization Note The machine model is IntMul_MultitapeModel. is , which is exactly 's worst-case halting time on pairs of -bit inputs. The parameters are universally quantified under their defining conditions, and these conditions determine them uniquely. The paper's is the running time of its specific algorithm. The statement asserts the existence of a correct machine satisfying the recurrence, which is what the paper establishes for that algorithm.
import Mathlib import Definitions.Def_IntMul_MultitapeModel
namespace IntMul.HvdH
theorem corollary_5_5 (d : ℕ) (hd : 2 ≤ d) :
∃ M : MultitapeTM, (∀ n : ℕ, 1 ≤ n → ∃ τ : ℝ, MultipliesAt M n τ) ∧
∃ A : ℝ, ∀ n : ℕ, 2 ^ (d ^ 12) ≤ n →
∀ b p T r : ℕ, b = Nat.clog 2 n → p = 6 * b →
(∃ k : ℕ, T = 2 ^ k) → 4 * (n : ℝ) / b ≤ T → (T : ℝ) < 8 * (n : ℝ) / b →
(∃ j : ℕ, r = 2 ^ j) → (T : ℝ) ^ ((1 : ℝ) / d) ≤ r → (r : ℝ) < 2 * (T : ℝ) ^ ((1 : ℝ) / d) →
sInf {τ : ℝ | MultipliesAt M n τ} / ((n : ℝ) * Real.log n) <
1728 / ((d : ℝ) - 1 / 2) *
(sInf {τ : ℝ | MultipliesAt M (3 * r * p) τ} /
(((3 * r * p : ℕ) : ℝ) * Real.log ((3 * r * p : ℕ) : ℝ))) + A := by sorry
end IntMul.HvdH