`IVC` struct
Example
// Create IVC
// The zero step will be executed internally
let mut ivc = IVC::new(
&public_params,
&primary,
primary_initial_z_in,
&secondary,
secondary_initial_z_in,
false,
)
.expect("Error while create IVC");
// Performs the folding steps
//
// Inside the synthesis circuit will be called multiple times and therefore the state will
// change outside `fold_step`
//
// Also there must be a continuity of steps within the step-circuit, it must take into account
// that the next step `z_in` will be `z_out` from the previous step
for _ in 1..5 {
primary.update(input);
secondary.update(input);
ivc.fold_step(&public_params, &primary, &secondary)
.expect("Error while fold step");
}
// Verify that the folding was successful.
ivc.verify(&public_params).expect("Error while verify");Create IVC
Public Params
Primary & Secondary Circuit
`z_in` & `z_out`
Debug Mode
Fold Step IVC
Verify
Last updated