Skip to main content

Module round_evaluator

Module round_evaluator 

Source
Expand description

Round evaluators over a shared MleStore and the provers that drive them.

A round evaluator holds the per-round-polynomial logic for one composite claim over store columns. Evaluators hold ColIds and receive column data by argument; they hold no mutable per-round state — they neither fold nor track the round claim. The driving prover owns the RoundState machine (the claim ↔ coeffs alternation) for each evaluator, and the store folds the columns (see the mle_store module documentation).

There are two evaluator traits, one per protocol:

Both provers adapt a store plus a list of evaluators — one per claim — to the SumcheckProver interface (and SharedMleCheckProver additionally to MleCheckProver), so they batch alongside standalone provers unchanged.

Structs§

SharedMleCheckProver
A MleCheckProver over a shared MleStore and a group of MleCheckRoundEvaluators.
SharedSumcheckProver
A SumcheckProver over a shared MleStore and a list of SumcheckRoundEvaluators, one per claim.

Traits§

MleCheckRoundEvaluator
Per-round-polynomial logic for one MLE-check claim over store columns.
SumcheckRoundEvaluator
Per-round-polynomial logic for one plain sumcheck claim over store columns.