Module Make_aPlonk.Aggreg_circuit

module Gates : sig ... end
module Perm : sig ... end
module RC : sig ... end
module S = Plompiler.S
type circuit_inputs = {
  1. switches : bool Plompiler.LibCircuit.Input.input list;
  2. compressed_switches : scalar_input;
  3. alpha : scalar_input;
  4. beta : scalar_input;
  5. gamma : scalar_input;
  6. delta : scalar_input;
  7. x : scalar_input;
  8. r : scalar_input;
  9. ss_list : scalar_input list;
  10. selectors : (string * scalar_input) list;
  11. ids_batch : scalar_input;
  12. wires_g : scalar_input list list;
  13. wires : scalar_input list list;
  14. zg : scalar_input;
  15. z : scalar_input;
  16. batch : scalar_input list;
  17. inner_pi : scalar_input list list;
  18. outer_pi : scalar_input list;
  19. rc_selectors : scalar_input list;
  20. zg_rc_perm : scalar_input list;
  21. z_rc_perm : scalar_input list;
}
val nb_batches_default : int
val nb_batches : Plonk.Circuit.t -> int
val dummy_input : 'a Kzg.SMap.t -> string list -> int -> int -> int -> int -> circuit_inputs
module Constraints : sig ... end
val 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 -> bool
val aggreg_public_inputs : int -> ('a * 'a * 'a * 'a * 'a * 'a) -> ('a * 'b) Kzg.SMap.t list -> 'a -> 'a -> 'a list -> 'a array
val compute_switches : int -> int -> S.t array * S.t
val map_end : ('a -> 'a) -> 'a list -> 'a list
val pad_answers : int -> int -> int -> S.t Kzg.SMap.t Kzg.SMap.t list -> S.t list
val pad_inputs : int -> int -> S.t list list -> S.t Kzg.SMap.t Kzg.SMap.t list -> S.t list * S.t list
val 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 array
val 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.t