Range_check_gate.Range_check_gate_impl
module PP : Polynomial_protocol.S
module PP = PP
type public_parameters = Kzg.Bls.Poly.t Plonk.Identities.SMap.t
val zero : Kzg.Bls.Scalar.t
val one : Kzg.Bls.Scalar.t
val two : Kzg.Bls.Scalar.t
val mone : Kzg.Bls.Scalar.t
val mtwo : Kzg.Bls.Scalar.t
module Permutation : sig ... end
module RangeChecks : sig ... end
val build_permutations :
size_domain:int ->
range_checks:(int * int) list Plonk.Identities.SMap.t ->
int array Plonk.Identities.SMap.t
val preprocessing :
range_checks:('a * int) list Plonk.Identities.SMap.t ->
permutations:int array Plonk.Identities.SMap.t ->
domain:Kzg.Bls.Domain.t ->
Identities.Evaluations.polynomial Plonk.Identities.SMap.t
val f_map_contribution_1 :
range_checks:(int * int) list Plonk.Identities.SMap.t ->
domain:Kzg.Bls.Domain.t ->
values:Identities.Evaluations.t Plonk.Identities.SMap.t ->
Identities.Evaluations.t Plonk.Identities.SMap.t
* Identities.Evaluations.polynomial Plonk.Identities.SMap.t
val f_map_contribution_2 :
permutations:int array Plonk.Identities.SMap.t ->
beta:Kzg.Bls.Scalar.t ->
gamma:Kzg.Bls.Scalar.t ->
domain:Kzg.Bls.Domain.t ->
values:Identities.Evaluations.t Plonk.Identities.SMap.t ->
Kzg.Bls.Poly.t Plonk.Identities.SMap.t
val prover_identities_1 :
?circuit_prefix:(string -> string) ->
proof_prefix:(string -> string) ->
domain_size:int ->
range_checks:'a Plonk.Identities.SMap.t ->
unit ->
Identities.Identities.prover_identities
val prover_identities_2 :
?circuit_prefix:(string -> string) ->
beta:Kzg.Bls.Scalar.t ->
gamma:Kzg.Bls.Scalar.t ->
domain_size:int ->
range_checks:'a Plonk.Identities.SMap.t ->
unit ->
Identities.Identities.prover_identities
val verifier_identities_1 :
?circuit_prefix:(string -> string) ->
proof_prefix:(string -> string) ->
range_checks:bool Plonk.Identities.SMap.t ->
unit ->
Identities.Identities.verifier_identities
val verifier_identities_2 :
?circuit_prefix:(string -> string) ->
nb_proofs:int ->
beta:Kzg.Bls.Scalar.t ->
gamma:Kzg.Bls.Scalar.t ->
delta:Kzg.Bls.Scalar.t ->
domain_size:int ->
generator:Kzg.Bls.Scalar.t ->
range_checks:bool Plonk.Identities.SMap.t ->
unit ->
Identities.Identities.verifier_identities
val cs :
rc_index:int list ->
nb_proofs:int ->
lnin1:L.Num.scalar L.repr list ->
pnin1:L.Num.scalar L.repr list ->
z_rc:L.Num.scalar L.Num.repr List.t List.t ->
zg_rc:L.Num.scalar L.Num.repr list list ->
z_perm:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list ->
zg_perm:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list ->
aggregated_wires:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list ->
sum_alpha_i:
(L.Num.scalar L.Num.repr list ->
'a ->
Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr L.t) ->
l1:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr ->
ss_list:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr list list ->
beta:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr ->
gamma:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr ->
delta:'b ->
x:Plompiler.LibCircuit.scalar Plompiler.LibCircuit.repr ->
(string * L.Num.scalar L.Num.repr) list L.t