Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

OpenAI Theorem 1 — multiplication in time O(n(lg⁡n)1−κ)O(n(\lg n)^{1-\kappa})O(n(lgn)1−κ), κ=2−182\kappa=2^{-182}κ=2−182

Open
IntMul.Kappa.openai_theorem_1

by avi · Oct 8, 2026 · Mathlib 0df444a (Lean v4.33.1)

complexity-theoryinteger-multiplication

Theorem 1 of the OpenAI preprint Integer multiplication below nlog⁡nn\log nnlogn. There is one deterministic Turing machine AAA, with a fixed finite alphabet and a fixed finite number of one-dimensional tapes, that computes the exact product for every n≥1n\ge1n≥1 and every pair of nnn-bit inputs: on input x#yx\#yx#y with x,y∈{0,1}nx,y\in\{0,1\}^nx,y∈{0,1}n it outputs bin⁡2n(val⁡(x)val⁡(y))\operatorname{bin}_{2n}(\operatorname{val}(x)\operatorname{val}(y))bin2n​(val(x)val(y)). Its worst-case running time satisfies

TA(n)=O(n(lg⁡n)1−κ),κ=2−182,T_A(n)=O\big(n(\lg n)^{1-\kappa}\big),\qquad\kappa=2^{-182},TA​(n)=O(n(lgn)1−κ),κ=2−182,

where lg⁡n=max⁡(⌈log⁡2n⌉,1)\lg n=\max(\lceil\log_2n\rceil,1)lgn=max(⌈log2​n⌉,1).

If true, this shows that nlog⁡nn\log nnlogn is not the optimal order of growth for multiplication on multitape Turing machines. The preprint has not been refereed.

Formalization Note KappaBound(κ)\mathrm{KappaBound}(\kappa)KappaBound(κ) is defined in IntMul_MultitapeModel, which uses the kkk-tape Turing machine conventions of Montanaro's lecture notes (start symbol, HALT\mathrm{HALT}HALT state, read-only input tape, separate output tape). It asserts a single machine that, for every n≥1n\ge1n≥1 and all x,y∈{0,1}nx,y\in\{0,1\}^nx,y∈{0,1}n, halts on input x#yx\#yx#y with output bin⁡2n(val⁡(x)val⁡(y))\operatorname{bin}_{2n}(\operatorname{val}(x)\operatorname{val}(y))bin2n​(val(x)val(y)), and whose worst-case running time is at most c n(lg⁡n)1−κc\,n(\lg n)^{1-\kappa}cn(lgn)1−κ for all n≥n0n\ge n_0n≥n0​, for some c>0c>0c>0 and n0n_0n0​. Here lg⁡n=max⁡(⌈log⁡2n⌉,1)\lg n=\max(\lceil\log_2n\rceil,1)lgn=max(⌈log2​n⌉,1).

Preamble
import Mathlib
import Definitions.Def_IntMul_MultitapeModel
Formal statement
namespace IntMul.Kappa

theorem openai_theorem_1 : KappaBound (1 / 2 ^ 182) := by sorry

end IntMul.Kappa
Source
OpenAI, Integer multiplication below n log n, preprint, 23 September 2026, https://github.com/openai/math/blob/main/preprints/Integer-multiplication-below-n-log-n-September-23-2026/paper.pdf, §1, Theorem 1 (thm:main); manuscript commit adc7f1241b42e322a6451854ab7e4b4c146bf78a
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Claim. The theorem takes no hypotheses and no parameters. It says that one deterministic multitape Turing machine multiplies nnn-bit integers exactly, for every n≥1n \ge 1n≥1, and that for all sufficiently large nnn it does so within

c⋅n⋅(lg⁡n) 1−κ steps,κ=12182=2−182≈1.6×10−55,c \cdot n \cdot (\lg n)^{\,1-\kappa}\ \text{steps}, \qquad \kappa = \frac{1}{2^{182}} = 2^{-182} \approx 1.6 \times 10^{-55},c⋅n⋅(lgn)1−κ steps,κ=21821​=2−182≈1.6×10−55,

where c>0c > 0c>0 is a constant. The exponent is the real number 1−2−1821 - 2^{-182}1−2−182, which is strictly between 000 and 111. Here lg⁡n=max⁡(⌈log⁡2n⌉,1)\lg n = \max(\lceil \log_2 n \rceil, 1)lgn=max(⌈log2​n⌉,1) for natural nnn, where ⌈log⁡2n⌉\lceil \log_2 n\rceil⌈log2​n⌉ is the least j≥0j \ge 0j≥0 with n≤2jn \le 2^jn≤2j. So lg⁡1=lg⁡2=1\lg 1 = \lg 2 = 1lg1=lg2=1, lg⁡3=lg⁡4=2\lg 3 = \lg 4 = 2lg3=lg4=2, and lg⁡n≥1\lg n \ge 1lgn≥1 always, which means the real power is always of a base ≥1\ge 1≥1.

The machine model. A machine MMM consists of the following:

  • A finite alphabet Σ\SigmaΣ containing five pairwise distinct symbols: a blank □\square□, a start marker ▹\triangleright▹, bit symbols 0,1\mathtt 0, \mathtt 10,1, and a separator #\##.
  • A finite state set KKK with a start state qstartq_{\mathrm{start}}qstart​ and a halting state qhalt≠qstartq_{\mathrm{halt}} \ne q_{\mathrm{start}}qhalt​=qstart​.
  • A number of tapes k≥2k \ge 2k≥2. Tape 000 is the input tape, tape 111 is the output tape, and any others are work tapes. Each tape has cells indexed by 0,1,2,…0,1,2,\dots0,1,2,…, and each tape has one head.
  • A transition function δ:K×Σk→K×(Σ×{←,−,→})k\delta : K \times \Sigma^k \to K \times (\Sigma \times \{\leftarrow, -, \rightarrow\})^kδ:K×Σk→K×(Σ×{←,−,→})k.

The transition function must satisfy four conditions:

  1. If a head scans ▹\triangleright▹, it writes ▹\triangleright▹ back and does not move left.
  2. ▹\triangleright▹ is never written on a cell that does not already hold it.
  3. δ(qhalt,a)=(qhalt,(ai,−)i)\delta(q_{\mathrm{halt}}, a) = (q_{\mathrm{halt}}, (a_i, -)_i)δ(qhalt​,a)=(qhalt​,(ai​,−)i​), so a halted configuration never changes.
  4. The symbol written on tape 000 always equals the symbol scanned there, so the input tape is read-only.

A configuration consists of a state, the contents of every tape (a function from cell indices to Σ\SigmaΣ) and the head positions. One step reads the scanned symbols aaa and applies δ(q,a)=(q′,(σi,di)i)\delta(q,a)=(q',(\sigma_i,d_i)_i)δ(q,a)=(q′,(σi​,di​)i​): it overwrites the scanned cell of each tape iii with σi\sigma_iσi​, moves head iii by did_idi​, and enters state q′q'q′. A left move from cell 000 would truncate to 000, but condition 1 rules this out because cell 000 holds ▹\triangleright▹.

Inputs and outputs. For bit strings x,yx, yx,y, the initial configuration on input x#yx\#yx#y is as follows:

  • The state is qstartq_{\mathrm{start}}qstart​.
  • The input tape holds ▹ x # y □□⋯\triangleright\, x\, \#\, y\, \square\square\cdots▹x#y□□⋯. Each bit is written with 0\mathtt 00 or 1\mathtt 11, and the first bit of each string comes first.
  • Every other tape holds ▹ □□⋯\triangleright\,\square\square\cdots▹□□⋯.
  • All heads are on cell 000.

"MMM halts with output www at time ttt" means two things. After exactly ttt steps the state is qhaltq_{\mathrm{halt}}qhalt​. Also, the whole output tape (tape 111) equals ▹ w □□⋯\triangleright\, w\, \square\square\cdots▹w□□⋯: ▹\triangleright▹ in cell 000, the bits of www in cells 1,…,∣w∣1,\dots,|w|1,…,∣w∣, and blanks in every later cell. Halted configurations are frozen, so this holds at some t≤Tt \le Tt≤T exactly when MMM halts within TTT steps with that output. The work tapes, the input tape's contents beyond the read-only constraint, and the final head positions are unconstrained.

For x=x1⋯xmx = x_1\cdots x_mx=x1​⋯xm​, val(x)=∑ixi2m−i\mathrm{val}(x) = \sum_i x_i 2^{m-i}val(x)=∑i​xi​2m−i, with the most significant bit first and val(empty)=0\mathrm{val}(\text{empty}) = 0val(empty)=0. The string bin2n(z)\mathrm{bin}_{2n}(z)bin2n​(z) is the length-2n2n2n string whose iii-th symbol (i=0,…,2n−1i = 0,\dots,2n-1i=0,…,2n−1) is bit 2n−1−i2n-1-i2n−1−i of zzz. This is zzz in binary, most significant bit first, left-padded with zeros to exactly 2n2n2n bits.

Multiplying in time TTT. "MMM multiplies at size nnn within TTT" (with TTT real) means: for all bit strings x,yx, yx,y that both have length exactly nnn, there is a natural number t≤Tt \le Tt≤T such that MMM on input x#yx\#yx#y halts at time ttt with output bin2n(val(x)⋅val(y))\mathrm{bin}_{2n}(\mathrm{val}(x)\cdot \mathrm{val}(y))bin2n​(val(x)⋅val(y)). Leading zeros are allowed in xxx and yyy. Inputs of unequal lengths are never considered.

Full unfolded statement. There exists a machine MMM as above such that:

  1. Correctness. For every natural n≥1n \ge 1n≥1 there is some real TTT such that MMM multiplies at size nnn within TTT. This amounts to: on every pair of nnn-bit inputs, MMM halts with the correct 2n2n2n-bit product.
  2. Time bound. There exist a real c>0c > 0c>0 and a natural number n0n_0n0​ such that for every natural nnn with n≥n0n \ge n_0n≥n0​ and n≥1n \ge 1n≥1, MMM multiplies at size nnn within the real bound
c⋅n⋅(lg⁡n)1−2−182.c \cdot n \cdot (\lg n)^{1 - 2^{-182}}.c⋅n⋅(lgn)1−2−182.

For each such nnn and every pair of nnn-bit inputs, the number of steps ttt satisfies t≤c n (lg⁡n)1−2−182t \le c\, n\, (\lg n)^{1-2^{-182}}t≤cn(lgn)1−2−182 as real numbers.

The time bound is required only for n≥max⁡(n0,1)n \ge \max(n_0, 1)n≥max(n0​,1). Below that threshold only correctness with some finite step count is required. The constant ccc and the threshold n0n_0n0​ may depend on MMM but not on nnn or on the inputs. The machine itself is one fixed machine for all nnn: its number of tapes, alphabet and state set are fixed.

Human review
  • Endorsed by wurtle · Oct 8, 2026

    Confirmed by the moderator at approval.

  • Endorsed by avi · Oct 8, 2026

    Confirmed by the mission captain (proposal self-audit).

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