We've already discussed multilinear polynomials. Here, we discuss a variant of that idea.
We fix nonnegative integer parameters k and ℓ. We fix a k-dimensional F2-linear subspace D⊂F2128. If we pick an F2-basis (ζ0,…,ζk−1) of D, then we can identify Bk≅D; indeed, it's enough to send
i↦i0⋅ζ0+⋯+ik−1⋅ζk−1.
We will write i∈D for this latter element.
We now fix a k+ℓ-variate multilinear:
t(I0,…,Ik−1,X0,…,Xℓ−1)
over F2. We are going to create a further polynomial, called
t(I,X0,…,Xℓ−1),
in 1+ℓ variables, such that:
t(I,X0,…,Xℓ−1)'s restriction to D×Bℓ equals t(I0,…,Ik−1,X0,…,Xℓ−1)'s restriction to Bk×Bℓ; i.e., for each i∈Bk and x∈Bℓ, t(i,x)=t(i,x).
t(I,X0,…,Xℓ−1) is "low-degree"; that is, it's of degree less than 2k in I and of degree less than or equal to 1 in each further variable.
We will call t(I,X0,…,Xℓ−1) the oblong-multilinearization of t(I0,…,Ik−1,X0,…,Xℓ−1). In general, we will use "hats" to signify variables that take values along the "long" axis of the domain.
Existence and Uniqueness
The oblong-multilinearization t(I,X0,…,Xℓ−1) exists and is unique, essentially for reasons similar to ones we've already seen. As before, it's enough to prove existence, by a dimension count.
We write δD for the bivariate polynomial, of individual degree less than 2k in both variables, whose restriction to D×D is the equality indicator function. We claim without proof that this thing exists and is unique. Note that δD's partial specializations within D recover the usual univariate Lagrange interpolation polynomials. That is, for each i∈D, δD(I,i) is the unique univariate Lagrange polynomial of degree less than 2k whose restriction to D equals 1 exactly at i and 0 elsewhere on D.
To construct t(I,X0,…,Xℓ−1), we use δD. We claim that the construction:
gives us what we want. We need to check that t(I,X0,…,Xℓ−1) has the right degrees both in I and in the variables X0,…,Xℓ−1 (it does) and that its restriction to D×Bℓ takes the right values (it does).
Partial Specialization
We will also encounter the following problem a few times. Given a multilinear t(I0,…,Ik−1,X0,…,Xℓ−1) and its oblong-multilinearization t(I,X0,…,Xℓ−1) as above, and given some scalar ri∈F2128, the partial specialization t(ri,X0,…,Xℓ−1) is an ℓ-variate multilinear. How can we compute its table of values on the cube Bℓ?
To answer this question, we just need to look at the expression for t(I,X0,…,Xℓ−1) above. It follows from that expression that, for each x∈Bℓ,
initialize an empty, length-2ℓ array t containing F2128-elements.
for each x∈{0,…,nand−1}do in parallel:
let t[x]:=∑i∈Bkt(i0,…,ik−1,x0,…,xℓ−1)⋅δD(ri,i).
return t.
The array t returned by the above algorithm yields the table of values on Bℓ of t(ri,X0,…,Xℓ−1), as desired. Each instance of the inner bulletpoint is actually a subset sum of (δD(ri,i))i∈B6, since the coefficients of the sum expression are bits.
The computation of (δD(ri,i))i∈B6 above turns out to be a standard subroutine in Lagrange interpolation, and can be carried out extremely efficiently (we use a "division-free" variant of the Barycentric weights computation algorithm).
Evaluation
We pick an extension field, say F2128, and write (ri,rx) for an arbitrary element of F2128×F2128ℓ. We discuss how to compute the full evaluation t(ri,rx), given query access to t(I,X0,…,Xℓ−1).
Unwinding what that evaluation means, we get:
t(ri,rx)=i∈B6∑δD(ri,i)⋅t(i,rx).
Interestingly, this is a problem of Lagrange extrapolation: this value is exactly
Prx(ri),
where Prx(I) is the unique univariate polynomial of degree less than 2k whose values on D satisfy Prx(i)=t(i,rx) for each i∈B6. There are good algorithms for this problem, provided that the verifier is willing to read or obtain all 2k values t(i,rx) and do O(2k) work. In practice, we assume that k is so small that the verifier is willing to do O(2k) work.
If the verifier is willing to do O(2k) work but would rather evaluate t(I,X) just once, the verifier can reduce the above sum—by running the sumcheck for 6 rounds—to two claims. One will be about the value of t(ri,rx), where ri is sampled during the sumcheck. The other will be one about the value of δD,ri(ri), where we write δD,ri for the multilinear whose values on B6 satisfy δD,ri(i)=δD(ri,i) for each i∈B6; that is, it's the multilinear whose values on the cube are those that the univariate Lagrange basis polynomials respectively take at ri. The verifier can evaluate this latter quantity himself, again using Lagrange extrapolation to ri, now with coefficients (eq(ri,i))i∈B6. We are not aware of a way of evaluating this that takes less than O(2k) time.
If the verifier wants to stay fully succinct in 2k—i.e., polynomial in k—there are ways to achieve this, based on ideas of Haböck (unpublished) and Papini and Haböck [PH23]. We survey those ideas here, though we don't use them in Binius64.
Practical Parameterization
In all of our applications in this site, we will use k=6. We thus let k=6 once and for all, so that D⊂F2128 is a 6-dimensional F2-linear subspace. We will as above identify B6≅D by basis combination, by sending i↦i:=i0⋅ζ0+⋯+i5⋅ζ5.