claimroutine

Kronecker evaluation separates product coefficients

Kronecker evaluation at 24p2^{4p} keeps product coefficients below B0/2B_0/2
setup for packing coefficients into big integers
Claim·§7 Exact normalized polynomial products·inside lemExact negacyclic product with one truncation

Statement (paper)

Write f=2−p(a+ib)f=2^{-p}(a+ib) and g=2−p(c+ie)g=2^{-p}(c+ie) with a,b,c,e∈Z[y]a,b,c,e\in\mathbb Z[y] of degree less than rr and coefficients of absolute value at most 2p2^p, and set B0=24pB_0=2^{4p} and Au=u(B0)=∑j=0r−1ujB0jA_u=u(B_0)=\sum_{j=0}^{r-1}u_jB_0^j for u∈{a,b,c,e}u\in\{a,b,c,e\}. Then ∣Au∣≤2pB0r−1B0−1<B0r/2|A_u|\leq2^p\frac{B_0^r-1}{B_0-1}<B_0^r/2, so each magnitude fits in 4pr4pr bits. Moreover, each evaluation product AaAc,AbAe,AaAe,AbAcA_aA_c,A_bA_e,A_aA_e,A_bA_c equals ∑j=02r−2hjB0j\sum_{j=0}^{2r-2}h_jB_0^j, where hh is the corresponding ordinary product in Z[y]\mathbb Z[y], and every coefficient satisfies ∣hj∣≤r22p<23p<B0/2|h_j|\leq r2^{2p}<2^{3p}<B_0/2.

In plain English

Evaluating the integer polynomials a,b,c,ea,b,c,e at B0=24pB_0=2^{4p} gives integers AuA_u of magnitude below B0r/2B_0^r/2 (so at most 4pr4pr bits). Each product such as AaAcA_aA_c equals the evaluation at B0B_0 of the ordinary polynomial product hh, and every coefficient of hh satisfies ∣hj∣≤r22p<23p<B0/2|h_j|\leq r2^{2p}<2^{3p}<B_0/2.

Why it's here

This is the Kronecker-substitution setup for the parent lemma: because the product coefficients are far smaller than B0/2B_0/2, they do not overlap when packed into one large integer. That lets a single big-integer multiplication carry all the coefficients of fgfg, which the later claims unpack with signed carries and centered extraction.
Classified routine:
Standard Kronecker substitution (Kronecker; Schönhage 1982) with elementary coefficient bounds. The node only checks the size estimates (e.g. |h_j| <= r 2^{2p} < B_0/2) that ensure the packed coefficients do not overlap.

Sources

PaperOpen
Section
§7 Exact normalized polynomial products
Page
—
Label
—
Line
sections/06-transforms.tex:476
Leannot aligned

Phase 2 aligns this node to a Lean declaration.