openvm_stark_backend/air_builders/
mod.rs

1use p3_air::AirBuilder;
2use p3_matrix::{dense::RowMajorMatrixView, stack::VerticalPair};
3
4pub mod debug;
5pub mod sub;
6/// AIR builder that collects the constraints expressed via the [Air](p3_air::Air) trait into
7/// a directed acyclic graph of symbolic expressions for serialization purposes.
8pub mod symbolic;
9
10pub type ViewPair<'a, T> = VerticalPair<RowMajorMatrixView<'a, T>, RowMajorMatrixView<'a, T>>;
11
12/// AIR builder that supports main trace matrix which is partitioned
13/// into sub-matrices which belong to different commitments.
14pub trait PartitionedAirBuilder: AirBuilder {
15    /// Cached main trace matrix.
16    fn cached_mains(&self) -> &[Self::M];
17    /// Common main trace matrix. Panic if there is no common main trace.
18    fn common_main(&self) -> &Self::M;
19}