A logarithmic word width for the Convolution-3SUM host #
The existing parameter program's polynomial budget also bounds the host's matrix addresses, signed indices and filler. Four extra source bits suffice. These bounds cover the host; the concrete solver must separately prove its own execution at the target width.
Main definitions #
Host.width: a positive logarithmic source-width threshold.
Main results #
Host.layout_fits: all matrix addresses and the encoded filler fit.Host.index_fits,Host.filler_fits: the signed matrix-builder premises.Host.value_fits: polynomially bounded input values fit the signed source width.
Source width; the signed arithmetic kernels use unsigned target words of width w+2.
Instances For
The threshold includes the empty input and magnitude exponent zero.
The host has at least four more source bits than the parameter routine requires.
A linear bound for the number of entries per generated matrix.
All three matrix blocks and their one-past-end addresses fit at the source width.
theorem Cslib.Algorithms.WordRAM.ThreeSum.Host.index_fits {κ N w s : ℕ} (hw : width κ N ≤ w) (hs : s < 2 * sideLength N) :
GenericRAM.Signed.Fits w ↑(2 * (sideLength N * sideLength N) + s + 1)
Every signed input index computed in a generated instance fits.