The native TIMES formula #
Multiplication is defined over canonical order and BIT by counting each binary multiplication column and checking its carries. Eight global words store the block-boundary carries, and sixteen local words store each block. Both ends of every block agree with the global words. The first and last carries are zero; exact PLUS and shifts prohibit modular overflow.
One fixed finite formula covers small inputs. The packed branch has witnesses for every universe of size at least 257, including sizes between powers of two. Neither branch uses multiplication in its syntax: only fixed literal scales, PLUS, exact shifts, and the proved native Bit Sum.
Main definitions #
Cslib.Logic.FO.Ordered.multiplication: one native multiplication formula.
Main results #
Cslib.Logic.FO.Ordered.realize_multiplication: exact natural-number product semantics.Cslib.Logic.FO.Ordered.not_realize_multiplication_of_le: rejection of every overflow candidate.
References #
- N. Immerman, Descriptive Complexity, Theorem 1.17(1), using Lemma 1.18. The Bit Sum Lemma is historically due to Barrington, Immerman and Straubing [BIS90]. This packed carry-table construction is a proved variant of the source's alternating padded blocks and short running sums, not a transcription.
Native TIMES over canonical order and BIT, with ordinary, nonmodular product semantics.
Instances For
The single native formula realizes exactly natural-number multiplication. In particular,
no candidate output satisfies it when the product is outside Fin n.
No element represents a product outside the universe; truncation is not accepted.