pub fn new_time(
        transcript: &mut Transcript,
        ck: &CommitterKey<E>,
        v: &[E::Fr],
        claimed_product: E::Fr,
    ) -> Self {
        let monic_v = monic(v);
        let rrot_v = right_rotation(&monic_v);
        let acc_v = accumulated_product(&monic_v);

        // the prover commits to rrot_v
        let acc_v_commitments = vec![ck.commit(&acc_v)];
        transcript.append_commitment(b"acc_v", &acc_v_commitments[0]);

        let chal = transcript.get_challenge::<E::Fr>(b"ep-chal");
        let claimed_sumchecks = vec![
            chal * evaluate_le(&acc_v, &chal) + claimed_product - chal.pow(&[acc_v.len() as u64]),
        ];

        let witness = Witness::new(&acc_v, &rrot_v, &chal);
        let provers = vec![Box::new(TimeProver::new(witness)) as Box<dyn Prover<E::Fr>>];
        let msgs = ProverMsgs {
            acc_v_commitments,
            claimed_sumchecks,
        };
        EntryProduct {
            msgs,
            chal,
            provers,
        }
    }
/// Creates a new grand product argument using the time prover.
Creates a new grand product argument using the time prover.
Creates a new grand product argument using the time prover .
pub fn new_time(
        transcript: &mut Transcript,
        ck: &CommitterKey<E>,
        v: &[E::Fr],
        claimed_product: E::Fr,
    ) -> Self {
        let monic_v = monic(v);
        let rrot_v = right_rotation(&monic_v);
        let acc_v = accumulated_product(&monic_v);
        // the prover commits to rrot_v
        let acc_v_commitments = vec![ck.commit(&acc_v)];
        transcript.append_commitment(b"acc_v", &acc_v_commitments[0]);
        let chal = transcript.get_challenge::<E::Fr>(b"ep-chal");
        let claimed_sumchecks = vec![
            chal * evaluate_le(&acc_v, &chal) + claimed_product - chal.pow(&[acc_v.len() as u64]),
        ];
        let witness = Witness::new(&acc_v, &rrot_v, &chal);
        let provers = vec![Box::new(TimeProver::new(witness)) as Box<dyn Prover<E::Fr>>];
        let msgs = ProverMsgs {
            acc_v_commitments,
            claimed_sumchecks,
        };
        EntryProduct {
            msgs,
            chal,
            provers,
        }
    }
pub fn new_time ( transcript : & mut Transcript , ck : & CommitterKey < E > , v : & [ E :: Fr ] , claimed_product : E :: Fr , ) -> Self { let monic_v = monic ( v ) ; let rrot_v = right_rotation ( & monic_v ) ; let acc_v = accumulated_product ( & monic_v ) ; // the prover commits to rrot_v let acc_v_commitments = vec ! [ ck commit ( acc_v ) ] ; transcript . append_commitment ( b" " , & acc_v_commitments [ 0 ] ) ; let chal = transcript . get_challenge :: < E :: Fr > ( b" " ) ; let claimed_sumchecks = vec ! [ chal evaluate_le ( acc_v chal ) claimed_product chal pow ( [ acc_v len ( ) as u64 ] ) ] ; let witness = Witness :: new ( & acc_v , & rrot_v , & chal ) ; let provers = vec ! [ Box new ( TimeProver new ( witness ) ) as Box dyn Prover E Fr ] ; let msgs = ProverMsgs { acc_v_commitments , claimed_sumchecks , } ; EntryProduct { msgs , chal , provers , } }
Creates a new grand product argument using the time prover.
Creates a new grand product argument using the time prover .
transcript
&mut Transcript
ck
&CommitterKey<E>
v
&[E::Fr]
claimed_product
E::Fr