diff --git a/crates/prover/src/constraint_framework/assert.rs b/crates/prover/src/constraint_framework/assert.rs index 376ff80b1..e96725a90 100644 --- a/crates/prover/src/constraint_framework/assert.rs +++ b/crates/prover/src/constraint_framework/assert.rs @@ -1,6 +1,6 @@ use num_traits::Zero; -use super::logup::{LogupAtRow, LogupSums}; +use super::logup::LogupAtRow; use super::{EvalAtRow, INTERACTION_TRACE_IDX}; use crate::core::backend::{Backend, Column}; use crate::core::fields::m31::BaseField; @@ -23,13 +23,13 @@ impl<'a> AssertEvaluator<'a> { trace: &'a TreeVec>>, row: usize, log_size: u32, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { Self { trace, col_index: TreeVec::new(vec![0; trace.len()]), row, - logup: LogupAtRow::new(INTERACTION_TRACE_IDX, logup_sums.0, logup_sums.1, log_size), + logup: LogupAtRow::new(INTERACTION_TRACE_IDX, total_sum, log_size), } } } @@ -78,7 +78,7 @@ pub fn assert_constraints( trace_polys: &TreeVec>>, trace_domain: CanonicCoset, assert_func: impl Fn(AssertEvaluator<'_>), - logup_sums: LogupSums, + total_sum: SecureField, ) { let traces = trace_polys.as_ref().map(|tree| { tree.iter() @@ -94,7 +94,7 @@ pub fn assert_constraints( .collect() }); for row in 0..trace_domain.size() { - let eval = AssertEvaluator::new(&traces, row, trace_domain.log_size(), logup_sums); + let eval = AssertEvaluator::new(&traces, row, trace_domain.log_size(), total_sum); assert_func(eval); } diff --git a/crates/prover/src/constraint_framework/component.rs b/crates/prover/src/constraint_framework/component.rs index cedc0d5ec..8d21d724a 100644 --- a/crates/prover/src/constraint_framework/component.rs +++ b/crates/prover/src/constraint_framework/component.rs @@ -9,7 +9,6 @@ use rayon::prelude::*; use tracing::{span, Level}; use super::cpu_domain::CpuDomainEvaluator; -use super::logup::LogupSums; use super::preprocessed_columns::PreProcessedColumnId; use super::{ EvalAtRow, InfoEvaluator, PointEvaluator, SimdDomainEvaluator, PREPROCESSED_TRACE_IDX, @@ -124,16 +123,16 @@ pub struct FrameworkComponent { trace_locations: TreeVec, info: InfoEvaluator, preprocessed_column_indices: Vec, - logup_sums: LogupSums, + total_sum: SecureField, } impl FrameworkComponent { pub fn new( location_allocator: &mut TraceLocationAllocator, eval: E, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { - let info = eval.evaluate(InfoEvaluator::new(eval.log_size(), vec![], logup_sums)); + let info = eval.evaluate(InfoEvaluator::new(eval.log_size(), vec![], total_sum)); let trace_locations = location_allocator.next_for_structure(&info.mask_offsets); let preprocessed_column_indices = info @@ -167,7 +166,7 @@ impl FrameworkComponent { trace_locations, info, preprocessed_column_indices, - logup_sums, + total_sum, } } @@ -238,7 +237,7 @@ impl Component for FrameworkComponent { evaluation_accumulator, coset_vanishing(CanonicCoset::new(self.eval.log_size()).coset, point).inverse(), self.eval.log_size(), - self.logup_sums, + self.total_sum, )); } } @@ -319,7 +318,7 @@ impl ComponentProver for FrameworkComponen trace_domain.log_size(), eval_domain.log_size(), self.eval.log_size(), - self.logup_sums, + self.total_sum, ); let row_res = self.eval.evaluate(eval).row_res; @@ -348,7 +347,7 @@ impl ComponentProver for FrameworkComponen // Define any `self` values outside the loop to prevent the compiler thinking there is a // `Sync` requirement on `Self`. let self_eval = &self.eval; - let self_logup_sums = self.logup_sums; + let self_total_sum = self.total_sum; iter.for_each(|(chunk_idx, mut chunk)| { let trace_cols = trace.as_cols_ref().map_cols(|c| c.as_ref()); @@ -363,7 +362,7 @@ impl ComponentProver for FrameworkComponen trace_domain.log_size(), eval_domain.log_size(), self_eval.log_size(), - self_logup_sums, + self_total_sum, ); let row_res = self_eval.evaluate(eval).row_res; diff --git a/crates/prover/src/constraint_framework/cpu_domain.rs b/crates/prover/src/constraint_framework/cpu_domain.rs index 03089bd17..4f6e013b0 100644 --- a/crates/prover/src/constraint_framework/cpu_domain.rs +++ b/crates/prover/src/constraint_framework/cpu_domain.rs @@ -2,7 +2,7 @@ use std::ops::Mul; use num_traits::Zero; -use super::logup::{LogupAtRow, LogupSums}; +use super::logup::LogupAtRow; use super::{EvalAtRow, INTERACTION_TRACE_IDX}; use crate::core::backend::CpuBackend; use crate::core::fields::m31::BaseField; @@ -36,7 +36,7 @@ impl<'a> CpuDomainEvaluator<'a> { domain_log_size: u32, eval_log_size: u32, log_size: u32, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { Self { trace_eval, @@ -47,7 +47,7 @@ impl<'a> CpuDomainEvaluator<'a> { constraint_index: 0, domain_log_size, eval_domain_log_size: eval_log_size, - logup: LogupAtRow::new(INTERACTION_TRACE_IDX, logup_sums.0, logup_sums.1, log_size), + logup: LogupAtRow::new(INTERACTION_TRACE_IDX, total_sum, log_size), } } } diff --git a/crates/prover/src/constraint_framework/expr/evaluator.rs b/crates/prover/src/constraint_framework/expr/evaluator.rs index e3230f131..bd7576365 100644 --- a/crates/prover/src/constraint_framework/expr/evaluator.rs +++ b/crates/prover/src/constraint_framework/expr/evaluator.rs @@ -4,14 +4,13 @@ use super::{BaseExpr, ExtExpr}; use crate::constraint_framework::expr::ColumnExpr; use crate::constraint_framework::preprocessed_columns::PreProcessedColumnId; use crate::constraint_framework::{EvalAtRow, Relation, RelationEntry, INTERACTION_TRACE_IDX}; -use crate::core::fields::m31::{self, M31}; +use crate::core::fields::m31::M31; use crate::core::fields::FieldExpOps; use crate::core::lookups::utils::Fraction; pub struct FormalLogupAtRow { pub interaction: usize, pub total_sum: ExtExpr, - pub claimed_sum: Option<(ExtExpr, usize)>, pub fracs: Vec>, pub is_finalized: bool, pub is_first: BaseExpr, @@ -19,21 +18,14 @@ pub struct FormalLogupAtRow { pub log_size: u32, } -// P is an offset no column can reach, it signifies the variable -// offset, which is an input to the verifier. -pub const CLAIMED_SUM_DUMMY_OFFSET: usize = m31::P as usize; - impl FormalLogupAtRow { - pub fn new(interaction: usize, has_partial_sum: bool, log_size: u32) -> Self { + pub fn new(interaction: usize, log_size: u32) -> Self { let total_sum_name = "total_sum".to_string(); - let claimed_sum_name = "claimed_sum".to_string(); Self { interaction, // TODO(alont): Should these be Expr::SecureField? total_sum: ExtExpr::Param(total_sum_name.clone()), - claimed_sum: has_partial_sum - .then_some((ExtExpr::Param(claimed_sum_name), CLAIMED_SUM_DUMMY_OFFSET)), fracs: vec![], is_finalized: true, is_first: BaseExpr::zero(), @@ -75,11 +67,11 @@ pub struct ExprEvaluator { } impl ExprEvaluator { - pub fn new(log_size: u32, has_partial_sum: bool) -> Self { + pub fn new(log_size: u32) -> Self { Self { cur_var_index: Default::default(), constraints: Default::default(), - logup: FormalLogupAtRow::new(INTERACTION_TRACE_IDX, has_partial_sum, log_size), + logup: FormalLogupAtRow::new(INTERACTION_TRACE_IDX, log_size), intermediates: vec![], ext_intermediates: vec![], } @@ -200,7 +192,7 @@ mod tests { #[test] fn test_expr_evaluator() { let test_struct = TestStruct {}; - let eval = test_struct.evaluate(ExprEvaluator::new(16, false)); + let eval = test_struct.evaluate(ExprEvaluator::new(16)); let expected = "let intermediate0 = (trace_1_column_1_offset_0) * (trace_1_column_2_offset_0); \ diff --git a/crates/prover/src/constraint_framework/expr/format.rs b/crates/prover/src/constraint_framework/expr/format.rs index f286f1135..b53c63bf4 100644 --- a/crates/prover/src/constraint_framework/expr/format.rs +++ b/crates/prover/src/constraint_framework/expr/format.rs @@ -1,6 +1,6 @@ use num_traits::Zero; -use super::{BaseExpr, ColumnExpr, ExtExpr, CLAIMED_SUM_DUMMY_OFFSET}; +use super::{BaseExpr, ColumnExpr, ExtExpr}; impl BaseExpr { pub fn format_expr(&self) -> String { @@ -10,9 +10,7 @@ impl BaseExpr { idx, offset, }) => { - let offset_str = if *offset == CLAIMED_SUM_DUMMY_OFFSET as isize { - "claimed_sum".to_string() - } else { + let offset_str = { let offset_abs = offset.abs(); if *offset >= 0 { offset.to_string() diff --git a/crates/prover/src/constraint_framework/expr/mod.rs b/crates/prover/src/constraint_framework/expr/mod.rs index 7b17fc73e..ded8ebfb7 100644 --- a/crates/prover/src/constraint_framework/expr/mod.rs +++ b/crates/prover/src/constraint_framework/expr/mod.rs @@ -10,7 +10,6 @@ use std::ops::{Add, AddAssign, Mul, MulAssign, Neg, Sub}; pub use evaluator::ExprEvaluator; use num_traits::{One, Zero}; -use crate::constraint_framework::expr::evaluator::CLAIMED_SUM_DUMMY_OFFSET; use crate::core::fields::cm31::CM31; use crate::core::fields::m31::BaseField; use crate::core::fields::qm31::{SecureField, QM31}; diff --git a/crates/prover/src/constraint_framework/info.rs b/crates/prover/src/constraint_framework/info.rs index 6bb8462f3..53ea877c2 100644 --- a/crates/prover/src/constraint_framework/info.rs +++ b/crates/prover/src/constraint_framework/info.rs @@ -5,7 +5,7 @@ use std::rc::Rc; use num_traits::{One, Zero}; -use super::logup::{LogupAtRow, LogupSums}; +use super::logup::LogupAtRow; use super::preprocessed_columns::PreProcessedColumnId; use super::{EvalAtRow, INTERACTION_TRACE_IDX}; use crate::constraint_framework::PREPROCESSED_TRACE_IDX; @@ -30,13 +30,13 @@ impl InfoEvaluator { pub fn new( log_size: u32, preprocessed_columns: Vec, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { Self { mask_offsets: Default::default(), n_constraints: Default::default(), preprocessed_columns, - logup: LogupAtRow::new(INTERACTION_TRACE_IDX, logup_sums.0, logup_sums.1, log_size), + logup: LogupAtRow::new(INTERACTION_TRACE_IDX, total_sum, log_size), arithmetic_counts: Default::default(), } } @@ -44,7 +44,7 @@ impl InfoEvaluator { /// Create an empty `InfoEvaluator`, to measure components before their size and logup sums are /// available. pub fn empty() -> Self { - Self::new(16, vec![], (SecureField::default(), None)) + Self::new(16, vec![], SecureField::default()) } } impl EvalAtRow for InfoEvaluator { diff --git a/crates/prover/src/constraint_framework/logup.rs b/crates/prover/src/constraint_framework/logup.rs index 8432e2470..0d8450f52 100644 --- a/crates/prover/src/constraint_framework/logup.rs +++ b/crates/prover/src/constraint_framework/logup.rs @@ -18,36 +18,15 @@ use crate::core::fields::secure_column::SecureColumnByCoords; use crate::core::lookups::utils::Fraction; use crate::core::poly::circle::{CanonicCoset, CircleEvaluation}; use crate::core::poly::BitReversedOrder; -use crate::core::utils::{bit_reverse_index, coset_index_to_circle_domain_index}; use crate::core::ColumnVec; -/// Represents the value of the prefix sum column at some index. -/// Should be used to eliminate padded rows for the logup sum. -pub type ClaimedPrefixSum = (SecureField, usize); -// (total_sum, claimed_sum) -pub type LogupSums = (SecureField, Option); - -pub trait LogupSumsExt { - fn value(&self) -> SecureField; -} - -impl LogupSumsExt for LogupSums { - fn value(&self) -> SecureField { - self.1.map(|(claimed_sum, _)| claimed_sum).unwrap_or(self.0) - } -} - /// Evaluates constraints for batched logups. -/// These constraint enforce the sum of multiplicity_i / (z + sum_j alpha^j * x_j) = claimed_sum. +/// These constraint enforce the sum of multiplicity_i / (z + sum_j alpha^j * x_j) = total_sum. pub struct LogupAtRow { /// The index of the interaction used for the cumulative sum columns. pub interaction: usize, /// The total sum of all the fractions divided by n_rows. pub cumsum_shift: SecureField, - /// The claimed sum of the relevant fractions. - /// This is used for padding the component with default rows. Padding should be in bit-reverse. - /// None if the claimed_sum is the total_sum. - pub claimed_sum: Option, /// The evaluation of the last cumulative sum column. pub fracs: Vec>, pub is_finalized: bool, @@ -60,18 +39,10 @@ impl Default for LogupAtRow { } } impl LogupAtRow { - pub fn new( - interaction: usize, - total_sum: SecureField, - claimed_sum: Option, - log_size: u32, - ) -> Self { - // TODO(ShaharS): remove once claimed sum at internal index is supported. - assert!(claimed_sum.is_none(), "Partial prefix-sum is not supported"); + pub fn new(interaction: usize, total_sum: SecureField, log_size: u32) -> Self { Self { interaction, cumsum_shift: total_sum / BaseField::from_u32_unchecked(1 << log_size), - claimed_sum, fracs: vec![], is_finalized: true, log_size, @@ -83,7 +54,6 @@ impl LogupAtRow { Self { interaction: 100, cumsum_shift: SecureField::one(), - claimed_sum: None, fracs: vec![], is_finalized: true, log_size: 10, @@ -222,43 +192,6 @@ impl LogupTraceGenerator { .collect_vec(); (trace, total_sum) } - - /// Finalize the trace. Returns the trace and the prefix sum of the last column at - /// the corresponding `indices`. - pub fn finalize_at( - mut self, - indices: [usize; N], - ) -> ( - ColumnVec>, - [SecureField; N], - ) { - // Prefix sum the last column. - let last_col_coords = self.trace.pop().unwrap().columns; - let coord_prefix_sum = last_col_coords.map(inclusive_prefix_sum); - let secure_prefix_sum = SecureColumnByCoords { - columns: coord_prefix_sum, - }; - let returned_prefix_sums = indices.map(|idx| { - // Prefix sum column is in bit-reversed circle domain order. - let fixed_index = bit_reverse_index( - coset_index_to_circle_domain_index(idx, self.log_size), - self.log_size, - ); - secure_prefix_sum.at(fixed_index) - }); - self.trace.push(secure_prefix_sum); - - let trace = self - .trace - .into_iter() - .flat_map(|eval| { - eval.columns.map(|col| { - CircleEvaluation::new(CanonicCoset::new(self.log_size).circle_domain(), col) - }) - }) - .collect_vec(); - (trace, returned_prefix_sums) - } } /// Trace generator for a single lookup column. diff --git a/crates/prover/src/constraint_framework/mod.rs b/crates/prover/src/constraint_framework/mod.rs index f423e459a..d68d9fdc9 100644 --- a/crates/prover/src/constraint_framework/mod.rs +++ b/crates/prover/src/constraint_framework/mod.rs @@ -182,11 +182,6 @@ macro_rules! logup_proxy { /// `batching` should contain the batch into which every logup entry should be inserted. fn finalize_logup_batched(&mut self, batching: &crate::constraint_framework::Batching) { assert!(!self.logup.is_finalized, "LogupAtRow was already finalized"); - - assert!( - self.logup.claimed_sum.is_none(), - "Partial prefix-sum is not supported" - ); assert_eq!( batching.len(), self.logup.fracs.len(), diff --git a/crates/prover/src/constraint_framework/point.rs b/crates/prover/src/constraint_framework/point.rs index ea01c647d..fb2ab0661 100644 --- a/crates/prover/src/constraint_framework/point.rs +++ b/crates/prover/src/constraint_framework/point.rs @@ -1,6 +1,6 @@ use std::ops::Mul; -use super::logup::{LogupAtRow, LogupSums}; +use super::logup::LogupAtRow; use super::{EvalAtRow, INTERACTION_TRACE_IDX}; use crate::core::air::accumulation::PointEvaluationAccumulator; use crate::core::fields::qm31::SecureField; @@ -23,7 +23,7 @@ impl<'a> PointEvaluator<'a> { evaluation_accumulator: &'a mut PointEvaluationAccumulator, denom_inverse: SecureField, log_size: u32, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { let col_index = vec![0; mask.len()]; Self { @@ -31,7 +31,7 @@ impl<'a> PointEvaluator<'a> { evaluation_accumulator, col_index, denom_inverse, - logup: LogupAtRow::new(INTERACTION_TRACE_IDX, logup_sums.0, logup_sums.1, log_size), + logup: LogupAtRow::new(INTERACTION_TRACE_IDX, total_sum, log_size), } } } diff --git a/crates/prover/src/constraint_framework/relation_tracker.rs b/crates/prover/src/constraint_framework/relation_tracker.rs index 3e75a7ddb..9269a6118 100644 --- a/crates/prover/src/constraint_framework/relation_tracker.rs +++ b/crates/prover/src/constraint_framework/relation_tracker.rs @@ -4,7 +4,6 @@ use std::fmt::Debug; use itertools::Itertools; use num_traits::Zero; -use super::logup::LogupSums; use super::{ Batching, EvalAtRow, FrameworkEval, InfoEvaluator, Relation, RelationEntry, TraceLocationAllocator, INTERACTION_TRACE_IDX, @@ -15,6 +14,7 @@ use crate::core::backend::simd::very_packed_m31::LOG_N_VERY_PACKED_ELEMS; use crate::core::backend::simd::SimdBackend; use crate::core::backend::Column; use crate::core::fields::m31::{BaseField, M31}; +use crate::core::fields::qm31::SecureField; use crate::core::fields::secure_column::SECURE_EXTENSION_DEGREE; use crate::core::lookups::utils::Fraction; use crate::core::pcs::{TreeSubspan, TreeVec}; @@ -41,7 +41,7 @@ impl RelationTrackerComponent { let info = eval.evaluate(InfoEvaluator::new( eval.log_size(), vec![], - LogupSums::default(), + SecureField::default(), )); let mut mask_offsets = info.mask_offsets; mask_offsets.drain(INTERACTION_TRACE_IDX..); diff --git a/crates/prover/src/constraint_framework/simd_domain.rs b/crates/prover/src/constraint_framework/simd_domain.rs index 65c52708c..ba827cd68 100644 --- a/crates/prover/src/constraint_framework/simd_domain.rs +++ b/crates/prover/src/constraint_framework/simd_domain.rs @@ -2,7 +2,7 @@ use std::ops::Mul; use num_traits::Zero; -use super::logup::{LogupAtRow, LogupSums}; +use super::logup::LogupAtRow; use super::{EvalAtRow, INTERACTION_TRACE_IDX}; use crate::core::backend::simd::column::VeryPackedBaseColumn; use crate::core::backend::simd::m31::LOG_N_LANES; @@ -42,7 +42,7 @@ impl<'a> SimdDomainEvaluator<'a> { domain_log_size: u32, eval_log_size: u32, log_size: u32, - logup_sums: LogupSums, + total_sum: SecureField, ) -> Self { Self { trace_eval, @@ -53,7 +53,7 @@ impl<'a> SimdDomainEvaluator<'a> { constraint_index: 0, domain_log_size, eval_domain_log_size: eval_log_size, - logup: LogupAtRow::new(INTERACTION_TRACE_IDX, logup_sums.0, logup_sums.1, log_size), + logup: LogupAtRow::new(INTERACTION_TRACE_IDX, total_sum, log_size), } } } diff --git a/crates/prover/src/examples/blake/air.rs b/crates/prover/src/examples/blake/air.rs index 7bc044ca3..4707ff3d8 100644 --- a/crates/prover/src/examples/blake/air.rs +++ b/crates/prover/src/examples/blake/air.rs @@ -211,7 +211,7 @@ impl BlakeComponents { round_lookup_elements: all_elements.round_elements.clone(), total_sum: stmt1.scheduler_claimed_sum, }, - (stmt1.scheduler_claimed_sum, None), + stmt1.scheduler_claimed_sum, ), round_components: ROUND_LOG_SPLIT .iter() @@ -225,7 +225,7 @@ impl BlakeComponents { round_lookup_elements: all_elements.round_elements.clone(), total_sum: claimed_sum, }, - (claimed_sum, None), + claimed_sum, ) }) .collect(), @@ -235,7 +235,7 @@ impl BlakeComponents { lookup_elements: all_elements.xor_elements.xor12.clone(), claimed_sum: stmt1.xor12_claimed_sum, }, - (stmt1.xor12_claimed_sum, None), + stmt1.xor12_claimed_sum, ), xor9: xor9::XorTableComponent::new( tree_span_provider, @@ -243,7 +243,7 @@ impl BlakeComponents { lookup_elements: all_elements.xor_elements.xor9.clone(), claimed_sum: stmt1.xor9_claimed_sum, }, - (stmt1.xor9_claimed_sum, None), + stmt1.xor9_claimed_sum, ), xor8: xor8::XorTableComponent::new( tree_span_provider, @@ -251,7 +251,7 @@ impl BlakeComponents { lookup_elements: all_elements.xor_elements.xor8.clone(), claimed_sum: stmt1.xor8_claimed_sum, }, - (stmt1.xor8_claimed_sum, None), + stmt1.xor8_claimed_sum, ), xor7: xor7::XorTableComponent::new( tree_span_provider, @@ -259,7 +259,7 @@ impl BlakeComponents { lookup_elements: all_elements.xor_elements.xor7.clone(), claimed_sum: stmt1.xor7_claimed_sum, }, - (stmt1.xor7_claimed_sum, None), + stmt1.xor7_claimed_sum, ), xor4: xor4::XorTableComponent::new( tree_span_provider, @@ -267,7 +267,7 @@ impl BlakeComponents { lookup_elements: all_elements.xor_elements.xor4.clone(), claimed_sum: stmt1.xor4_claimed_sum, }, - (stmt1.xor4_claimed_sum, None), + stmt1.xor4_claimed_sum, ), } } diff --git a/crates/prover/src/examples/blake/round/mod.rs b/crates/prover/src/examples/blake/round/mod.rs index 027538297..824bea873 100644 --- a/crates/prover/src/examples/blake/round/mod.rs +++ b/crates/prover/src/examples/blake/round/mod.rs @@ -111,7 +111,7 @@ mod tests { |eval| { component.evaluate(eval); }, - (total_sum, None), + total_sum, ) } } diff --git a/crates/prover/src/examples/blake/scheduler/mod.rs b/crates/prover/src/examples/blake/scheduler/mod.rs index dc9baa886..5859e2e76 100644 --- a/crates/prover/src/examples/blake/scheduler/mod.rs +++ b/crates/prover/src/examples/blake/scheduler/mod.rs @@ -108,7 +108,7 @@ mod tests { |eval| { component.evaluate(eval); }, - (total_sum, None), + total_sum, ) } } diff --git a/crates/prover/src/examples/blake/xor_table/mod.rs b/crates/prover/src/examples/blake/xor_table/mod.rs index d8a22118c..58e2c45bf 100644 --- a/crates/prover/src/examples/blake/xor_table/mod.rs +++ b/crates/prover/src/examples/blake/xor_table/mod.rs @@ -192,7 +192,7 @@ mod tests { |eval| { component.evaluate(eval); }, - (claimed_sum, None), + claimed_sum, ) } } diff --git a/crates/prover/src/examples/plonk/mod.rs b/crates/prover/src/examples/plonk/mod.rs index 9926e7c81..ba8fba4b1 100644 --- a/crates/prover/src/examples/plonk/mod.rs +++ b/crates/prover/src/examples/plonk/mod.rs @@ -239,7 +239,7 @@ pub fn prove_fibonacci_plonk( interaction_trace_location, constants_trace_location, }, - (total_sum, None), + total_sum, ); // Sanity check. Remove for production. @@ -253,7 +253,7 @@ pub fn prove_fibonacci_plonk( |mut eval| { component.evaluate(eval); }, - (total_sum, None), + total_sum, ); let proof = prove(&[&component], channel, commitment_scheme).unwrap(); diff --git a/crates/prover/src/examples/poseidon/mod.rs b/crates/prover/src/examples/poseidon/mod.rs index 69fc0aa91..8bcb161a5 100644 --- a/crates/prover/src/examples/poseidon/mod.rs +++ b/crates/prover/src/examples/poseidon/mod.rs @@ -380,7 +380,7 @@ pub fn prove_poseidon( lookup_elements, total_sum, }, - (total_sum, None), + total_sum, ); info!("Poseidon component info:\n{}", component); let proof = prove(&[&component], channel, commitment_scheme).unwrap(); @@ -479,7 +479,7 @@ mod tests { |mut eval| { eval_poseidon_constraints(&mut eval, &lookup_elements); }, - (total_sum, None), + total_sum, ); } diff --git a/crates/prover/src/examples/state_machine/mod.rs b/crates/prover/src/examples/state_machine/mod.rs index 5b81762bf..f1587ca05 100644 --- a/crates/prover/src/examples/state_machine/mod.rs +++ b/crates/prover/src/examples/state_machine/mod.rs @@ -112,7 +112,7 @@ pub fn prove_state_machine( lookup_elements: lookup_elements.clone(), total_sum: total_sum_op0, }, - (total_sum_op0, None), + total_sum_op0, ); let component1 = StateMachineOp1Component::new( tree_span_provider, @@ -121,7 +121,7 @@ pub fn prove_state_machine( lookup_elements, total_sum: total_sum_op1, }, - (total_sum_op1, None), + total_sum_op1, ); let components = StateMachineComponents { @@ -216,7 +216,7 @@ mod tests { lookup_elements, total_sum, }, - (total_sum, None), + total_sum, ); let trace = TreeVec::new(vec![vec![], trace, interaction_trace]); @@ -227,7 +227,7 @@ mod tests { |eval| { component.evaluate(eval); }, - (total_sum, None), + total_sum, ); } @@ -328,10 +328,10 @@ mod tests { lookup_elements, total_sum, }, - (total_sum, None), + total_sum, ); - let eval = component.evaluate(ExprEvaluator::new(log_n_rows, false)); + let eval = component.evaluate(ExprEvaluator::new(log_n_rows)); let expected = "let intermediate0 = (StateMachineElements_alpha0) * (trace_1_column_0_offset_0) \ + (StateMachineElements_alpha1) * (trace_1_column_1_offset_0) \ - (StateMachineElements_z); diff --git a/crates/prover/src/examples/wide_fibonacci/mod.rs b/crates/prover/src/examples/wide_fibonacci/mod.rs index afdc64caa..0267a67af 100644 --- a/crates/prover/src/examples/wide_fibonacci/mod.rs +++ b/crates/prover/src/examples/wide_fibonacci/mod.rs @@ -146,7 +146,7 @@ mod tests { &trace_polys, CanonicCoset::new(LOG_N_INSTANCES), fibonacci_constraint_evaluator::, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -166,7 +166,7 @@ mod tests { &trace_polys, CanonicCoset::new(LOG_N_INSTANCES), fibonacci_constraint_evaluator::, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -203,7 +203,7 @@ mod tests { WideFibonacciEval:: { log_n_rows: log_n_instances, }, - (SecureField::zero(), None), + SecureField::zero(), ); let proof = prove::( @@ -261,7 +261,7 @@ mod tests { WideFibonacciEval:: { log_n_rows: LOG_N_INSTANCES, }, - (SecureField::zero(), None), + SecureField::zero(), ); let proof = prove::( &[&component], diff --git a/crates/prover/src/examples/xor/gkr_lookups/mle_eval.rs b/crates/prover/src/examples/xor/gkr_lookups/mle_eval.rs index ec75c4a8d..77c70ea00 100644 --- a/crates/prover/src/examples/xor/gkr_lookups/mle_eval.rs +++ b/crates/prover/src/examples/xor/gkr_lookups/mle_eval.rs @@ -167,7 +167,7 @@ impl Component for MleEvalProverComponent<'_, '_, O> { accumulator, vanish_on_trace_eval_inv, self.log_size(), - (SecureField::zero(), None), + SecureField::zero(), ); let carry_quotients_col_eval = eval_carry_quotient_col(&self.mle_eval_point, point); @@ -248,7 +248,7 @@ impl ComponentProver for MleEvalProverComp trace_domain.log_size(), eval_domain.log_size(), self.log_size(), - (SecureField::zero(), None), + SecureField::zero(), ); let [mle_coeffs_col_eval] = eval.next_extension_interaction_mask(aux_interaction, [0]); let [carry_quotients_col_eval] = @@ -374,7 +374,7 @@ impl Component for MleEvalVerifierComponent<'_, O> { accumulator, vanish_on_trace_eval_inv, self.log_size(), - (SecureField::zero(), None), + SecureField::zero(), ); let mle_coeff_col_eval = self.mle_coeff_column_oracle.evaluate_at_point(point, mask); @@ -810,7 +810,7 @@ mod tests { let mle_coeffs_col_component = MleCoeffColumnComponent::new( trace_location_allocator, MleCoeffColumnEval::new(COEFFS_COL_TRACE, mle.n_variables()), - (SecureField::zero(), None), + SecureField::zero(), ); let mle_eval_component = MleEvalProverComponent::generate( trace_location_allocator, @@ -887,7 +887,7 @@ mod tests { let mle_coeffs_col_component = MleCoeffColumnComponent::new( trace_location_allocator, MleCoeffColumnEval::new(COEFFS_COL_TRACE, mle.n_variables()), - (SecureField::zero(), None), + SecureField::zero(), ); let mle_eval_component = MleEvalProverComponent::generate( trace_location_allocator, @@ -908,7 +908,7 @@ mod tests { let mle_coeffs_col_component = MleCoeffColumnComponent::new( trace_location_allocator, MleCoeffColumnEval::new(COEFFS_COL_TRACE, N_VARIABLES), - (SecureField::zero(), None), + SecureField::zero(), ); let mle_eval_component = MleEvalVerifierComponent::new( trace_location_allocator, @@ -976,7 +976,7 @@ mod tests { is_second_eval, ) }, - (SecureField::zero(), None), + SecureField::zero(), ) } @@ -1013,7 +1013,7 @@ mod tests { is_second, ); }, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -1050,7 +1050,7 @@ mod tests { is_second, ); }, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -1087,7 +1087,7 @@ mod tests { is_second, ); }, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -1109,7 +1109,7 @@ mod tests { let [row_diff] = eval.next_extension_interaction_mask(0, [0]); eval_prefix_sum_constraints(0, &mut eval, row_diff, cumulative_sum_shift) }, - (SecureField::zero(), None), + SecureField::zero(), ); } @@ -1246,7 +1246,7 @@ mod tests { &mut accumulator, SecureField::one(), self.log_size(), - (SecureField::zero(), None), + SecureField::zero(), ); eval_mle_coeff_col(self.interaction, &mut eval)