1. Notation

​ We denote by to a finite field of prime order and to its respective multiplicative group and define to be the biggest non-negative integer such that . We also write to denote a finite field extension of , of size , . Furthermore, we write (resp. ) for the ring of polynomials with coefficients over (resp. ) and write (resp. ) to denote the set of polynomials of degree lower than .

2.Multiset Equality

The details and examples can be found in Permutation argument.

Grand Product

​ let is a cyclic subgroup of of order n.

​ Given two vectors and in , a multiset equality argument, denoted , is used for checking that is equal to as multisets (or equivalently, that and are a permutation of each other). The protocol that instantiates the multiset equality arguments works by computing the following grand product polynomial : where is the value sent from the verifier.

Soundness of Multiset Equality

Lemma 1: Fix two vectors and in . If the following holds with probability larger than over a random : Then . As a consequence of Lemma 1, the identities that must be checked by the verifier for are the following:

where are the polynomials resulting from the interpolation of and over ,respectively.

​ The commitment polynomial is the grand product polynomial . and the two constraints is express in Eq .

3.Connection

​ The protocol for a connection argument and the definitions and results we provide next are adapted from GWC19. The details and examples can be found in Connection argument.

​ Given some vectors and a partition of the set , a connection argument, denoted , is used to check that the partition divides the field elements into sets with the same value. More specifically, if we define the sequence by:

for each , then we have if and only if belong to the same block of .

​ In order to express the partition within a grand product polynomial, we define a permutation as follows: is such that for each block of , σ(T ) contains a cycle going over all elements of . Then, the protocol that instantiates the connection arguments works by computing the following grand product polynomial :

where are the values sent from the verifier.

​ The definition of the previous polynomial is based on the following lemma, a proof of which can be found in Claim A.1. of GWC19.

Lemma 2 Fix and a partition of the set . If the following holds with probability larger than over a randoms : ​ As a consequence of Lemma 2, the identities that must be checked by the verifier for are the following: where is the polynomial mapping G-elements to indexes in [kn] and is the polynomial defined by ​. For more details see GWC19.

​ The commitment polynomial is the grand product polynomial . and the two constraints is express in Eq .

4.inclusion

​ The protocol for an inclusion argument and the definitions and results we provide next is adapted from the well-known Plookup protocol GW20, with the “alternating method” provided in [PFM+22](https://eprint.iacr.org/ 2022/086). The details and examples can be found in Inclusion argument.

​ Given two vectors and in , a inclusion argument, denoted , is used for checking that the set A formed with the values is contained in the set B formed with the values . Notice that .

​ In the protocol, the prover has to construct an auxiliary vector containing every element of f and t where the order of appearance is the same as in . The main idea behind the protocol is that if , then f contributes to s with repeated elements. To check this fact, a vector is defined as follows: ​ Then, the protocol essentially checks that is consistent with the elements of f, t and s. To do so, the vector s is split into two vectors . In the protocol described in GW20, and contain the lower and upper halves of s, while in our protocol in [PFM+22](https://eprint.iacr.org/ 2022/086), we use to store elements with odd indexes and for even indexes, that is: ​ With this setting in mind, the grand product polynomial is defined as: where are the values sent from the verifier.

​ The definition of the previous polynomial is based on the following lemma, which is a slight modification of Claim 3.1. of GW20.

Lemma 3 (Soundness of Inclusion). Fix three vectors and with elements in . If the following holds with probability larger than over randoms : then and is the sorted by concatenation of and .

​ As a consequence of Lemma 3, the identities that must be checked by the verifier for are the following: where are the polynomials resulting from the interpolation of and over , respectively; and are the polynomials resulting from the interpolation of the values defined in Eq over .

​ The commitment polynomial is the grand product polynomial and and . and the two constraints is express in Eq .

5.From Vector Arguments to Simple Arguments

​ Let’s explain first how we reduce vector inclusions or multiset equalities to simple (i.e., involving only one polynomial on each side) inclusions or multiset equalities.

Definition 1 (Vector Arguments). Given polynomials for , a vector inclusion, denoted , is the argument in which for all there exists some such that: ​ A vector multiset equality, denoted , is the argument in which for all there exists exactly one for which Eq holds. That is, (vector) multiset equalities define a bijective mapping.

​ To reduce the previous vector arguments to simple ones, we make use of a uniformly sampled element . Namely, instead of trying to generate an argument for the vector relation, we define the following polynomials: and proceed to prove the relation or . Notice that both and are in general polynomials with coefficients over the field extension even if every coefficient of , is precisely over the base field .

​ The previous reduction leads to the following result.

Lemma 4. Given polynomials for and as defined by Eq., if (resp. ), then (resp.) except with probability over the random choice of .

6.From Selected Vector Arguments to Simple Arguments

​ Now, let’s go one step further by the introduction of selectors. Informally speaking, a selected inclusion (multiset equality) is an inclusion (multiset equality) not between the specified two polynomials , , but between the polynomials generated by the multiplication of and with (generally speaking) independently generated selectors. We generalize to the vector setting.

Definition 2 (Selected Vector Arguments). We are given polynomials for . Furthermore, we are also given two polynomials whose range over the domain is {0,1}. That is, and are selectors. A selected vector inclusion, denoted , is the argument in which for all there exists some such that: where denotes the component-wise scalar multiplication between the field element and the vector ​.

​ A selected vector multiset equality, denoted . is the argument in which for all there exists exactly one for which Eq. (15) holds.

Remark 1. Note that if , then Eq. (15) is reduced to (13); if then the argument is trivial; and if either or is equal to the constant 1, then we remove the need for or respectively.

​ To reduce selected vector inclusion to simple ones, we proceed in two steps. First, we use the reduction shown in Eq. to reduce the inner vector of polynomials to a single one. This process outputs polynomials . Second, we make use of another uniformly sampled as follows. Namely, we define the following polynomials: and proceed to prove the relation ​.

​ Importantly, the presentation “re-ordering” in Eq. is relevant: if had been introduced in the definition of instead, then there would be situations in which we would end up having ​ as an inclusion value and therefore the inclusion argument not being satisfied even if the selectors are correct. See Example 1 to see why this is relevant.

Example 1. Choose ​ . We compute the following values:

3301
110
4407
660
1105
550

Notice how . However, if we would have instead defined , as and then we would end up having as a inclusion value, which implies that even though , and , are correct.

To reduce selected vector multiset equalities to simple ones, we follow a similar process as with selected vector inclusions. We also first use the reduction in Eq. to reduce the inner vector argument to a simple one, but then we define the following polynomials: and proceed to prove the relation . Here, we have been able to first define since we are dealing with multiset equalities instead of inclusions.

​ Similarly to Lemma 4, we obtain the following result. by observing that do not grow the total degree of polynomials (either from Eq. or Eq. ) over variables .

​ We generalize to selected vector arguments the protocols for (simple) inclusion arguments and multiset equality arguments explained in Section 2 and 4 by incorporating the reduction strategies explained in this section. Therefore, we give next the soundness bounds for these protocols.

Lemma 5. Given polynomials for and selectors , we obtain:

  1. Inclusion Protocol. Let and as defined by Eq.. The prover sends oracle functions for to the verifier in the first round, who responds with uniformly sampled . Enlarge the set of identities that must be checked by the verifier in the inclusion protocol of Section 4 with:

for all , i.e., the verifier checks that polynomials are valid selectors.

  1. Multiset Equality Protocol. Let as defined by Eq.. The prover sends oracle functions for to the verifier in the first round, who responds with uniformly sampled . Enlarge the set of identities that must be checked by the verifier in the multiset equality protocol of Section 2 with: for all .

Example 2. Say that for all the prover wants to prove that he knows some polynomials such that: Following the previous section and this section, the polynomial constraint system gets transformed to the following one, so that for all : where we notice that the only type of argument that sometimes need to be adjusted is the connection argument.

7.On the Quotient Polynomial

We obtain a single random value and define the quotient polynomial as a random linear combination of the rational functions as follows: ​ Note that we use powers of a uniformly sampled value instead of sampling one value per constraint. Importantly, the soundness bound of this alternative version is linearly increased by the number of

constraints , so we might assume from now on that is sublinear in to ensure the security of protocols.

8. Controlling the Constraint Degree with Intermediate Polynomials

​ In the vanilla STARK protocol, the initial set of constraints that one attest to compute the proof over is of unbounded degree. However, when one arrives at the point after computing the quotient polynomial , it should be split into polynomials of degree lower than to ensure the same redundancy is added as with the trace column polynomials for a sound application of the FRI protocol. In this section, we explain an alternative for this process and propose the split to happen “at the beginning” and not “at the end” of the proof computation.

​ Therefore, we will proceed with this approach assuming that the arguments in Section 2-4 are included among the initial set of constraints. The constraints imposed by the grand products polynomials ​ of multiset equalities and inclusions are of known degree: degree 2 for the former and degree 3 for the latter. Based on this information, we will propose a splitting procedure that allows for polynomial constraints up to degree 3 but will split any exceeding it.

​ Say the initial set of polynomial constraints contain a constraint of total degree greater or equal to 4. For instance, say that we have with: Now, instead of directly computing the (unbounded) quotient polynomial and then doing the split, we will follow the following process:

  1. Split the constraints of degree into constraints of degree lower or equal than 3 through the introduction of one formal variable and one constraint per split.

  2. Compute the rational functions . Notice the previous step restricts the degree of the ‘s to be lower than 2.

  3. Compute the quotient polynomial and then split it into (at most) two polynomials and of degree lower than as follows: where is obtained by taking the first coefficients of and is obtained by taking the last coefficients (filling with zeros if necessary).

    Remark 2*.* Here, we might have that is identically equal to 0. This is in contrast with the technique used for the split in Vanilla STARK, where the quotient polynomial is distributed uniformly across each of the trace quotient polynomials .

This process will “control” the degree of so that it will be always of a degree lower than 2.

​ Following with the example in Eq. , we rename to and introduce the formal variable and the constraint: ​ Now, to compute the rational functions , we have to compose not only with the trace column polynomials but also with additional polynomials corresponding with the introduced variables . We will denote these polynomials as and refer to them as intermediate polynomials.

​ Hence, the set of constraints in gets augmented to the following set: where we include the variable in for notation simplicity. Note that now what we have is two constraints of degree lower than 3, but we have added one extra variable and constraint to take into account.

​ Discussing more in-depth the tradeoff generated between the two approaches, we have for one side that deg() = . Denote by the index of the where the maximum is attained. Then, the number of polynomials in the split of is equal to: which is equal to either deg() − 1 or deg().

​ We must compare this number with the number of additional constraints (or polynomials) added in our proposal. So, on the other side, we have that the overall number ofconstraints is: With .

​ We conclude that the appropriate approach should be chosen based on the minimum value between and .

Example 3. To give some concrete numbers, let us compare both approaches using the following set of constraints: ​ In the vanilla STARK approach, we obtain . On the other side, using the early splitting technique explained before, by substituting by and by we transform the previous set of constraints into an equivalent one having all constraints of degree less or equal than 3. This reduction only introduces 2 additional constraints: ​ Henceforth, the early splitting technique is convenient in this case, introducing 3 new polynomials instead of the 7 that proposes the vanilla STARK approach.