Colkitt — multiplication in time ,
OpenIntMul.Kappa.colkitt_2pow30Colkitt's checkpoint. In the fixed finite-alphabet Turing-machine model with a fixed number of one-dimensional tapes, two -bit integers can be multiplied exactly in time
The integer-mult-bounds project claims this by patching the OpenAI manuscript: a ternary five-subset interchange circuit with rational address frames and a fixed-alphabet interchange recurrence, certified by exact rational margins. The project states that the claim is conditional on the upstream manuscript and has not had independent review.
Formalization Note is defined in IntMul_MultitapeModel, which uses the -tape Turing machine conventions of Montanaro's lecture notes (start symbol, state, read-only input tape, separate output tape). It asserts a single machine that, for every and all , halts on input with output , and whose worst-case running time is at most for all , for some and . Here .
import Mathlib import Definitions.Def_IntMul_MultitapeModel
namespace IntMul.Kappa theorem colkitt_2pow30 : KappaBound (1 / 2 ^ 30) := by sorry end IntMul.Kappa
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Statement. This theorem has no hypotheses and no free variables. It says that satisfies the property . Here the value is an exact real number, not a truncated natural-number quotient. Unfolding all of the definitions, the claim is the following.
There exists a deterministic multitape Turing machine (in the model described below) such that:
- Correct and halting for every input length . For every there is some real number such that multiplies -bit integers within steps.
- Time bound. There exist a real constant and a natural number such that for every natural number with and , the machine multiplies -bit integers within
steps.
The exponent is a real number, and the power is the real power function. Its base is , where is the least with . So , , and so on. The base is always at least , so the power is never applied to or to a negative number. The case is excluded from both clauses. The same machine , constant and threshold must work for all . Neither nor nor may depend on .
"Multiplies -bit integers within steps." For a real number , this means the following. For all bit strings , both of length exactly and with leading zeros allowed, there is a natural number with such that two things hold after exactly steps from the initial configuration on input :
- the machine is in the state ;
- the output tape (tape ) holds exactly
Here , each bit is written as the machine's symbol or , and every cell after position is blank.
The two functions used here are defined as follows.
- reads a bit string as a binary number, most significant bit first, with .
- is the list of the low-order bits of , most significant first: its -th entry () is bit number of . Since , this is the full product written with exactly bits, padded with leading zeros.
Nothing is required of the work tapes, the head positions, or the input tape's final contents. Because freezes the configuration (see below), "some " is the same as "halts with this output after at most steps". If , no qualifies.
The machine model. A machine consists of the following data.
- Alphabet. An arbitrary finite alphabet with five pairwise distinct named symbols: blank , start marker , , and separator . It may contain other symbols as well.
- States. An arbitrary finite state set with a start state and a halting state .
- Tapes. A number of tapes . Tape is the input tape, tape is the output tape, and the rest are work tapes. Each tape has cells indexed by .
- Transition function. A function .
The transition function must satisfy four conditions:
- Start marker is kept. Whenever tape scans , that tape writes back and does not move left.
- Start marker is never written elsewhere. Whenever tape scans a symbol other than , it does not write .
- HALT is frozen. for every , so once halted, the configuration never changes.
- Input tape is read-only. Tape always writes back the symbol it scans.
A configuration consists of the current state, the contents of every tape, and the position of every head. One step works as follows. Read the scanned symbols and compute . Then every tape overwrites its scanned cell with and moves its head according to ; a left move from position goes to , truncated at . Finally the state becomes .
On input , the initial configuration is:
- the state is ;
- the input tape holds , with bits encoded as the symbols and ;
- every other tape holds ;
- every head is on cell .
The running time counted is the number of applications of this step map.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.