Merging
As an extremely basic example, let's say we have 2 -variate things and . Equivalently, we have two lists and . What if we want the -variate polynomial—say, —associated with the concatenation ? To cut to the chase, we can write down the algebraic expression:
It is a basic exercise that the list representation of this polynomial indeed gives us the concatenation of the two original lists that we started with.
The final thing to note is that the verifier may evaluate efficiently, for any point . How? To do this, the verifier should first query and . Finally, the verifier should locally compute the combination and output it. Indeed, this evidently gives us an evaluation procedure for (entailing two sub-queries to and and a tiny bit of local math).
Finally, there is a geometrical story corresponding to this concatenation operation. As the equation above makes clear, , as a polynomial, is defined "piecewise" on the -dimensional cube. That is, we let the "bottom" -subcube of that cube (i.e., where ) take exactly the values that does, and the "top" -subcube (i.e., where ) take exactly the values that does. The resulting piecewise polynomial takes, as its values, the concatenation of the values that and respectively take.
Concatenating
It is not hard to generalize this basic procedure to some power-of-two number of constituent polynomials, instead of just 2. We'll fix again, and consider now -variate constituent polynomials . To concatenate all of these things into a single, -sized list, we want the composite polynomial:
.
For straightforward reasons, the table of values of over the -dimensional cube yields exactly the concatenation of the polynomials 's respective individual tables of values. Geometrically, here were are partitioning into -dimensional subcubes, and defining piecewise on out of the .
The important thing here is that if is small, then this thing is succinct for the verifier. Indeed, to evaluate at some arbitrary point , the verifier may first query , for each . Next, the verifier must simply output the combination . By a standard algorithm, the verifier may compute the vector —and hence the entire sum above—in time.
Interleaving
By changing this story very slightly, we can also achieve a dual outcome, whereby we interleave -variate polynomials. That is, we construct an -variate polynomial whose (lexicographically flattened) list of evaluations is exactly the interleaving of the respective lists of constituent polynomials .
To do this, we just need to switch the endianness of our combination operation—that is, we need to combine these polynomials using the low variables as "selectors", instead of the high variables. In other words, we need to use the alternate expression:
This thing is also succinct for the verifier to evaluate (provided is small), for the same reason that the concatenated polynomial was.