mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-16 04:33:10 +00:00
PR comments
This commit is contained in:
parent
02db6c93ec
commit
863d9a863c
@ -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,
|
||||
|
||||
@ -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>,
|
||||
}
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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>,
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user