Skip to content

Commit d539303

Browse files
committed
Ledger: use eval pt name instead of fst and snd
Initially, it was used to reflect the OCaml code in `src/lib/pickles/plonk_checks`. However, I do think we have to change that as it makes the code more readable from a cryptography point of view.
1 parent 04ad772 commit d539303

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

ledger/src/proofs/public_input/plonk_checks.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -253,15 +253,15 @@ pub fn derive_plonk<F: FieldWitness, const NLIMB: usize>(
253253
let zkp = env.zk_polynomial;
254254
let powers_of_alpha = powers_of_alpha(*alpha);
255255
let alpha_pow = |i: usize| powers_of_alpha[i];
256-
let w0 = evals.w.map(|point| point.fst());
256+
let w0 = evals.w.map(|point| point.zeta);
257257

258258
let beta = *beta;
259259
let gamma = *gamma;
260260

261261
// https://github.com/MinaProtocol/mina/blob/0b63498e271575dbffe2b31f3ab8be293490b1ac/src/lib/pickles/plonk_checks/plonk_checks.ml#L397
262262
let perm = evals.s.iter().enumerate().fold(
263-
evals.z.snd() * beta * alpha_pow(PERM_ALPHA0) * zkp,
264-
|accum, (index, elem)| accum * (gamma + (beta * elem.fst()) + w0[index]),
263+
evals.z.zeta_omega * beta * alpha_pow(PERM_ALPHA0) * zkp,
264+
|accum, (index, elem)| accum * (gamma + (beta * elem.zeta) + w0[index]),
265265
);
266266
let perm = -perm;
267267

@@ -302,16 +302,16 @@ pub fn derive_plonk_checked<F: FieldWitness>(
302302
let zkp = env.zk_polynomial;
303303
let powers_of_alpha = powers_of_alpha(minimal.alpha);
304304
let alpha_pow = |i: usize| powers_of_alpha[i];
305-
let w0 = evals.w.map(|point| point.fst());
305+
let w0 = evals.w.map(|point| point.zeta);
306306

307307
let beta = minimal.beta;
308308
let gamma = minimal.gamma;
309309

310310
let perm = evals.s.iter().enumerate().fold(
311-
field::muls(&[evals.z.snd(), beta, alpha_pow(PERM_ALPHA0), zkp], w),
311+
field::muls(&[evals.z.zeta_omega, beta, alpha_pow(PERM_ALPHA0), zkp], w),
312312
|accum, (index, elem)| {
313313
// We decompose this way because of OCaml evaluation order
314-
let beta_elem = field::mul(beta, elem.fst(), w);
314+
let beta_elem = field::mul(beta, elem.zeta, w);
315315
field::mul(accum, gamma + beta_elem + w0[index], w)
316316
},
317317
);
@@ -385,7 +385,7 @@ pub fn ft_eval0<F: FieldWitness, const NLIMB: usize>(
385385
) -> F {
386386
const PLONK_TYPES_PERMUTS_MINUS_1_N: usize = 6;
387387

388-
let e0_s: Vec<_> = evals.s.iter().map(|s| s.fst()).collect();
388+
let e0_s: Vec<_> = evals.s.iter().map(|s| s.zeta).collect();
389389
let zkp = env.zk_polynomial;
390390
let powers_of_alpha = powers_of_alpha(minimal.alpha);
391391
let alpha_pow = |i: usize| powers_of_alpha[i];
@@ -405,12 +405,12 @@ pub fn ft_eval0<F: FieldWitness, const NLIMB: usize>(
405405
})
406406
.unwrap(); // Never fail, `p_eval0` is non-empty
407407

408-
let w0: Vec<_> = evals.w.iter().map(|w| w.fst()).collect();
408+
let w0: Vec<_> = evals.w.iter().map(|w| w.zeta).collect();
409409

410410
let ft_eval0 = {
411411
let a0 = alpha_pow(PERM_ALPHA0);
412412
let w_n = w0[PLONK_TYPES_PERMUTS_MINUS_1_N];
413-
let init = (w_n + minimal.gamma) * evals.z.snd() * a0 * zkp;
413+
let init = (w_n + minimal.gamma) * evals.z.zeta_omega * a0 * zkp;
414414
e0_s.iter().enumerate().fold(init, |acc, (i, s)| {
415415
((minimal.beta * s) + w0[i] + minimal.gamma) * acc
416416
})
@@ -421,14 +421,14 @@ pub fn ft_eval0<F: FieldWitness, const NLIMB: usize>(
421421

422422
let ft_eval0 = ft_eval0
423423
- shifts.iter().enumerate().fold(
424-
alpha_pow(PERM_ALPHA0) * zkp * evals.z.fst(),
424+
alpha_pow(PERM_ALPHA0) * zkp * evals.z.zeta,
425425
|acc, (i, s)| acc * (minimal.gamma + (minimal.beta * minimal.zeta * s) + w0[i]),
426426
);
427427

428428
let nominator =
429429
(zeta1m1 * alpha_pow(PERM_ALPHA0 + 1) * (minimal.zeta - env.omega_to_minus_zk_rows)
430430
+ (zeta1m1 * alpha_pow(PERM_ALPHA0 + 2) * (minimal.zeta - F::one())))
431-
* (F::one() - evals.z.fst());
431+
* (F::one() - evals.z.zeta);
432432

433433
let denominator = (minimal.zeta - env.omega_to_minus_zk_rows) * (minimal.zeta - F::one());
434434
let ft_eval0 = ft_eval0 + (nominator / denominator);
@@ -873,7 +873,7 @@ pub fn ft_eval0_checked<F: FieldWitness, const NLIMB: usize>(
873873
) -> F {
874874
const PLONK_TYPES_PERMUTS_MINUS_1_N: usize = 6;
875875

876-
let e0_s: Vec<_> = evals.s.iter().map(|s| s.fst()).collect();
876+
let e0_s: Vec<_> = evals.s.iter().map(|s| s.zeta).collect();
877877
let zkp = env.zk_polynomial;
878878
let powers_of_alpha = powers_of_alpha(minimal.alpha);
879879
let alpha_pow = |i: usize| powers_of_alpha[i];
@@ -890,12 +890,12 @@ pub fn ft_eval0_checked<F: FieldWitness, const NLIMB: usize>(
890890
}
891891
})
892892
.unwrap(); // Never fail, `p_eval0` is non-empty
893-
let w0: Vec<_> = evals.w.iter().map(|w| w.fst()).collect();
893+
let w0: Vec<_> = evals.w.iter().map(|w| w.zeta).collect();
894894

895895
let ft_eval0 = {
896896
let a0 = alpha_pow(PERM_ALPHA0);
897897
let w_n = w0[PLONK_TYPES_PERMUTS_MINUS_1_N];
898-
let init = field::muls(&[(w_n + minimal.gamma), evals.z.snd(), a0, zkp], w);
898+
let init = field::muls(&[(w_n + minimal.gamma), evals.z.zeta_omega, a0, zkp], w);
899899
e0_s.iter().enumerate().fold(init, |acc, (i, s)| {
900900
// We decompose this way because of OCaml evaluation order
901901
let beta_s = field::mul(minimal.beta, *s, w);
@@ -908,7 +908,7 @@ pub fn ft_eval0_checked<F: FieldWitness, const NLIMB: usize>(
908908

909909
let ft_eval0 = ft_eval0
910910
- shifts.iter().enumerate().fold(
911-
field::muls(&[alpha_pow(PERM_ALPHA0), zkp, evals.z.fst()], w),
911+
field::muls(&[alpha_pow(PERM_ALPHA0), zkp, evals.z.zeta], w),
912912
|acc, (i, s)| {
913913
let beta_zeta = field::mul(minimal.beta, minimal.zeta, w);
914914
field::mul(acc, minimal.gamma + (beta_zeta * s) + w0[i], w)
@@ -932,7 +932,7 @@ pub fn ft_eval0_checked<F: FieldWitness, const NLIMB: usize>(
932932
],
933933
w,
934934
);
935-
let nominator = field::mul(a + b, F::one() - evals.z.fst(), w);
935+
let nominator = field::mul(a + b, F::one() - evals.z.zeta, w);
936936

937937
let denominator = field::mul(
938938
minimal.zeta - env.omega_to_minus_zk_rows,

0 commit comments

Comments
 (0)