Polynomial_protocol.Make_implmodule Super_PC : Polynomial_commitment.Sinclude sig ... endtype prover_public_parameters = Super_PC.Public_parameters.proverval prover_public_parameters_t : Super_PC.Public_parameters.prover Repr.ttype verifier_public_parameters = Super_PC.Public_parameters.verifierval verifier_public_parameters_t : Super_PC.Public_parameters.verifier Repr.ttype proof = {cm_t : Super_PC.Commitment.t;pc_proof : Super_PC.proof;pc_answers : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list;}val proof_t : proof Repr.tval split_t : 
  int ->
  Kzg.Bls.Poly.t ->
  int ->
  Kzg.Bls.Poly.t Plonk.Identities.SMap.tval compute_t : 
  n:int ->
  alpha:Kzg.Bls.Scalar.t ->
  nb_of_t_chunks:int ->
  Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t ->
  Kzg.Bls.Poly.t Plonk.Identities.SMap.tval eval_and_batch_ids : 
  (Kzg.Bls.Scalar.t * 'a) ->
  'b Plonk.Identities.SMap.t Plonk.Identities.SMap.t list ->
  ('a ->
    'b Plonk.Identities.SMap.t Plonk.Identities.SMap.t ->
    Kzg.Bls.Scalar.t Plonk.Identities.SMap.t) ->
  Kzg.Bls.Scalar.tval setup : 
  setup_params:int ->
  srs:(Kzg.Bls.Srs.t * Kzg.Bls.Srs.t) ->
  Super_PC.Public_parameters.prover
  * Super_PC.Public_parameters.verifier
  * Kzg.Utils.Transcript.tval prove_aux : 
  Super_PC.Public_parameters.prover ->
  Kzg__Utils.Transcript.t ->
  int ->
  Kzg.Bls.Scalar.t ->
  (Kzg.Bls.Poly.t Plonk.Identities.SMap.t * Super_PC.Commitment.prover_aux)
    list ->
  Plonk.Identities.eval_point list list ->
  'a ->
  ('a -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t) ->
  int ->
  (Kzg.Bls.Scalar.t
   * Kzg.Bls.Scalar.t
   * Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list
   * Super_PC.Commitment.t)
  * Kzg.Bls.Poly.t Plonk.Identities.SMap.t list
  * Super_PC.Commitment.prover_aux list
  * Kzg.Bls.Scalar.t Plonk.Identities.SMap.t list
  * Kzg__Utils.Transcript.tval prove : 
  Super_PC.Public_parameters.prover ->
  Kzg__Utils.Transcript.t ->
  n:int ->
  generator:Kzg.Bls.Scalar.t ->
  secrets:
    (Kzg.Bls.Poly.t Plonk.Identities.SMap.t * Super_PC.Commitment.prover_aux)
      list ->
  eval_points:Plonk.Identities.eval_point list list ->
  evaluations:'a ->
  identities:('a -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t) ->
  nb_of_t_chunks:int ->
  proof * Kzg.Utils.Transcript.ttype pp_commit_to_t_r = Plonk.Identities.Evaluations.t Plonk.Identities.SMap.tval pp_commit_to_t_r_t : 
  Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t Repr.tyval verify_aux : 
  Kzg__Utils.Transcript.t ->
  Kzg.Bls.Scalar.t ->
  Super_PC.Commitment.t list ->
  Plonk.Identities.eval_point list list ->
  proof ->
  Kzg.Bls.Scalar.t
  * Kzg.Bls.Scalar.t
  * Kzg__Utils.Transcript.t
  * Super_PC.Commitment.t list
  * Kzg.Bls.Scalar.t Plonk.Identities.SMap.t listval verify : 
  Super_PC.Public_parameters.verifier ->
  Kzg__Utils.Transcript.t ->
  n:int ->
  generator:Kzg.Bls.Scalar.t ->
  commitments:Super_PC.Commitment.t list ->
  eval_points:Plonk.Identities.eval_point list list ->
  identities:
    (Kzg.Bls.Scalar.t ->
      Kzg.Bls.Scalar.t Plonk.Identities.SMap.t Plonk.Identities.SMap.t ->
      Kzg.Bls.Scalar.t Plonk.Identities.SMap.t) ->
  proof ->
  bool * Kzg.Utils.Transcript.tmodule PC = Super_PCmodule Answers_commitment = Answers_commitmenttype prover_aux = {answers : Kzg.Bls.Scalar.t SMap.t SMap.t list;batch : Kzg.Bls.Scalar.t SMap.t list;alpha : Kzg.Bls.Scalar.t;x : Kzg.Bls.Scalar.t;r : Kzg.Bls.Scalar.t;cms_answers : Answers_commitment.t SMap.t;t_answers : Kzg.Bls.Scalar.t list;}val update_transcript_with_answers : 
  Kzg.Utils.Transcript.t ->
  Answers_commitment.public SMap.t ->
  Kzg.Bls.Scalar.t list ->
  Kzg.Utils.Transcript.tval verify_t : 
  n:int ->
  x:Kzg.Bls.Scalar.t ->
  alpha:Kzg.Bls.Scalar.t ->
  t_answers:Kzg.Bls.Scalar.t list ->
  ids_batch:(Kzg.Bls.Scalar.t * int) SMap.t ->
  boolval update_transcript_with_formatted_answers : 
  Kzg.Utils.Transcript.t ->
  (Kzg.Bls.Scalar.t Kzg__SMap.t Kzg__SMap.t list ->
    Answers_commitment.t)
    SMap.t ->
  Kzg.Bls.Scalar.t SMap.t SMap.t list ->
  Kzg.Bls.Scalar.t list * Answers_commitment.t SMap.t * Kzg.Utils.Transcript.tval prove_super_aggregation : 
  {PC}1.Public_parameters.prover ->
  Kzg__Utils.Transcript.t ->
  commit_to_answers_map:
    (Kzg.Bls.Scalar.t Kzg__SMap.t Kzg__SMap.t list ->
      Answers_commitment.t)
      SMap.t ->
  n:int ->
  generator:Kzg.Bls.Scalar.t ->
  secrets:
    (Kzg.Bls.Poly.t Plonk.Identities.SMap.t * {PC}1.Commitment.prover_aux) list ->
  eval_points:Plonk.Identities.eval_point list list ->
  evaluations:'a ->
  identities:('b -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t) ->
  nb_of_t_chunks:int ->
  (proof * prover_aux) * Kzg.Utils.Transcript.tval verify_super_aggregation : 
  Super_PC.Public_parameters.verifier ->
  Kzg__Utils.Transcript.t ->
  n:int ->
  generator:Kzg.Bls.Scalar.t ->
  commitments:{PC}1.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 SMap.t ->
  t_answers:Kzg.Bls.Scalar.t list ->
  ids_batch:(Kzg.Bls.Scalar.t * int) SMap.t ->
  proof ->
  (bool * verifier_aux) * Kzg.Utils.Transcript.t