pub trait RapPartialProver<PB: ProverBackend> {
// Required method
fn partially_prove<'a>(
&self,
challenger: &mut PB::Challenger,
mpk: &DeviceMultiStarkProvingKey<'a, PB>,
trace_views: Vec<PairView<&'a PB::Matrix, PB::Val>>,
) -> (PB::RapPartialProof, ProverDataAfterRapPhases<PB>);
}
Expand description
This trait is responsible for all partial proving of after challenge rounds (a.k.a layers) in a RAP after the main trace has been committed.
The partial prover may:
- observe and/or sample challenges
- commit to additional trace data
- generate other partial proof data
Required Methods§
Sourcefn partially_prove<'a>(
&self,
challenger: &mut PB::Challenger,
mpk: &DeviceMultiStarkProvingKey<'a, PB>,
trace_views: Vec<PairView<&'a PB::Matrix, PB::Val>>,
) -> (PB::RapPartialProof, ProverDataAfterRapPhases<PB>)
fn partially_prove<'a>( &self, challenger: &mut PB::Challenger, mpk: &DeviceMultiStarkProvingKey<'a, PB>, trace_views: Vec<PairView<&'a PB::Matrix, PB::Val>>, ) -> (PB::RapPartialProof, ProverDataAfterRapPhases<PB>)
The trace_views
are the views of the respective trace matrices, evaluated on the trace domain.
Currently this function does not provide a view of any already committed data associated
with the trace views, although that data is available.