Function batch_verify

Source
pub fn batch_verify<FBase, F, Challenger_>(
    evaluation_order: EvaluationOrder,
    claims: &[ExpClaim<F>],
    transcript: &mut VerifierTranscript<Challenger_>,
) -> Result<BaseExpReductionOutput<F>, Error>
where FBase: TowerField, F: TowerField + ExtensionField<FBase>, Challenger_: Challenger,
Expand description

Verify a batched GKR exponentiation protocol execution.

The protocol can be batched over multiple instances by grouping consecutive verifiers over eval_points in ExpClaim into SumcheckClaims. To achieve this, we use crate::composition::IndexComposition, where eq indicator is always the last element. Since exponents can have different bit sizes, resulting in a varying number of layers, we group them starting from the first layer to maximize the opportunity to share the same evaluation point.

ยงRequirements

  • Claims must be sorted in descending order by n_vars.