Perm.PP
module PC : 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 = Super_PP.proof = {
cm_t : PC.Commitment.t;
pc_proof : PC.proof;
pc_answers : PC.answer list;
}
val proof_t : proof Repr.t
val 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.t
val 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.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