Module Permutation_gate.Permutation_gate_impl

Parameters

Signature

module PP = PP
module Commitment = PP.PC.Commitment
val z_name : string
val zg_name : string -> string
val l1 : string
val ids_label : string
val si_name : int -> string
val ss_name : int -> string
val shared_z_names : string list
type public_parameters = {
  1. g_map_perm_PP : Kzg.Bls.Poly.t Plonk.Identities.SMap.t;
  2. cm_g_map_perm_PP : Commitment.t Plonk.Identities.SMap.t;
  3. s_poly_map : Kzg.Bls.Poly.t Plonk.Identities.SMap.t;
  4. cm_s_poly_map : Commitment.t Plonk.Identities.SMap.t;
  5. permutation : int array;
}
val srs_size : zero_knowledge:bool -> n:int -> int
val zero : Kzg.Bls.Scalar.t
val mone : Kzg.Bls.Scalar.t
val quadratic_non_residues : Kzg.Bls.Scalar.t array
val get_k : int -> Kzg.Bls.Scalar.t
module Partition : sig ... end
module Preprocessing : sig ... end
module Permutation_poly : sig ... end
module Shared_argument : sig ... end
val polynomials_degree : nb_wires:int -> int
val build_permutation : Partition.IntMap.key array array -> int array
val preprocessing : ?external_prefix:string -> domain:Kzg.Bls.Domain.t -> permutation:int array -> nb_wires:int -> unit -> Identities.Evaluations.polynomial Plonk.Identities.SMap.t
val common_preprocessing : nb_wires:int -> domain:Kzg.Bls.Domain.t -> evaluations:Identities.Evaluations.t Kzg.SMap.t -> Identities.Evaluations.t Kzg.SMap.t
val external_prefix_fun : string -> string -> string
val prover_identities : ?external_prefix:string -> ?circuit_prefix:(Stdlib.String.t -> Stdlib.String.t) -> wires_names:Stdlib.String.t list -> beta:Identities.Evaluations.scalar -> gamma:Identities.Evaluations.scalar -> n:int -> unit -> Identities.Evaluations.t Kzg.SMap.t -> Identities.Evaluations.t Plonk.Identities.SMap.t
val verifier_identities : ?external_prefix:string -> ?circuit_prefix:(string -> string) -> nb_proofs:int -> generator:Kzg.Bls.Scalar.t -> n:int -> wires_names:Stdlib.String.t list -> beta:Kzg.Bls.Scalar.t -> gamma:Kzg.Bls.Scalar.t -> delta:Kzg.Bls.Scalar.t -> unit -> Kzg.Bls.Scalar.t -> Kzg.Bls.Scalar.t Plonk.Identities.SMap.t Plonk.Identities.SMap.t -> Kzg.Bls.Scalar.t Plonk.Identities.SMap.t
val f_map_contribution : ?external_prefix:string -> permutation:int array -> values:Identities.Evaluations.t Plonk.Identities.SMap.t -> beta:Kzg.Bls.Scalar.t -> gamma:Kzg.Bls.Scalar.t -> domain:Kzg.Bls.Domain.t -> unit -> Identities.Evaluations.polynomial Plonk.Identities.SMap.t
val cs : ?external_prefix:string -> l1:L.Num.scalar L.Num.repr -> ss_list:L.Num.scalar L.Num.repr list -> beta:L.Num.scalar L.Num.repr -> gamma:L.Num.scalar L.repr -> x:L.Num.scalar L.Num.repr -> z:L.Num.scalar L.Num.repr -> zg:L.Num.scalar L.Num.repr -> aggregated_wires:L.Num.scalar L.repr list -> unit -> (string * L.Num.scalar L.Num.repr) list L.t