Type Alias RecursiveVerifierConstraintFolder

Source
pub type RecursiveVerifierConstraintFolder<'a, C> = GenericVerifierConstraintFolder<'a, <C as Config>::F, <C as Config>::EF, Felt<<C as Config>::F>, Ext<<C as Config>::F, <C as Config>::EF>, SymbolicExt<<C as Config>::F, <C as Config>::EF>>;

Aliased Type§

struct RecursiveVerifierConstraintFolder<'a, C> {
    pub preprocessed: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>,
    pub main: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>,
    pub perm: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>,
    pub perm_challenges: &'a [Ext<<C as Config>::F, <C as Config>::EF>],
    pub cumulative_sum: Ext<<C as Config>::F, <C as Config>::EF>,
    pub is_first_row: Ext<<C as Config>::F, <C as Config>::EF>,
    pub is_last_row: Ext<<C as Config>::F, <C as Config>::EF>,
    pub is_transition: Ext<<C as Config>::F, <C as Config>::EF>,
    pub alpha: Ext<<C as Config>::F, <C as Config>::EF>,
    pub accumulator: SymbolicExt<<C as Config>::F, <C as Config>::EF>,
    pub public_values: &'a [Felt<<C as Config>::F>],
    pub _marker: PhantomData<(<C as Config>::F, <C as Config>::EF)>,
}

Fields§

§preprocessed: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>

The preprocessed trace.

§main: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>

The main trace.

§perm: VerticalPair<DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>, DenseMatrix<Ext<<C as Config>::F, <C as Config>::EF>, &'a [Ext<<C as Config>::F, <C as Config>::EF>]>>

The permutation trace.

§perm_challenges: &'a [Ext<<C as Config>::F, <C as Config>::EF>]

The challenges for the permutation.

§cumulative_sum: Ext<<C as Config>::F, <C as Config>::EF>

The cumulative sum of the permutation.

§is_first_row: Ext<<C as Config>::F, <C as Config>::EF>

The selector for the first row.

§is_last_row: Ext<<C as Config>::F, <C as Config>::EF>

The selector for the last row.

§is_transition: Ext<<C as Config>::F, <C as Config>::EF>

The selector for the transition.

§alpha: Ext<<C as Config>::F, <C as Config>::EF>

The constraint folding challenge.

§accumulator: SymbolicExt<<C as Config>::F, <C as Config>::EF>

The accumulator for the constraint folding.

§public_values: &'a [Felt<<C as Config>::F>]

The public values.

§_marker: PhantomData<(<C as Config>::F, <C as Config>::EF)>

The marker type.

Trait Implementations

Source§

impl<'a, F, EF, PubVar, Var, Expr> AirBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, EF: ExtensionField<F>, PubVar: Into<Expr> + Copy,

Source§

type F = F

Source§

type Expr = Expr

Source§

type Var = Var

Source§

type M = VerticalPair<DenseMatrix<Var, &'a [Var]>, DenseMatrix<Var, &'a [Var]>>

Source§

fn main( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::M

Source§

fn is_first_row( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::Expr

Source§

fn is_last_row( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::Expr

Source§

fn is_transition_window( &self, size: usize, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::Expr

Source§

fn assert_zero<I>(&mut self, x: I)
where I: Into<<GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::Expr>,

Source§

fn is_transition(&self) -> Self::Expr

Source§

fn when<I>(&mut self, condition: I) -> FilteredAirBuilder<'_, Self>
where I: Into<Self::Expr>,

Returns a sub-builder whose constraints are enforced only when condition is nonzero.
Source§

fn when_ne<I1, I2>(&mut self, x: I1, y: I2) -> FilteredAirBuilder<'_, Self>
where I1: Into<Self::Expr>, I2: Into<Self::Expr>,

Returns a sub-builder whose constraints are enforced only when x != y.
Source§

fn when_first_row(&mut self) -> FilteredAirBuilder<'_, Self>

Returns a sub-builder whose constraints are enforced only on the first row.
Source§

fn when_last_row(&mut self) -> FilteredAirBuilder<'_, Self>

Returns a sub-builder whose constraints are enforced only on the last row.
Source§

fn when_transition(&mut self) -> FilteredAirBuilder<'_, Self>

Returns a sub-builder whose constraints are enforced on all rows except the last.
Source§

fn when_transition_window( &mut self, size: usize, ) -> FilteredAirBuilder<'_, Self>

Returns a sub-builder whose constraints are enforced on all rows except the last size - 1.
Source§

fn assert_one<I>(&mut self, x: I)
where I: Into<Self::Expr>,

Source§

fn assert_eq<I1, I2>(&mut self, x: I1, y: I2)
where I1: Into<Self::Expr>, I2: Into<Self::Expr>,

Source§

fn assert_bool<I>(&mut self, x: I)
where I: Into<Self::Expr>,

Assert that x is a boolean, i.e. either 0 or 1.
Source§

impl<'a, F, EF, PubVar, Var, Expr> AirBuilderWithPublicValues for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

type PublicVar = PubVar

Source§

fn public_values( &self, ) -> &[<GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilderWithPublicValues>::PublicVar]

Source§

impl<'a, F, EF, PubVar, Var, Expr> ExtensionBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

type EF = EF

Source§

type ExprEF = Expr

Source§

type VarEF = Var

Source§

fn assert_zero_ext<I>(&mut self, x: I)
where I: Into<<GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as ExtensionBuilder>::ExprEF>,

Source§

fn assert_eq_ext<I1, I2>(&mut self, x: I1, y: I2)
where I1: Into<Self::ExprEF>, I2: Into<Self::ExprEF>,

Source§

fn assert_one_ext<I>(&mut self, x: I)
where I: Into<Self::ExprEF>,

Source§

impl<'a, F, EF, PubVar, Var, Expr> MultiTableAirBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

type Sum = Var

The type of the cumulative sum.
Source§

fn cumulative_sum( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as MultiTableAirBuilder>::Sum

Returns the cumulative sum of the permutation.
Source§

impl<'a, F, EF, PubVar, Var, Expr> PairBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

fn preprocessed( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::M

Source§

impl<'a, F, EF, PubVar, Var, Expr> PermutationAirBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,

Source§

type MP = VerticalPair<DenseMatrix<Var, &'a [Var]>, DenseMatrix<Var, &'a [Var]>>

Source§

type RandomVar = Var

Source§

fn permutation( &self, ) -> <GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as PermutationAirBuilder>::MP

Source§

fn permutation_randomness( &self, ) -> &[<GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> as AirBuilder>::Var]

Source§

impl<'a, F, EF, PubVar, Var, Expr> EmptyMessageBuilder for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
where Expr: Sub<F, Output = Expr, Output = Expr> + Mul<Var, Output = Expr, Output = Expr> + Mul<F> + MulAssign<EF> + AbstractField<F = EF, Output = Expr, Output = Expr> + From<F> + Add<Var> + Add<F> + Sub<Var>, F: Field, EF: ExtensionField<F>, Var: Into<Expr> + Copy + Add<F, Output = Expr, Output = Expr, Output = Expr> + Add + Add<Expr> + Sub<F, Output = Expr, Output = Expr, Output = Expr> + Sub + Sub<Expr> + Mul<F, Output = Expr, Output = Expr, Output = Expr> + Mul + Mul<Expr> + Send + Sync, PubVar: Into<Expr> + Copy,