Research · Papers · Adders, counters and the heap law · ML-057

Kummer endpoint and boundary-alias formulas

v_2((K(2^n-1))!/((2^n-1)!)^K) and P=∑_j min(h_j, 2^{n-j}-1) proved; gap is (r-1)K-2^r+2 with r=⌈log_2 K⌉; unrestricted MC=T is open

Published 2026-09-04

For everyone

Plain summary

When you add copies of large binary numbers together, carries pile up across bit positions. Number theorists track these carries by finding the highest power of two that divides certain factorial ratios, using Kummer's theorem. This paper gives exact formulas for that power of two and for the product-floor sum, which measures how many bits fit inside standard power-of-two word boundaries before spilling over.

These formulas give exact numbers for the arithmetic deficit caused by boundary overflow. However, calculating how many bits spill past a boundary doesn't prove how many multiplication gates an unrestricted circuit must use. The arithmetic formulas are fully proved, but whether they equal the unrestricted circuit complexity remains an open question.

Result

For integers K ≥ 1 and n ≥ 1, the 2-adic valuation of the FullAdd multinomial endpoint is:

v_2((K(2^n-1))!/((2^n-1)!)^K)

The truncated product-floor identity is:

P = ∑_j min(h_j, 2^{n-j}-1)

with quotient deficit:

T - P = ∑_j (h_j - (2^{n-j}-1))_+

where (x)_+ = max(0, x).

The asymptotic gap between the projected-heap parameter T and the product floor P is:

(r - 1)K - 2^r + 2

where r = ⌈log_2 K⌉. For K = 3, this gap equals 1.

Whether unrestricted projected-heap equality MC = T holds remains open.

Setting and definitions

The setting is multiplicative complexity MC(f) over GF(2) under the XOR-free XAG cost model.

  • v_2(m) is the 2-adic valuation of integer m, giving the exponent of the highest power of 2 dividing m.
  • h_j is the j-th column height in the projected-heap representation of the carry chain.
  • P is the truncated product-floor sum bounding available capacity within power-of-two boundaries.
  • T is the projected-heap target capacity.
  • T - P is the quotient deficit summing column overflow across all carry positions j.

Method

Closed forms were derived via Kummer carry valuations on multinomial coefficients and analytical summation of column-height boundaries. Equalities were verified by calculation and script execution in the AX162 computation paths:

  • carry_calculus.py
  • residual_hankel.py

Valuation balance records appear in council reports:

  • zkgolf-decomp/reports/COUNCIL-HARDY.md
  • zkgolf-decomp/reports/COUNCIL-MINE.md
  • zkgolf-decomp/reports/STATE-OF-PROGRAM-V2.md

Source reports omit SHA-256 hashes for the script files.

Discussion

The valuation formula for v_2((K(2^n-1))!/((2^n-1)!)^K) and the floor sum P = ∑_j min(h_j, 2^{n-j}-1) are exact, resolving the arithmetic behavior of column accumulation and the deficit T - P.

Boundary aliasing quantifies visible quotient deficits but does not force circuit gates. Demonstrating carry generation or product-floor overflow does not establish that each carry requires a distinct multiplication gate in an unrestricted circuit. Unrestricted projected-heap equality MC = T remains unproved. For related structural carry bounds and frame reductions, see MF-115.

For everyone — the takeaway

What this means

These formulas map out carry generation and bit packing when adding repeated binary words. They show where values cross standard bit boundaries, establishing that the gap is exactly 1 carry bit at K = 3 and scales as (r - 1)K - 2^r + 2. Turning these carry counts into lower bounds on circuit size requires separate gate-forcing arguments that are still unproved.

Register references

  • ML-057
  • zkgolf-decomp/reports/COUNCIL-HARDY.md
  • zkgolf-decomp/reports/COUNCIL-MINE.md
  • zkgolf-decomp/reports/STATE-OF-PROGRAM-V2.md
  • zkgolf-decomp/council-hardy-scratch/carry_calculus.py
  • zkgolf-decomp/council-hardy-scratch/residual_hankel.py
  • MF-115

Every artifact named above is bundled in, or hashed by, this paper's evidence pack below.

Evidence pack

Everything needed to check this entry against its receipts: the register text, a manifest with a SHA-256 hash for every named receipt, and 3 of 5 receipt files bundled (35 KB). Anything not bundled is still hashed in the manifest and lives in the compute-box working trees.

Download evidence.zip

Changelog

Last reviewed 2026-09-04

  • 2026-09-04Published on this site.

Related in this programme