Modules
Structs
- The intermediate representation of a complete AirScript program
- The AlgebraicGraph is a directed acyclic graph used to represent integrity constraints. To store it compactly, it is represented as a vector of nodes where each node references other nodes by their index in the vector.
- A ConstraintRoot represents the entry node of a subgraph within the AlgebraicGraph representing a constraint. It also contains the ConstraintDomain for the constraint, which is the domain against which the constraint should be applied.
- Constraints is the algebraic graph representation of all the constraints in an [AirScript]. The graph contains all of the constraints, each of which is a subgraph consisting of all the expressions involved in evaluating the constraint, including constants, references to the trace, public inputs, random values, and periodic columns.
- Represents any type of identifier in AirScript
- Degree descriptor of an integrity constraint.
- A node in the AlgebraicGraph
- A unique identifier for a node in an AlgebraicGraph
- Declaration of a periodic column in an AirScript module.
- Represents an access of a PeriodicColumn, similar in nature to TraceAccess
- Declaration of a public input for an AirScript program.
- Represents an access of a PublicInput, similar in nature to TraceAccess
- Represents an identifier qualified with both its parent module and namespace.
- A symbol is an interned string.
- TraceAccess is like [SymbolAccess], but is used to describe an access to a specific trace column or columns.
Enums
- Represents the way an identifier is accessed/referenced in the source.
- Describes the type of boundary in the boundary constraint.
- ConstraintDomain corresponds to the domain over which a constraint is applied.
- Operation defines the various node types represented in the AlgebraicGraph.
- Represents a scalar value in the AlgebraicGraph
Constants
- The auxiliary trace segment.
- The offset of the “current” row during constraint evaluation.
- The default segment against which a constraint is applied is the main trace segment.
- The minimum cycle length of a periodic column
Traits
- This trait should be implemented on types which handle generating code from AirScript IR
Type Definitions
- The id of a trace segment is its index in the trace_columns declaration