2323
2424 * extra_data. alpha_powers_mut ( ) = alpha
2525 . powers ( )
26- . take (
27- air. n_constraints ( )
28- + virtual_column_statements
29- . as_ref ( )
30- . map_or ( 0 , |s| s. values . len ( ) ) ,
31- )
26+ . take ( air. n_constraints ( ) + virtual_column_statements. as_ref ( ) . map_or ( 0 , |s| s. values . len ( ) ) )
3227 . collect ( ) ;
3328
3429 let n_sc_rounds = log_n_rows + 1 - univariate_skips;
3833 . unwrap_or_else ( || verifier_state. sample_vec ( n_sc_rounds) ) ;
3934 assert_eq ! ( zerocheck_challenges. len( ) , n_sc_rounds) ;
4035
41- let ( sc_sum, outer_statement) = sumcheck_verify_with_univariate_skip :: < EF > (
42- verifier_state,
43- air. degree ( ) + 1 ,
44- log_n_rows,
45- univariate_skips,
46- ) ?;
36+ let ( sc_sum, outer_statement) =
37+ sumcheck_verify_with_univariate_skip :: < EF > ( verifier_state, air. degree ( ) + 1 , log_n_rows, univariate_skips) ?;
4738 if sc_sum
4839 != virtual_column_statements
4940 . as_ref ( )
5950 . collect :: < Vec < _ > > ( ) ;
6051
6152 let mut inner_sums = verifier_state. next_extension_scalars_vec (
62- air. n_columns_air ( )
63- + air. down_column_indexes_f ( ) . len ( )
64- + air. down_column_indexes_ef ( ) . len ( ) ,
53+ air. n_columns_air ( ) + air. down_column_indexes_f ( ) . len ( ) + air. down_column_indexes_ef ( ) . len ( ) ,
6554 ) ?;
6655
6756 let n_columns_down_f = air. down_column_indexes_f ( ) . len ( ) ;
7261 & extra_data,
7362 ) ;
7463
75- if eq_poly_with_skip (
76- & zerocheck_challenges,
77- & outer_statement. point ,
78- univariate_skips,
79- ) * constraint_evals
64+ if eq_poly_with_skip ( & zerocheck_challenges, & outer_statement. point , univariate_skips) * constraint_evals
8065 != outer_statement. value
8166 {
8267 return Err ( ProofError :: InvalidProof ) ;
@@ -128,14 +113,8 @@ fn open_columns<EF: ExtensionField<PF<EF>>>(
128113 evals_up_and_down. len( )
129114 ) ;
130115 let last_row_selector = outer_selector_evals[ ( 1 << univariate_skips) - 1 ]
131- * outer_sumcheck_challenge
132- . point
133- . iter ( )
134- . copied ( )
135- . product :: < EF > ( ) ;
136- for ( & last_row_value, down_col_eval) in
137- last_row_f. iter ( ) . zip ( & mut evals_up_and_down[ n_columns..] )
138- {
116+ * outer_sumcheck_challenge. point . iter ( ) . copied ( ) . product :: < EF > ( ) ;
117+ for ( & last_row_value, down_col_eval) in last_row_f. iter ( ) . zip ( & mut evals_up_and_down[ n_columns..] ) {
139118 * down_col_eval -= last_row_selector * last_row_value;
140119 }
141120 for ( & last_row_value, down_col_eval) in last_row_ef
@@ -145,23 +124,20 @@ fn open_columns<EF: ExtensionField<PF<EF>>>(
145124 * down_col_eval -= last_row_selector * last_row_value;
146125 }
147126
148- let batching_scalars = verifier_state. sample_vec ( log2_ceil_usize (
149- n_columns + last_row_f. len ( ) + last_row_ef. len ( ) ,
150- ) ) ;
127+ let batching_scalars = verifier_state. sample_vec ( log2_ceil_usize ( n_columns + last_row_f. len ( ) + last_row_ef. len ( ) ) ) ;
151128
152129 let eval_eq_batching_scalars = eval_eq ( & batching_scalars) ;
153130 let batching_scalars_up = & eval_eq_batching_scalars[ ..n_columns] ;
154131 let batching_scalars_down = & eval_eq_batching_scalars[ n_columns..] ;
155132
156133 let sub_evals = verifier_state. next_extension_scalars_vec ( 1 << univariate_skips) ?;
157134
158- if dot_product :: < EF , _ , _ > (
159- sub_evals. iter ( ) . copied ( ) ,
160- outer_selector_evals. iter ( ) . copied ( ) ,
161- ) != dot_product :: < EF , _ , _ > (
162- evals_up_and_down. iter ( ) . copied ( ) ,
163- eval_eq_batching_scalars. iter ( ) . copied ( ) ,
164- ) {
135+ if dot_product :: < EF , _ , _ > ( sub_evals. iter ( ) . copied ( ) , outer_selector_evals. iter ( ) . copied ( ) )
136+ != dot_product :: < EF , _ , _ > (
137+ evals_up_and_down. iter ( ) . copied ( ) ,
138+ eval_eq_batching_scalars. iter ( ) . copied ( ) ,
139+ )
140+ {
165141 return Err ( ProofError :: InvalidProof ) ;
166142 }
167143
@@ -173,9 +149,8 @@ fn open_columns<EF: ExtensionField<PF<EF>>>(
173149 return Err ( ProofError :: InvalidProof ) ;
174150 }
175151
176- let matrix_up_sc_eval =
177- MultilinearPoint ( [ epsilons. 0 . clone ( ) , outer_sumcheck_challenge. point . 0 . clone ( ) ] . concat ( ) )
178- . eq_poly_outside ( & inner_sumcheck_stement. point ) ;
152+ let matrix_up_sc_eval = MultilinearPoint ( [ epsilons. 0 . clone ( ) , outer_sumcheck_challenge. point . 0 . clone ( ) ] . concat ( ) )
153+ . eq_poly_outside ( & inner_sumcheck_stement. point ) ;
179154 let matrix_down_sc_eval = next_mle (
180155 & [
181156 epsilons. 0 ,
@@ -185,10 +160,8 @@ fn open_columns<EF: ExtensionField<PF<EF>>>(
185160 . concat ( ) ,
186161 ) ;
187162
188- let evaluations_remaining_to_verify_f =
189- verifier_state. next_extension_scalars_vec ( n_columns_f) ?;
190- let evaluations_remaining_to_verify_ef =
191- verifier_state. next_extension_scalars_vec ( n_columns_ef) ?;
163+ let evaluations_remaining_to_verify_f = verifier_state. next_extension_scalars_vec ( n_columns_f) ?;
164+ let evaluations_remaining_to_verify_ef = verifier_state. next_extension_scalars_vec ( n_columns_ef) ?;
192165 let evaluations_remaining_to_verify = [
193166 evaluations_remaining_to_verify_f. clone ( ) ,
194167 evaluations_remaining_to_verify_ef. clone ( ) ,
@@ -211,8 +184,7 @@ fn open_columns<EF: ExtensionField<PF<EF>>>(
211184 . sum :: < EF > ( ) ;
212185
213186 if inner_sumcheck_stement. value
214- != matrix_up_sc_eval * batched_col_up_sc_eval
215- + matrix_down_sc_eval * batched_col_down_sc_eval
187+ != matrix_up_sc_eval * batched_col_up_sc_eval + matrix_down_sc_eval * batched_col_down_sc_eval
216188 {
217189 return Err ( ProofError :: InvalidProof ) ;
218190 }
0 commit comments