Expand description
Zinc+ PIOP for UCS - end-to-end protocol.
Implements the Zinc+ compiler pipeline (cf. paper, Section “Zinc+ Compiler”):
Z[X] --\phi_q--> F_q[X] --MLE eval--> F_q[X] --\psi_a--> F_q
Step 1 Step 2 Step 3After the three compiler steps, the protocol continues with:
- Combined CPR + Booleanity + Lookup multi-degree sumcheck (CPR group at
degree
max_deg+2; optional degree-3 booleanity groups for committed witness binary columns and affine virtual targets; one lookup group per table type; shared eval pointr*) - $\alpha’$ bridge: squeeze a fresh challenge $\alpha’$ after the booleanity
bit_slice_evalsare absorbed, and append one extra $\alpha’$-projected MLE + up-eval to the multipoint-eval inputs per witness binary-poly column (seeBooleanityChecker) - Affine virtual bridge: collapse each unshifted virtual at the same
alpha'and compare it directly with the affine combination of its public/committed source projections atr* - Multi-point evaluation sumcheck (combines up/down evals at
r*into a single evaluation pointr_0) - Lift-and-project (unprojected MLE evaluations at
r_0) - Zip+ PCS open/verify at
r_0
Modules§
- fold
- prover
- shared_
challenge - Shared-challenge sampling across constraint families.
- verifier
Structs§
- Proof
- Full proof produced by the Zinc+ PIOP for UCS.
- Zinc
Plus Piop - Main struct for the Zinc+ PIOP. The protocol is implemented as associated functions on it.
Enums§
- Protocol
Error - Error type for error happening during the protocol execution (prover and verifier).
Traits§
- Zinc
Types - Trait bundling the various type parameters for the public inputs (NYI), witness and Zinc+ PIOP.
Functions§
- project_
scalar_ fn - Project a DensePolynomial scalar to DynamicPolynomial by projecting each coefficient via \phi_q.