PR comments

This commit is contained in:
wborgeaud 2022-05-16 20:45:30 +02:00
parent 02db6c93ec
commit 863d9a863c
5 changed files with 20 additions and 14 deletions

View File

@ -44,10 +44,10 @@ impl CrossTableLookup {
}
}
/// Lookup data for one table.
/// Cross-table lookup data for one table.
#[derive(Clone)]
pub struct CtlData<F: Field> {
// Challenges used in the lookup argument.
// Challenges used in the argument.
pub(crate) challenges: GrandProductChallengeSet<F>,
// Vector of `(Z, columns)` where `Z` is a Z-polynomial for a lookup on columns `columns`.
pub zs_columns: Vec<(PolynomialValues<F>, Vec<usize>)>,
@ -135,7 +135,7 @@ fn partial_products<F: Field>(
}
#[derive(Clone)]
pub struct CTLCheckVars<'a, F, FE, P, const D2: usize>
pub struct CtlCheckVars<'a, F, FE, P, const D2: usize>
where
F: Field,
FE: FieldExtension<D2, BaseField = F>,
@ -148,7 +148,7 @@ where
}
impl<'a, F: RichField + Extendable<D>, const D: usize>
CTLCheckVars<'a, F, F::Extension, F::Extension, D>
CtlCheckVars<'a, F, F::Extension, F::Extension, D>
{
pub(crate) fn from_proofs<C: GenericConfig<D, F = F>>(
proofs: &[&StarkProofWithPublicInputs<F, C, D>],
@ -221,7 +221,7 @@ impl<'a, F: RichField + Extendable<D>, const D: usize>
pub(crate) fn eval_cross_table_lookup_checks<F, FE, P, C, S, const D: usize, const D2: usize>(
vars: StarkEvaluationVars<FE, P, { S::COLUMNS }, { S::PUBLIC_INPUTS }>,
ctl_vars: &[CTLCheckVars<F, FE, P, D2>],
ctl_vars: &[CtlCheckVars<F, FE, P, D2>],
consumer: &mut ConstraintConsumer<P>,
) where
F: RichField + Extendable<D>,
@ -231,7 +231,7 @@ pub(crate) fn eval_cross_table_lookup_checks<F, FE, P, C, S, const D: usize, con
S: Stark<F, D>,
{
for lookup_vars in ctl_vars {
let CTLCheckVars {
let CtlCheckVars {
local_z,
next_z,
challenges,

View File

@ -142,11 +142,17 @@ pub(crate) struct StarkProofChallengesTarget<const D: usize> {
/// Purported values of each polynomial at the challenge point.
#[derive(Debug, Clone)]
pub struct StarkOpeningSet<F: RichField + Extendable<D>, const D: usize> {
/// Openings of trace polynomials at `zeta`.
pub local_values: Vec<F::Extension>,
/// Openings of trace polynomials at `g * zeta`.
pub next_values: Vec<F::Extension>,
/// Openings of permutations and cross-table lookups `Z` polynomials at `zeta`.
pub permutation_ctl_zs: Option<Vec<F::Extension>>,
/// Openings of permutations and cross-table lookups `Z` polynomials at `g * zeta`.
pub permutation_ctl_zs_right: Option<Vec<F::Extension>>,
/// Openings of cross-table lookups `Z` polynomials at `g^-1`.
pub ctl_zs_last: Vec<F>,
/// Openings of quotient polynomials at `zeta`.
pub quotient_polys: Vec<F::Extension>,
}

View File

@ -21,7 +21,7 @@ use rayon::prelude::*;
use crate::all_stark::{AllStark, CpuStark, KeccakStark, Table};
use crate::config::StarkConfig;
use crate::constraint_consumer::ConstraintConsumer;
use crate::cross_table_lookup::{cross_table_lookup_data, CTLCheckVars, CtlData};
use crate::cross_table_lookup::{cross_table_lookup_data, CtlCheckVars, CtlData};
use crate::permutation::PermutationCheckVars;
use crate::permutation::{
compute_permutation_z_polys, get_n_grand_product_challenge_sets, GrandProductChallengeSet,
@ -401,7 +401,7 @@ where
.zs_columns
.iter()
.enumerate()
.map(|(i, (_, columns))| CTLCheckVars::<F, F, P, 1> {
.map(|(i, (_, columns))| CtlCheckVars::<F, F, P, 1> {
local_z: permutation_ctl_zs_commitment
.unwrap()
.get_lde_values_packed(i_start, step)[num_permutation_zs + i],
@ -523,7 +523,7 @@ fn check_constraints<'a, F, C, S, const D: usize>(
.zs_columns
.iter()
.enumerate()
.map(|(iii, (_, columns))| CTLCheckVars::<F, F, F, 1> {
.map(|(iii, (_, columns))| CtlCheckVars::<F, F, F, 1> {
local_z: get_comm_values(permutation_ctl_zs_commitment.unwrap(), i)
[num_permutation_zs + iii],
next_z: get_comm_values(permutation_ctl_zs_commitment.unwrap(), i_next)

View File

@ -6,7 +6,7 @@ use plonky2::plonk::config::GenericConfig;
use crate::config::StarkConfig;
use crate::constraint_consumer::{ConstraintConsumer, RecursiveConstraintConsumer};
use crate::cross_table_lookup::{eval_cross_table_lookup_checks, CTLCheckVars};
use crate::cross_table_lookup::{eval_cross_table_lookup_checks, CtlCheckVars};
use crate::permutation::{
eval_permutation_checks, eval_permutation_checks_recursively, PermutationCheckDataTarget,
PermutationCheckVars,
@ -19,7 +19,7 @@ pub(crate) fn eval_vanishing_poly<F, FE, P, C, S, const D: usize, const D2: usiz
config: &StarkConfig,
vars: StarkEvaluationVars<FE, P, { S::COLUMNS }, { S::PUBLIC_INPUTS }>,
permutation_vars: Option<PermutationCheckVars<F, FE, P, D2>>,
ctl_vars: &[CTLCheckVars<F, FE, P, D2>],
ctl_vars: &[CtlCheckVars<F, FE, P, D2>],
consumer: &mut ConstraintConsumer<P>,
) where
F: RichField + Extendable<D>,

View File

@ -12,7 +12,7 @@ use plonky2::plonk::plonk_common::reduce_with_powers;
use crate::all_stark::{AllStark, CpuStark, KeccakStark, Table};
use crate::config::StarkConfig;
use crate::constraint_consumer::ConstraintConsumer;
use crate::cross_table_lookup::{verify_cross_table_lookups, CTLCheckVars};
use crate::cross_table_lookup::{verify_cross_table_lookups, CtlCheckVars};
use crate::permutation::PermutationCheckVars;
use crate::proof::{
AllProof, AllProofChallenges, StarkOpeningSet, StarkProofChallenges, StarkProofWithPublicInputs,
@ -46,7 +46,7 @@ where
cross_table_lookups,
} = all_stark;
let ctl_vars_per_table = CTLCheckVars::from_proofs(
let ctl_vars_per_table = CtlCheckVars::from_proofs(
&all_proof.proofs(),
&cross_table_lookups,
&ctl_challenges,
@ -85,7 +85,7 @@ pub(crate) fn verify_stark_proof_with_challenges<
stark: S,
proof_with_pis: &StarkProofWithPublicInputs<F, C, D>,
challenges: StarkProofChallenges<F, D>,
ctl_vars: &[CTLCheckVars<F, F::Extension, F::Extension, D>],
ctl_vars: &[CtlCheckVars<F, F::Extension, F::Extension, D>],
config: &StarkConfig,
) -> Result<()>
where