Skip to content

Commit 73197bc

Browse files
committed
Evaluation put in whir
1 parent b137b18 commit 73197bc

File tree

20 files changed

+83
-143
lines changed

20 files changed

+83
-143
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/air/src/prove.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ use p3_util::log2_ceil_usize;
66
use sumcheck::{MleGroup, MleGroupOwned, MleGroupRef, ProductComputation};
77
use tracing::{info_span, instrument};
88
use utils::PF;
9-
use utils::{Evaluation, FSProver, add_multilinears, from_end, multilinears_linear_combination};
9+
use utils::{FSProver, add_multilinears, from_end, multilinears_linear_combination};
1010
use whir_p3::fiat_shamir::FSChallenger;
1111
use whir_p3::poly::evals::{eval_eq, fold_multilinear, scale_poly};
12+
use whir_p3::poly::multilinear::Evaluation;
1213
use whir_p3::poly::{evals::EvaluationsList, multilinear::MultilinearPoint};
1314

1415
use crate::witness::AirWitness;

crates/air/src/verify.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ use p3_field::{ExtensionField, cyclic_subgroup_known_order, dot_product};
33
use p3_util::log2_ceil_usize;
44
use std::ops::Range;
55
use sumcheck::SumcheckComputation;
6+
use utils::from_end;
67
use utils::univariate_selectors;
7-
use utils::{Evaluation, from_end};
88
use utils::{FSVerifier, PF};
99
use whir_p3::fiat_shamir::FSChallenger;
1010
use whir_p3::poly::evals::eval_eq;
11+
use whir_p3::poly::multilinear::Evaluation;
1112
use whir_p3::{
1213
fiat_shamir::errors::ProofError,
1314
poly::{evals::EvaluationsList, multilinear::MultilinearPoint},

crates/lean_prover/src/common.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ use pcs::ColDims;
44
use rayon::prelude::*;
55
use std::ops::Range;
66
use sumcheck::{SumcheckComputation, SumcheckComputationPacked};
7-
use utils::{
8-
EFPacking, Evaluation, PF, Poseidon16Air, Poseidon24Air, padd_with_zero_to_next_power_of_two,
7+
use utils::{EFPacking, PF, Poseidon16Air, Poseidon24Air, padd_with_zero_to_next_power_of_two};
8+
use whir_p3::poly::{
9+
evals::fold_multilinear,
10+
multilinear::{Evaluation, MultilinearPoint},
911
};
10-
use whir_p3::poly::{evals::fold_multilinear, multilinear::MultilinearPoint};
1112

1213
use crate::*;
1314
use lean_vm::*;

crates/lean_prover/src/lib.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#![cfg_attr(not(test), allow(unused_crate_dependencies))]
22

3-
use std::marker::PhantomData;
43
use std::ops::Range;
54

65
use lean_vm::{EF, F};
@@ -25,10 +24,9 @@ fn exec_column_groups() -> Vec<Range<usize>> {
2524
.concat()
2625
}
2726

28-
pub fn build_batch_pcs() -> WhirBatchPcs<F, EF, EF, MyMerkleHash, MyMerkleCompress, MY_DIGEST_ELEMS>
29-
{
27+
pub fn build_batch_pcs() -> WhirBatchPcs<MyMerkleHash, MyMerkleCompress, MY_DIGEST_ELEMS> {
3028
let base_pcs = WhirConfigBuilder {
31-
folding_factor: FoldingFactor::ConstantFromSecondRound(7, 4),
29+
folding_factor: FoldingFactor::new(7, 4),
3230
soundness_type: SecurityAssumption::CapacityBound,
3331
merkle_hash: build_merkle_hash(),
3432
merkle_compress: build_merkle_compress(),
@@ -37,12 +35,10 @@ pub fn build_batch_pcs() -> WhirBatchPcs<F, EF, EF, MyMerkleHash, MyMerkleCompre
3735
rs_domain_initial_reduction_factor: 5,
3836
security_level: 128,
3937
starting_log_inv_rate: 1,
40-
base_field: PhantomData::<F>,
41-
extension_field: PhantomData::<EF>,
4238
};
4339

4440
let extension_pcs = WhirConfigBuilder {
45-
folding_factor: FoldingFactor::ConstantFromSecondRound(4, 4),
41+
folding_factor: FoldingFactor::new(4, 4),
4642
soundness_type: SecurityAssumption::CapacityBound,
4743
merkle_hash: build_merkle_hash(),
4844
merkle_compress: build_merkle_compress(),
@@ -51,8 +47,6 @@ pub fn build_batch_pcs() -> WhirBatchPcs<F, EF, EF, MyMerkleHash, MyMerkleCompre
5147
rs_domain_initial_reduction_factor: 2,
5248
security_level: 128,
5349
starting_log_inv_rate: 1,
54-
base_field: PhantomData::<EF>,
55-
extension_field: PhantomData::<EF>,
5650
};
5751

5852
WhirBatchPcs(base_pcs, extension_pcs)

crates/lean_prover/src/prove_execution.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ use utils::dot_product_with_base;
2121
use utils::field_slice_as_base;
2222
use utils::pack_extension;
2323
use utils::{
24-
Evaluation, PF, build_poseidon_16_air, build_poseidon_24_air, build_prover_state,
24+
PF, build_poseidon_16_air, build_poseidon_24_air, build_prover_state,
2525
padd_with_zero_to_next_power_of_two,
2626
};
2727
use vm_air::*;
2828
use whir_p3::dft::EvalsDft;
2929
use whir_p3::poly::evals::{eval_eq, fold_multilinear};
30+
use whir_p3::poly::multilinear::Evaluation;
3031
use whir_p3::poly::{evals::EvaluationsList, multilinear::MultilinearPoint};
3132
use whir_p3::utils::{compute_eval_eq, compute_sparse_eval_eq};
3233

@@ -1353,10 +1354,10 @@ pub fn prove_execution(
13531354
pcs.batch_open(
13541355
&dft,
13551356
&mut prover_state,
1356-
&global_statements_base,
1357+
global_statements_base,
13571358
packed_pcs_witness_base.inner_witness,
13581359
&packed_pcs_witness_base.packed_polynomial,
1359-
&global_statements_extension,
1360+
global_statements_extension,
13601361
packed_pcs_witness_extension.inner_witness,
13611362
&packed_pcs_witness_extension.packed_polynomial,
13621363
);

crates/lean_prover/src/verify_execution.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@ use pcs::packed_pcs_global_statements_for_verifier;
1515
use pcs::{BatchPCS, NumVariables as _, packed_pcs_parse_commitment};
1616
use sumcheck::SumcheckComputation;
1717
use utils::dot_product_with_base;
18-
use utils::{Evaluation, PF, build_challenger, padd_with_zero_to_next_power_of_two};
18+
use utils::{PF, build_challenger, padd_with_zero_to_next_power_of_two};
1919
use utils::{ToUsize, build_poseidon_16_air, build_poseidon_24_air};
2020
use vm_air::*;
2121
use whir_p3::fiat_shamir::{errors::ProofError, verifier::VerifierState};
2222
use whir_p3::poly::evals::EvaluationsList;
2323
use whir_p3::poly::evals::eval_eq;
24+
use whir_p3::poly::multilinear::Evaluation;
2425
use whir_p3::poly::multilinear::MultilinearPoint;
2526

2627
pub fn verify_execution(
@@ -1008,9 +1009,9 @@ pub fn verify_execution(
10081009
pcs.batch_verify(
10091010
&mut verifier_state,
10101011
&parsed_commitment_base,
1011-
&global_statements_base,
1012+
global_statements_base,
10121013
&parsed_commitment_extension,
1013-
&global_statements_extension,
1014+
global_statements_extension,
10141015
)?;
10151016

10161017
Ok(())

crates/lookup/src/logup_star.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ https://eprint.iacr.org/2025/946.pdf
77

88
use p3_field::{ExtensionField, Field, PrimeField64};
99
use rayon::prelude::*;
10-
use utils::{Evaluation, ToUsize};
10+
use utils::ToUsize;
1111

1212
use p3_field::PrimeCharacteristicRing;
1313
use sumcheck::{MleGroupRef, ProductComputation};
1414
use tracing::{info_span, instrument};
1515
use utils::{EFPacking, FSProver, FSVerifier, PF, pack_extension, packing_width};
1616
use whir_p3::fiat_shamir::FSChallenger;
17-
use whir_p3::poly::multilinear::MultilinearPoint;
17+
use whir_p3::poly::multilinear::{Evaluation, MultilinearPoint};
1818
use whir_p3::utils::parallel_clone;
1919
use whir_p3::{fiat_shamir::errors::ProofError, utils::uninitialized_vec};
2020

crates/lookup/src/product_gkr.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ use utils::packing_log_width;
1818
use utils::packing_width;
1919
use utils::right_ref;
2020
use utils::unpack_extension;
21-
use utils::{EFPacking, Evaluation, FSProver, FSVerifier, PF};
21+
use utils::{EFPacking, FSProver, FSVerifier, PF};
2222
use whir_p3::fiat_shamir::FSChallenger;
2323
use whir_p3::fiat_shamir::errors::ProofError;
2424
use whir_p3::poly::evals::EvaluationsList;
25+
use whir_p3::poly::multilinear::Evaluation;
2526
use whir_p3::poly::multilinear::MultilinearPoint;
2627

2728
/*
@@ -150,7 +151,7 @@ where
150151
let next_claim =
151152
inner_evals[0] * (EF::ONE - mixing_challenge) + inner_evals[1] * mixing_challenge;
152153

153-
(next_point, next_claim).into()
154+
Evaluation::new(next_point, next_claim)
154155
}
155156

156157
pub fn verify_gkr_product<EF>(
@@ -208,7 +209,7 @@ where
208209

209210
let next_claim = eval_left * (EF::ONE - mixing_challenge) + eval_right * mixing_challenge;
210211

211-
Ok((next_point, next_claim).into())
212+
Ok(Evaluation::new(next_point, next_claim))
212213
}
213214

214215
fn product_2_by_2<EF: PrimeCharacteristicRing + Sync + Send + Copy>(layer: &[EF]) -> Vec<EF> {

crates/lookup/src/quotient_gkr.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ https://eprint.iacr.org/2025/946.pdf
66
with custom GKR
77
88
*/
9-
109
use p3_field::PackedFieldExtension;
1110
use p3_field::PrimeCharacteristicRing;
1211
use p3_field::{ExtensionField, PrimeField64, dot_product};
@@ -19,12 +18,13 @@ use utils::pack_extension;
1918
use utils::packing_log_width;
2019
use utils::packing_width;
2120
use utils::unpack_extension;
22-
use utils::{EFPacking, Evaluation, FSProver, FSVerifier, PF, PFPacking};
21+
use utils::{EFPacking, FSProver, FSVerifier, PF, PFPacking};
2322
use whir_p3::fiat_shamir::FSChallenger;
2423
use whir_p3::fiat_shamir::errors::ProofError;
2524
use whir_p3::poly::dense::WhirDensePolynomial;
2625
use whir_p3::poly::evals::EvaluationsList;
2726
use whir_p3::poly::evals::eval_eq;
27+
use whir_p3::poly::multilinear::Evaluation;
2828
use whir_p3::poly::multilinear::MultilinearPoint;
2929

3030
/*
@@ -209,7 +209,7 @@ where
209209
]));
210210

211211
(
212-
(next_point, next_claim).into(),
212+
Evaluation::new(next_point, next_claim),
213213
up_layer_eval_left,
214214
up_layer_eval_right,
215215
)
@@ -339,7 +339,7 @@ where
339339
]));
340340

341341
(
342-
(next_point, next_claim).into(),
342+
Evaluation::new(next_point, next_claim),
343343
up_layer_eval_left,
344344
up_layer_eval_right,
345345
)
@@ -413,7 +413,7 @@ where
413413
.copied(),
414414
);
415415

416-
Ok((next_point, next_claim).into())
416+
Ok(Evaluation::new(next_point, next_claim))
417417
}
418418

419419
pub struct GKRQuotientComputation<EF> {

0 commit comments

Comments
 (0)