Main_Pack.PPmodule PC : sig ... endmodule Answers_commitment : sig ... endtype prover_public_parameters = PC.Public_parameters.proverval prover_public_parameters_t : prover_public_parameters Repr.ttype verifier_public_parameters = PC.Public_parameters.verifierval verifier_public_parameters_t : verifier_public_parameters Repr.ttype proof = Super_PP.proof = {cm_t : PC.Commitment.t;pc_proof : PC.proof;pc_answers : PC.answer list;}val proof_t : proof Repr.tval setup :
setup_params:PC.Public_parameters.setup_params ->
srs:(Kzg.Bls.Srs.t * Kzg.Bls.Srs.t) ->
prover_public_parameters
* verifier_public_parameters
* Kzg.Utils.Transcript.tval prove :
prover_public_parameters ->
Kzg.Utils.Transcript.t ->
n:int ->
generator:Kzg.Bls.Scalar.t ->
secrets:
(Kzg.Bls.Poly.t Plonk.Identities.SMap.t * PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t ->
identities:Plonk.Identities.prover_identities ->
nb_of_t_chunks:int ->
proof * Kzg.Utils.Transcript.tval verify :
verifier_public_parameters ->
Kzg.Utils.Transcript.t ->
n:int ->
generator:Kzg.Bls.Scalar.t ->
commitments:PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
identities:Plonk.Identities.verifier_identities ->
proof ->
bool * Kzg.Utils.Transcript.ttype prover_aux = Super_PP.prover_aux = {answers : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list;batch : Kzg.Bls.Scalar.t Kzg.SMap.t list;alpha : Kzg.Bls.Scalar.t;x : Kzg.Bls.Scalar.t;r : Kzg.Bls.Scalar.t;cms_answers : Answers_commitment.t Kzg.SMap.t;t_answers : Kzg.Bls.Scalar.t list;}type verifier_aux = Super_PP.verifier_aux = {alpha : Kzg.Bls.Scalar.t;x : Kzg.Bls.Scalar.t;r : Kzg.Bls.Scalar.t;}val update_transcript_with_formatted_answers :
Kzg.Utils.Transcript.t ->
(Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
Answers_commitment.t)
Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
Kzg.Bls.Scalar.t list
* Answers_commitment.t Kzg.SMap.t
* Kzg.Utils.Transcript.tval prove_super_aggregation :
prover_public_parameters ->
Kzg.Utils.Transcript.t ->
commit_to_answers_map:
(Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
Answers_commitment.t)
Kzg.SMap.t ->
n:int ->
generator:Kzg.Bls.Scalar.t ->
secrets:(Kzg.Bls.Poly.t Kzg.SMap.t * PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:Plonk.Identities.Evaluations.t Kzg.SMap.t ->
identities:Plonk.Identities.prover_identities ->
nb_of_t_chunks:int ->
(proof * prover_aux) * Kzg.Utils.Transcript.tval verify_super_aggregation :
verifier_public_parameters ->
Kzg.Utils.Transcript.t ->
n:int ->
generator:Kzg.Bls.Scalar.t ->
commitments:PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
s_list:Kzg.Bls.Scalar.t Kzg.SMap.t list ->
cms_answers:Answers_commitment.public Kzg.SMap.t ->
t_answers:Kzg.Bls.Scalar.t list ->
ids_batch:(Kzg.Bls.Scalar.t * int) Kzg.SMap.t ->
proof ->
(bool * verifier_aux) * Kzg.Utils.Transcript.t