Type Definition o1vm::E

source ·
pub type E<F> = Expr<ConstantExpr<F, BerkeleyChallengeTerm>, Column<RelationColumnType>>;
Expand description

Type to represent a constraint on the individual columns of the execution trace. As a reminder, a constraint can be formally defined as a multi-variate polynomial over a finite field. The variables of the polynomial are defined as kimchi_msm::columns::Column. The expression framework defined in kimchi::circuits::expr is used to describe the multi-variate polynomials. For instance, a vanilla 3-wires PlonK constraint can be defined using the multi-variate polynomial of degree 2 P(X, Y, Z) = q_x X + q_y Y + q_m X Y + q_o Z + q_c To represent this multi-variate polynomial using the expression framework, we would use 3 different columns.