diff --git a/src/folding/nova/decider.rs b/src/folding/nova/decider.rs index 77b96a4e..0e1f2c91 100644 --- a/src/folding/nova/decider.rs +++ b/src/folding/nova/decider.rs @@ -197,19 +197,28 @@ where _c2: PhantomData, _gc2: PhantomData, + /// E vector's length of the Nova instance witness pub E_len: usize, + /// E vector's length of the CycleFold instance witness pub cf_E_len: usize, + /// R1CS of the Augmented Function circuit pub r1cs: R1CS, + /// R1CS of the CycleFold circuit pub cf_r1cs: R1CS, - pub cf_pedersen_params: PedersenParams, // CycleFold's Pedersen params + /// CycleFold PedersenParams, over C2 + pub cf_pedersen_params: PedersenParams, pub poseidon_config: PoseidonConfig>, pub i: Option>, + /// initial state pub z_0: Option>, + /// current i-th state pub z_i: Option>, + /// Nova instances pub u_i: Option>, pub w_i: Option>, pub U_i: Option>, pub W_i: Option>, + /// CycleFold running instance pub cf_U_i: Option>, pub cf_W_i: Option>, } @@ -324,6 +333,7 @@ where )?; // 3. u_i.cmE==cm(0), u_i.u==1 + // Here zero_x & zero_y are the x & y coordinates of the zero point affine representation. let zero_x = NonNativeFieldVar::::new_constant( cs.clone(), C1::BaseField::zero(), diff --git a/src/folding/nova/ivc.rs b/src/folding/nova/ivc.rs index 15542d7a..2c4f156c 100644 --- a/src/folding/nova/ivc.rs +++ b/src/folding/nova/ivc.rs @@ -33,21 +33,29 @@ where _gc1: PhantomData, _c2: PhantomData, _gc2: PhantomData, + /// R1CS of the Augmented Function circuit pub r1cs: R1CS, - pub cf_r1cs: R1CS, // Notice that this is a different set of R1CS constraints than the 'r1cs'. This is the R1CS of the CycleFoldCircuit + /// R1CS of the CycleFold circuit + pub cf_r1cs: R1CS, pub poseidon_config: PoseidonConfig, - pub pedersen_params: PedersenParams, // PedersenParams over C1 - pub cf_pedersen_params: PedersenParams, // CycleFold PedersenParams, over C2 - pub F: FC, // F circuit + /// PedersenParams over C1 + pub pedersen_params: PedersenParams, + /// CycleFold PedersenParams, over C2 + pub cf_pedersen_params: PedersenParams, + /// F circuit, the circuit that is being folded + pub F: FC, pub i: C1::ScalarField, + /// initial state pub z_0: Vec, + /// current i-th state pub z_i: Vec, + /// Nova instances pub w_i: Witness, pub u_i: CommittedInstance, pub W_i: Witness, pub U_i: CommittedInstance, - // cyclefold running instance + /// CycleFold running instance pub cf_W_i: Witness, pub cf_U_i: CommittedInstance, }