pub trait AbstractSumcheckReductor<F: Field> {
type Error: Error + From<Error>;
// Required methods
fn validate_round_proof_shape(
&self,
round: usize,
proof: &AbstractSumcheckRound<F>,
) -> Result<(), Self::Error>;
fn reduce_round_claim(
&self,
round: usize,
claim: AbstractSumcheckRoundClaim<F>,
challenge: F,
round_proof: AbstractSumcheckRound<F>,
) -> Result<AbstractSumcheckRoundClaim<F>, Self::Error>;
}
Required Associated Types§
Required Methods§
sourcefn validate_round_proof_shape(
&self,
round: usize,
proof: &AbstractSumcheckRound<F>,
) -> Result<(), Self::Error>
fn validate_round_proof_shape( &self, round: usize, proof: &AbstractSumcheckRound<F>, ) -> Result<(), Self::Error>
Verify that the round proof contains the correct amount of information.
sourcefn reduce_round_claim(
&self,
round: usize,
claim: AbstractSumcheckRoundClaim<F>,
challenge: F,
round_proof: AbstractSumcheckRound<F>,
) -> Result<AbstractSumcheckRoundClaim<F>, Self::Error>
fn reduce_round_claim( &self, round: usize, claim: AbstractSumcheckRoundClaim<F>, challenge: F, round_proof: AbstractSumcheckRound<F>, ) -> Result<AbstractSumcheckRoundClaim<F>, Self::Error>
Reduce a round claim to a round claim for the next round
Arguments:
round
: The current round numberclaim
: The current round claimchallenge
: The random challenge sampled by the verifier at the beginning of the roundround_proof
: The current round’s round proof