Circuit.Vmodule Main : Aggregation.Main_protocol.Smodule Gates = Main.Gatesmodule Perm = Main.Permmodule RC = Main.RangeCheckmodule 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 SMap.t ->
string list ->
int ->
int ->
int ->
int ->
circuit_inputsmodule Constraints : sig ... endval verify_batch :
Kzg.Bls.Scalar.t ->
Kzg.Bls.Scalar.t SMap.t list ->
(Kzg.Bls.Scalar.t * int) SMap.t list SMap.t ->
Kzg.Bls.Scalar.t list ->
boolval aggreg_public_inputs :
int ->
('a * 'b * 'c * 'd * 'e * 'f) ->
('g * 'h) SMap.t list ->
'i ->
'j ->
'k list ->
'l arrayval get_witness :
int ->
int ->
Main.prover_aux ->
SMap.key ->
int ->
Plompiler.Solver.t ->
(S.t list list * Main.scalar list) ->
S.t array ->
Main.scalar ->
(Main.scalar * 'a) SMap.t list ->
Plompiler.Csir.Scalar.t arrayval get_batches :
'a SMap.t ->
Kzg.Bls.Scalar.t Kzg__SMap.t Kzg__SMap.t list ->
Kzg.Bls.Scalar.t ->
(Kzg.Bls.Scalar.t * int) SMap.t list 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.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