Module Main_Pack.Prover

type common_prover_pp = {
  1. n : int;
  2. domain : Kzg.Bls.Domain.t;
  3. pp_public_parameters : PP.PC.Public_parameters.prover;
  4. g_map : Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t;
  5. g_prover_aux : PP.PC.Commitment.prover_aux;
  6. evaluations : Plonk.Identities.Evaluations.t Plonk.Main_protocol_intf.SMap.t;
  7. zk : bool;
  8. nb_of_t_chunks : int;
  9. eval_points : Plonk.Identities.eval_point list list;
}
val common_prover_pp_t : common_prover_pp Repr.t
type circuit_prover_pp = {
  1. circuit_size : int;
  2. input_com_sizes : int list;
  3. public_input_size : int;
  4. gates : Kzg.Bls.Scalar.t array Plonk.Main_protocol_intf.SMap.t;
  5. tables : Kzg.Bls.Scalar.t array list;
  6. wires : int array array;
  7. permutation : int array;
  8. rc_permutations : int array Plonk.Main_protocol_intf.SMap.t;
  9. evaluations : Plonk.Identities.Evaluations.t Plonk.Main_protocol_intf.SMap.t;
  10. alpha : Kzg.Bls.Scalar.t option;
  11. ultra : bool;
  12. range_checks : (int * int) list Plonk.Main_protocol_intf.SMap.t;
}
val circuit_prover_pp_t : circuit_prover_pp Repr.t
type public_parameters = {
  1. common_pp : common_prover_pp;
  2. circuits_map : circuit_prover_pp Plonk.Main_protocol_intf.SMap.t;
  3. transcript : Kzg.Utils.Transcript.t;
}
val public_parameters_t : public_parameters Repr.t
val build_all_wires_keys : public_parameters -> int Plonk.Main_protocol_intf.SMap.t -> int -> string list
val build_all_keys_z : public_parameters -> string list
val enforce_wire_values : int array array -> Plonk.Identities.Evaluations.scalar array -> Plonk.Identities.Evaluations.t array
val commit_to_wires : ?all_keys:string list -> ?shifts_map:(int * int) Kzg__SMap.t -> public_parameters -> circuit_prover_input list Plonk.Main_protocol_intf.SMap.t -> Plonk.Identities.Evaluations.t Kzg__SMap.t list Kzg__SMap.t * Kzg.Bls.Poly.t Kzg__SMap.t list Kzg__SMap.t * Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t option list Plonk.Main_protocol_intf.SMap.t * Kzg.Bls.Poly.t Plonk.Main_protocol_intf.SMap.t * PP.PC.Commitment.t * PP.PC.Commitment.prover_aux
val build_f_map_plook : ?shifts_map:(int * int) Kzg__SMap.t -> public_parameters -> gate_randomness -> Plonk.Identities.Evaluations.t Plonk.Identities.SMap.t list Plonk.Main_protocol_intf.SMap.t -> Kzg.Bls.Poly.t Kzg__SMap.t