Module Kimchi_types

type nonrec 'f or_infinity =
| Infinity
| Finite of 'f * 'f
type nonrec 'caml_f scalar_challenge = {
inner : 'caml_f;
}
type nonrec 'caml_f random_oracles = {
joint_combiner : ('caml_f scalar_challenge * 'caml_f) option;
beta : 'caml_f;
gamma : 'caml_f;
alpha_chal : 'caml_f scalar_challenge;
alpha : 'caml_f;
zeta : 'caml_f;
v : 'caml_f;
u : 'caml_f;
zeta_chal : 'caml_f scalar_challenge;
v_chal : 'caml_f scalar_challenge;
u_chal : 'caml_f scalar_challenge;
}
type nonrec 'evals point_evaluations = {
zeta : 'evals;
zeta_omega : 'evals;
}
type nonrec 'caml_f lookup_evaluations = {
sorted : 'caml_f array point_evaluations array;
aggreg : 'caml_f array point_evaluations;
table : 'caml_f array point_evaluations;
runtime : 'caml_f array point_evaluations option;
}
type nonrec 'caml_f proof_evaluations = {
w : 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations;
z : 'caml_f array point_evaluations;
s : 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations;
coefficients : 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations * 'caml_f array point_evaluations;
lookup : 'caml_f lookup_evaluations option;
generic_selector : 'caml_f array point_evaluations;
poseidon_selector : 'caml_f array point_evaluations;
}
type nonrec 'caml_g poly_comm = {
unshifted : 'caml_g array;
shifted : 'caml_g option;
}
type nonrec ('caml_g, 'caml_f) recursion_challenge = {
chals : 'caml_f array;
comm : 'caml_g poly_comm;
}
type nonrec ('g, 'f) opening_proof = {
lr : ('g * 'g) array;
delta : 'g;
z1 : 'f;
z2 : 'f;
sg : 'g;
}
type nonrec 'caml_g lookup_commitments = {
sorted : 'caml_g poly_comm array;
aggreg : 'caml_g poly_comm;
runtime : 'caml_g poly_comm option;
}
type nonrec 'caml_g prover_commitments = {
w_comm : 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm * 'caml_g poly_comm;
z_comm : 'caml_g poly_comm;
t_comm : 'caml_g poly_comm;
lookup : 'caml_g lookup_commitments option;
}
type nonrec ('caml_g, 'caml_f) prover_proof = {
commitments : 'caml_g prover_commitments;
proof : ( 'caml_g, 'caml_f ) opening_proof;
evals : 'caml_f proof_evaluations;
ft_eval1 : 'caml_f;
public : 'caml_f array;
prev_challenges : ( 'caml_g, 'caml_f ) recursion_challenge array;
}
type nonrec wire = {
row : int;
col : int;
}
type nonrec gate_type =
| Zero
| Generic
| Poseidon
| CompleteAdd
| VarBaseMul
| EndoMul
| EndoMulScalar
| ChaCha0
| ChaCha1
| ChaCha2
| ChaChaFinal
| Lookup
| CairoClaim
| CairoInstruction
| CairoFlags
| CairoTransition
| RangeCheck0
| RangeCheck1
| ForeignFieldAdd
| ForeignFieldMul
| Xor16
type nonrec feature_flag =
| ChaCha
| RangeCheck
| ForeignFieldAdd
| ForeignFieldMul
| Xor
type nonrec 'f circuit_gate = {
typ : gate_type;
wires : wire * wire * wire * wire * wire * wire * wire;
coeffs : 'f array;
}
type nonrec curr_or_next =
| Curr
| Next
type nonrec 'f oracles = {
o : 'f random_oracles;
p_eval : 'f * 'f;
opening_prechallenges : 'f array;
digest_before_evaluations : 'f;
}
module VerifierIndex : sig ... end