Notation:
The fold operation:
Given a polynomial
where
Crucial relation:
Given
In our version of Gemini, we mostly use this equality in the reverse direction deriving
For brevity, we denote below this RHS by
Let
Given this notation, we can concisely describe our optimized Gemini protocol:
(Sidenote: I think there are some confusing typos in the version here)
Given polynomial
In the above we don't check
We give an example of why these checks should be added and how we can open to the wrong value.
We use
We fix any
We take
we show we can successfully open
It will be convenient to use the notations
We set
as an honest
we'll choose the coefficients of
when setting "honestly"
we get
We denote by
Let's set
We have according to the derive formula:
So it suffices for us that
Equivalently
Since
Explicitly, if
calculation shows
To zero out all coefficients of
Note that
We choose
The application of
So all shplonk checks will pass. It follows that
(Written by Sergei before massive edit of the above, so might be out of context)
Say
Then,
Note that the honest prover sends a commitment to