106 auto verification_key =
108 InnerProver inner_prover(prover_instance, verification_key);
113 auto stdlib_vk_and_hash =
117 verifier.verifier_instance->vk_and_hash->vk->pub_inputs_offset.fix_witness();
119 verifier.verifier_instance->vk_and_hash->vk->log_circuit_size.fix_witness();
121 StdlibProof stdlib_inner_proof(outer_circuit, inner_proof);
122 VerifierOutput output = verifier.template verify_proof<DefaultIO<OuterBuilder>>(stdlib_inner_proof);
124 pairing_points.
P0.x.fix_witness();
125 pairing_points.P0.y.fix_witness();
126 pairing_points.P1.x.fix_witness();
127 pairing_points.P1.y.fix_witness();
130 outer_circuit.ipa_proof = output.
ipa_proof.get_value();
132 info(
"Recursive Verifier: num gates = ", outer_circuit.get_estimated_num_finalized_gates());
135 EXPECT_EQ(outer_circuit.failed(),
false) << outer_circuit.err();
137 outer_circuit.finalize_circuit(
false);
139 auto connected_components = graph.find_connected_components();
140 EXPECT_EQ(connected_components.size(), 1);
141 info(
"Connected components: ", connected_components.size());
142 auto variables_in_one_gate = graph.get_variables_in_one_gate();
143 EXPECT_EQ(variables_in_one_gate.size(), 2);