From 7a0566d1cae8078bccc4df4acf457ad92709ad7c Mon Sep 17 00:00:00 2001 From: xkx Date: Fri, 19 Jan 2024 23:37:24 +0800 Subject: [PATCH] fix a bug in logup's verifier (#83) --- halo2_proofs/src/plonk/evaluation.rs | 4 ++-- halo2_proofs/src/plonk/mv_lookup/verifier.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/halo2_proofs/src/plonk/evaluation.rs b/halo2_proofs/src/plonk/evaluation.rs index b168b02ad0..c67b7f6303 100644 --- a/halo2_proofs/src/plonk/evaluation.rs +++ b/halo2_proofs/src/plonk/evaluation.rs @@ -661,7 +661,7 @@ impl Evaluator { // Π(φ_i(X)) let inputs_prod: C::Scalar = inputs_value .iter() - .fold(C::Scalar::ZERO, |acc, input| acc * input); + .fold(C::Scalar::ONE, |acc, input| acc * input); // t(X) + beta let table_value = table_lookup_evaluator.evaluate( @@ -697,7 +697,7 @@ impl Evaluator { .iter() .enumerate() .filter(|(j, _)| *j != i) - .fold(C::Scalar::ZERO, |acc, (_, x)| acc * *x) + .fold(C::Scalar::ONE, |acc, (_, x)| acc * *x) }) .fold(C::Scalar::ZERO, |acc, x| acc + x); inputs * table_value - inputs_prod * m_coset[idx] diff --git a/halo2_proofs/src/plonk/mv_lookup/verifier.rs b/halo2_proofs/src/plonk/mv_lookup/verifier.rs index 0593f3bcca..d406300a26 100644 --- a/halo2_proofs/src/plonk/mv_lookup/verifier.rs +++ b/halo2_proofs/src/plonk/mv_lookup/verifier.rs @@ -90,7 +90,7 @@ impl Evaluated { instance_evals: &[C::Scalar], challenges: &[C::Scalar], ) -> impl Iterator + 'a { - let active_rows = C::Scalar::ZERO - (l_last + l_blind); + let active_rows = C::Scalar::ONE - (l_last + l_blind); /* φ_i(X) = f_i(X) + beta @@ -131,7 +131,7 @@ impl Evaluated { let tau = t_eval + *beta; // Π(φ_i(X)) - let prod_fi = f_evals.iter().fold(C::Scalar::ZERO, |acc, eval| acc * eval); + let prod_fi = f_evals.iter().fold(C::Scalar::ONE, |acc, eval| acc * eval); // ∑ 1/(φ_i(X)) let sum_inv_fi = { f_evals.batch_invert();