What is a connection argument?
Given a vector and a partition of , we say ” ” if for each , we have that whenever , with and . Moreover, we say that a protocol is a connection argument if the protocol can be used by to prove to that a vector a partition of .We use the term “connection” instead of “copy-satisfaction” because the argument is used in PIL in a more general sense than in the original definition given in GWC19.
Example
Let be a specified partition of . Observe the two columns depicted below: The vector because and . Observe that, since the singleton is in , then is not related to any other element in . Also, the vector does not because . In the context of programs, connection arguments can be written easily in PIL by introducing a column associated with the chosen partition. This is also done in [GWC19]. Recall that column values are evaluations of a polynomial at and is the length of the execution trace. Given a polynomial and a partition , suppose we want to write in PIL a constraint attesting to the of a certain . We first construct a permutation such that for each set , we have that contains a cycle of all elements of . In the above example, we would have . So then, we construct a polynomial that encodes in the exponent of . That is: for . In the PIL context, the previous connection argument between a column and a column , encoding the values of , can be declared using the keyword using the syntax: .The column does not need to be declared as a constant polynomial. The connection argument still holds true even if it is declared as committed.
Multiple copy satisfiability
Connection arguments can be extended to several columns by encoding each column with a “part” of the permutation. Informally, the permutation is now able to span across the values of each of the involved polynomials in a way that the cycles formed in the permutation must contain the same value.Multi-column copy satisfiability
Given vectors in and a partition of , we say if for each , we have that whenever , with , and . For example, say that we have . Then, the below table depicts an execution trace for three columns that copy-satisfies .
