Make_aPlonk.Aggreg_circuitmodule Gates : sig ... endmodule Perm : sig ... endmodule RC : sig ... endmodule S = Plompiler.Stype scalar_input =
Plompiler.LibCircuit.scalar Plompiler.LibCircuit.Input.inputtype circuit_inputs = {switches : bool Plompiler.LibCircuit.Input.input list;compressed_switches : scalar_input;alpha : scalar_input;beta : scalar_input;gamma : scalar_input;delta : scalar_input;x : scalar_input;r : scalar_input;ss_list : scalar_input list;selectors : (string * scalar_input) list;ids_batch : scalar_input;wires_g : scalar_input list list;wires : scalar_input list list;zg : scalar_input;z : scalar_input;batch : scalar_input list;inner_pi : scalar_input list list;outer_pi : scalar_input list;rc_selectors : scalar_input list;zg_rc_perm : scalar_input list;z_rc_perm : scalar_input list;}val nb_batches : Plonk.Circuit.t -> intval dummy_input :
'a Kzg.SMap.t ->
string list ->
int ->
int ->
int ->
int ->
circuit_inputsmodule Constraints : sig ... endval verify_batch :
Kzg.Bls.Scalar.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t list ->
(Kzg.Bls.Scalar.t * int) Kzg.SMap.t list Kzg.SMap.t ->
Kzg.Bls.Scalar.t list ->
boolval aggreg_public_inputs :
int ->
('a * 'a * 'a * 'a * 'a * 'a) ->
('a * 'b) Kzg.SMap.t list ->
'a ->
'a ->
'a list ->
'a arrayval pad_answers :
int ->
int ->
int ->
S.t Kzg.SMap.t Kzg.SMap.t list ->
S.t listval pad_inputs :
int ->
int ->
S.t list list ->
S.t Kzg.SMap.t Kzg.SMap.t list ->
S.t list * S.t listval get_witness :
int ->
int ->
Main_Pack.prover_aux ->
Kzg.SMap.key ->
int ->
Plompiler.Solver.t ->
(S.t list list * Main_Pack.scalar list) ->
S.t array ->
Main_Pack.scalar ->
(Main_Pack.scalar * 'a) Kzg.SMap.t list ->
Plompiler.Csir.Scalar.t arrayval get_batches :
'a Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg__SMap.t Kzg__SMap.t list ->
Kzg.Bls.Scalar.t ->
(Kzg.Bls.Scalar.t * int) Kzg.SMap.t list Kzg.SMap.tval verification_circuit :
(S.t * int) ->
int list ->
(switches:bool Plompiler.LibCircuit.Bool.repr list ->
outer:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list ->
inner:
Plompiler.LibCircuit.Num.scalar Plompiler.LibCircuit.Num.repr list list ->
bool Plompiler.LibCircuit.Bool.repr Plompiler.LibCircuit.t) ->
circuit_inputs ->
unit Plompiler.LibCircuit.Bool.repr Plompiler.LibCircuit.tval get_cs_verification :
Main_Pack.prover_public_parameters ->
Plonk.Circuit.t ->
int ->
int ->
(int * int) ->
(switches:bool Plompiler.LibCircuit.Bool.repr list ->
outer:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list ->
inner:
Plompiler.LibCircuit.Num.scalar Plompiler.LibCircuit.Num.repr list list ->
bool Plompiler.LibCircuit.Bool.repr Plompiler.LibCircuit.t) ->
Plompiler.LibCircuit.cs_result