openvm_stark_backend::prover::hal

Trait RapPartialProver

Source
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§

Source

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.

Implementors§