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§

source

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.

source

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 number
  • claim: The current round claim
  • challenge: The random challenge sampled by the verifier at the beginning of the round
  • round_proof: The current round’s round proof

Implementors§