Trait AuxBuilder
pub trait AuxBuilder<F, EF>where
F: Field,
EF: ExtensionField<F>,{
// Required method
fn build_aux_trace(
&self,
main: &DenseMatrix<F>,
challenges: &[EF],
) -> (DenseMatrix<EF>, Vec<EF>);
}Expand description
Builder for constructing the auxiliary trace from a main trace and challenges.
Decoupled from LiftedAir so that prover-side trace
construction is not part of the AIR trait. Each prover instance can supply
its own AuxBuilder.
Required Methods§
fn build_aux_trace(
&self,
main: &DenseMatrix<F>,
challenges: &[EF],
) -> (DenseMatrix<EF>, Vec<EF>)
fn build_aux_trace( &self, main: &DenseMatrix<F>, challenges: &[EF], ) -> (DenseMatrix<EF>, Vec<EF>)
Build the auxiliary trace and return aux values.
§Arguments
main: The main trace matrixchallenges: Extension-field challenges for aux trace construction
§Returns
(aux_trace, aux_values) where:
aux_trace: The auxiliary trace matrix (EF columns)aux_values: Extension-field scalars committed to the Fiat-Shamir transcript. Their meaning is AIR-defined — typically the aux trace’s last row, but the protocol does not require this. The AIR’sevalshould constrain how they relate to the committed trace, andreduced_aux_valuesuses them for cross-AIR bus identity checking.