claimroutineinferred_dep
Signed carries give two's-complement blocks
Signed carries lie in , giving two's-complement blocks
handles signs in the big-integer products
Claim·§7 Exact normalized polynomial products·inside lemExact negacyclic product with one truncation
Statement (paper)
Let be the integer coefficient vector of the evaluated polynomial, with . Define , with , and . Then every carry lies in and , so the blocks of bits form a fixed-width two's-complement encoding of with exactly when , and the blocks of can be obtained from them in time by a constant number of scans.
In plain English
For an integer coefficient vector with , the carries from reducing each into all lie in , giving . So the blocks of bits form a fixed-width two's-complement encoding of , with exactly when , and the blocks of follow in time by a constant number of scans.
Why it's here
This lets signed Kronecker integers be handled as ordinary nonnegative bit strings, so the big-integer multiplication can work with the signs of the coefficients. The key point is that the coefficients are small relative to (from the previous claim), which keeps every carry in . The later centered-extraction claim then reads the product coefficients back from these blocks.
Classified routine:
Standard carry propagation and two's-complement encoding argument for Kronecker substitution with signed coefficients. It follows directly from the coefficient bound in the previous claim (|u_j| small relative to B_0), which keeps the carries in {-1,0}.
Uses
Used by
Sources
PaperOpen
- Section
- §7 Exact normalized polynomial products
- Page
- —
- Label
—- Line
sections/06-transforms.tex:509
Leannot aligned
Phase 2 aligns this node to a Lean declaration.
Friction
- infoinferred_depoutline: "Signed packing via bounded-carry blocks" rests on claim-lem-signed-ring-product-1