ePrint 2025/946 | Lev Soukhanov, 2025
An indexed lookup argument where the looked-up values are virtual (not committed). Especially efficient for small tables ().
Setting
Given commitments to:
- An index array (size )
- A table (size )
Goal: evaluate the pullback at a random point , without committing to .
Pushforward
The dual of the pullback. Given and :
Duality lemma: .
Protocol
Trade the pullback for a pushforward using the duality lemma:
where is the vector of Lagrange basis evaluations at .
Steps:
- Prover commits to .
- Run sum-check for , obtaining evaluation claims for and .
- Open and via polynomial commitments.
Well-formedness of is proven via GKR, using a LogUp-style fractional sum:
The verifier can evaluate by itself, so no commitment to it is needed.
Cost comparison vs. standard LogUp
Compared to LogUp + GKR with the standard indexed-to-unindexed reduction:
- Saves: commitment to ( base field elements, multiplied by for tuple lookups of size ) and multiplicities ( elements)
- Adds: commitment to ( extension field elements) + extra sum-checks
Best when and table values are large (extension field elements or tuples). Also avoids the numerator overflow issue that affects standard LogUp accumulators. For example, it can be useful in Spark.