Theorem 1.1 — integer multiplication in time
OpenIntMul.HvdH.theorem_1_1Theorem 1.1 of Harvey–van der Hoeven, as stated. There is an integer multiplication algorithm achieving
Here is the worst-case number of steps a deterministic multitape Turing machine needs to multiply two -bit integers, and is the natural logarithm. Concretely, there is one deterministic multitape Turing machine , with a fixed finite alphabet and a fixed finite number of tapes, with two properties:
- For every and all , on input it halts with output .
- There are constants and such that, for all , it takes at most steps on every pair of -bit inputs.
This settles the upper bound in the 1971 conjecture of Schönhage and Strassen that integer multiplication has complexity in this model.
Formalization Note The bound is with the natural logarithm, as in the paper, and has the usual meaning of a bound for all sufficiently large , as in the paper's introduction. Since , a valid threshold has . The paper does not fix tape conventions or an input and output format, so the machine model is the shared IntMul_MultitapeModel, which uses the -tape conventions of Montanaro's lecture notes with the input of the OpenAI preprint. The same theorem, stated in the -framework of the companion missions, is the milestone .
import Mathlib import Definitions.Def_IntMul_MultitapeModel
namespace IntMul.HvdH theorem theorem_1_1 : MulTimeBound fun n => (n : ℝ) * Real.log n := by sorry end IntMul.HvdH
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Read-back of IntMul.HvdH.theorem_1_1. The theorem has no hypotheses and no free variables. It asserts that holds for the single fixed function given by
where is cast to a real number and is Mathlib's Real.log, the natural logarithm (base ). Real.log is total on , with for and the junk value . Hence the bound function takes the values
and for every . No base-2 logarithm, ceiling, or appears in this bound (the bundle's separate function is not used here).
Unfolding . The statement says: there exists a machine (a deterministic multitape Turing machine, described below) such that both of the following hold.
- Correctness for every length. For every natural number there exists a real number such that holds.
- Time bound. There exist a real constant and a natural number such that for every natural number with and ,
Here means: for all finite bit strings with and , there exists a natural number with (compared as reals) such that , started on input , is after exactly steps in its halting state and its output tape holds exactly .
- is the natural number whose binary representation is , most significant bit first (leading zeros allowed, ).
- is the length- bit string whose -th entry () is bit number of ; i.e. written in binary, most significant bit first, left-padded with zeros to length exactly . Since , the required output is the exact product written with exactly bits (with leading zeros).
The machine model. A machine consists of:
- a finite alphabet (a finite type) with five designated, pairwise distinct symbols: blank , start marker , bit symbols , and separator ;
- a finite set of states with designated states ;
- a number of tapes (tape = input tape, tape = output tape, the rest work tapes), each with cells indexed by ;
- a transition function subject to: (a) on any tape scanning , writes back and does not move left; (b) on any tape scanning a symbol other than , does not write ; (c) for every scanned tuple , so a halted configuration never changes; (d) the symbol written on tape always equals the symbol read there (input tape is read-only).
, , , and are fixed once and for all; they may not depend on .
A configuration is a state together with, for each tape, its full (infinite) contents and head position. One step reads the scanned symbols , computes , overwrites each scanned cell with , moves each head by (a left move from position goes to in natural-number subtraction, though by (a) and the placement of this never happens from cell ), and enters . The initial configuration on has state , all heads on cell , the input tape holding (bits encoded by ), and every other tape (including the output tape) holding . "Output tape holds " means the entire output tape equals exactly: cell is , cells are the output bits, and every later cell is blank. Work tapes and head positions are unconstrained at halting. Because is absorbing, "halted with the right output at some step " is equivalent to halting with that output within at most steps.
Edge cases and what is (not) covered.
- Inputs: only pairs of the same length are constrained. Nothing is required for , for inputs of unequal length, or for any tape content not of the form .
- Two clauses for different ranges. Clause 1 requires the machine to multiply correctly (with some finite step count) for every ; clause 2 imposes the quantitative bound only for . The threshold is existentially chosen and may be arbitrarily large; no bound on the running time for is asserted beyond finiteness.
- Small in clause 2: at the bound is , which would demand , i.e. the initial configuration already in state ; this is impossible since . So any witness must take . The case is excluded by the explicit condition (and is never used). For the bound is positive.
- Constants: is a positive real, not necessarily an integer; the step count is a natural number compared with the real . Because , the asserted bound is the same up to the constant as one with .
- Worst case: the bound must hold for all of length simultaneously with the single and , i.e. it is a worst-case bound for each .
In summary, the theorem asserts: there is one deterministic multitape Turing machine (fixed finite alphabet, fixed finite state set, fixed number of one-way-infinite tapes, read-only input tape, separate output tape) that, for every and all , on input eventually halts with the output tape containing exactly the -bit binary representation of , and there are and such that for all this happens within at most steps (natural logarithm) on every such input.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.