Documentation

Complexity.Algorithms.WordRAM.ThreeSum.Host.Width

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 #

Main results #

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.

    theorem Cslib.Algorithms.WordRAM.ThreeSum.Host.layout_fits {κ N w : ℕ} (hw : width κ N ≤ w) :
    WordRAM.Fits w (N + 1 + 3 * (sideLength N * sideLength N)) ∧ WordRAM.Fits w (4 * (N + 2) ^ κ + 2)

    All three matrix blocks and their one-past-end addresses fit at the source width.

    theorem Cslib.Algorithms.WordRAM.ThreeSum.Host.filler_fits {κ N w : ℕ} (hw : width κ N ≤ w) :
    GenericRAM.Signed.Fits w (2 * ↑((N + 2) ^ κ) + 1) ∧ GenericRAM.Signed.Fits w (-(2 * ↑((N + 2) ^ κ) + 1))

    The builder's positive and negative filler fit the signed source range.

    theorem Cslib.Algorithms.WordRAM.ThreeSum.Host.index_fits {κ N w s : ℕ} (hw : width κ N ≤ w) (hs : s < 2 * sideLength N) :

    Every signed input index computed in a generated instance fits.

    theorem Cslib.Algorithms.WordRAM.ThreeSum.Host.value_fits {κ N w : ℕ} (hw : width κ N ≤ w) {z : ℤ} (hz : |z| ≤ ↑((N + 2) ^ κ)) :

    A polynomial magnitude bound implies the signed source fit premise.