Module Main_protocol.Super_PP

module PC : sig ... end
module Answers_commitment : sig ... end
type prover_public_parameters = PC.Public_parameters.prover
val prover_public_parameters_t : prover_public_parameters Repr.t
type verifier_public_parameters = PC.Public_parameters.verifier
val verifier_public_parameters_t : verifier_public_parameters Repr.t
type proof = {
  1. cm_t : PC.Commitment.t;
  2. pc_proof : PC.proof;
  3. pc_answers : PC.answer list;
}
val proof_t : proof Repr.t
val 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.t
type prover_aux = {
  1. answers : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list;
  2. batch : Kzg.Bls.Scalar.t Kzg.SMap.t list;
  3. alpha : Kzg.Bls.Scalar.t;
  4. x : Kzg.Bls.Scalar.t;
  5. r : Kzg.Bls.Scalar.t;
  6. cms_answers : Answers_commitment.t Kzg.SMap.t;
  7. t_answers : Kzg.Bls.Scalar.t list;
}
type verifier_aux = {
  1. alpha : Kzg.Bls.Scalar.t;
  2. x : Kzg.Bls.Scalar.t;
  3. r : Kzg.Bls.Scalar.t;
}
val 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.t
val 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