arrabbiata/decider/
prover.rs

1//! A prover for the folding/accumulation scheme
2
3use crate::{curve::ArrabbiataCurve, decider::proof::Proof};
4use ark_ec::CurveConfig;
5use ark_ff::PrimeField;
6use poly_commitment::commitment::CommitmentCurve;
7
8use crate::witness::Env;
9
10/// Generate a proof.
11/// All the information to make a proof is available in the environment given in
12/// parameter.
13pub fn prove<
14    Fp: PrimeField,
15    Fq: PrimeField,
16    E1: ArrabbiataCurve<ScalarField = Fp, BaseField = Fq>,
17    E2: ArrabbiataCurve<ScalarField = Fq, BaseField = Fp>,
18>(
19    _env: &Env<Fp, Fq, E1, E2>,
20) -> Result<Proof, String>
21where
22    <<E1 as CommitmentCurve>::Params as CurveConfig>::BaseField: PrimeField,
23    <<E2 as CommitmentCurve>::Params as CurveConfig>::BaseField: PrimeField,
24{
25    unimplemented!()
26}