Skip to main content

Crate machine_cat

Crate machine_cat 

Source
Expand description

machine-cat: generic AIR chip framework built on proof-cat.

Generalizes from plonkish-cat’s wire-indexed constraints to execution trace tables where constraint polynomials must hold at every consecutive row pair. This is the standard STARK/AIR (Algebraic Intermediate Representation) model.

§Architecture

Air::generate_trace(input) -> Trace<F>
             |
   bridge::air_prove(air, trace) -> AirProof<F>
             |
   bridge::air_verify(air, proof) -> Ok(true)

The Air trait defines columns and transition constraints. Trace is the 2D execution witness. The bridge module converts constraint satisfaction into a sumcheck proof via proof-cat.

§Modules

  • [column] – Column, ColumnCount, ColumnRef newtypes
  • air_exprAirExpr<F>: constraint expressions with row-relative addressing
  • traceTrace<F>: 2D table of field elements
  • airAir<F> trait: the core abstraction
  • fibonacciFibonacciAir: a concrete example
  • bridgeair_prove / air_verify: trace-to-sumcheck bridge

Re-exports§

pub use air::Air;
pub use air_expr::AirExpr;
pub use column::Column;
pub use column::ColumnCount;
pub use column::ColumnRef;
pub use error::Error;
pub use fibonacci::FibonacciAir;
pub use fibonacci::FibonacciInput;
pub use fibonacci::StepCount;
pub use trace::RowCount;
pub use trace::Trace;

Modules§

air
The Air trait: the core abstraction for algebraic intermediate representations.
air_expr
Symbolic constraint expressions with row-relative addressing.
bridge
Trace-to-sumcheck bridge: proving AIR constraint satisfaction.
column
Column newtypes for AIR trace tables.
error
Project-wide error type.
fibonacci
Fibonacci AIR: a concrete example of the Air trait.
trace
Execution traces: 2D tables of field elements.