Keywords
AirScript defines the following keywords:
boundary_constraints
: used to declare the source section where the boundary constraints are described.first
: used to access the value of a trace column / bus at the first row of the trace. It may only be used when defining boundary constraints.last
: used to access the value of a trace column / bus at the last row of the trace. It may only be used when defining boundary constraints.null
: used to specify an empty value for a bus. It may only be used when defining boundary constraints.
case
: used to declare arms of conditional constraints.const
: used to declare constants.def
: used to define the name of a root AirScript module.enf
: used to describe a single constraint.enf match
: used to describe conditional constraints.
ev
: used to declare a transition constraint evaluator.for
: used to specify the bound variable in a list comprehensions.in
: used to specify the iterable in a list comprehension.insert
: used to insert a tuple to a bus. It may only be used when defining integrity constraints.integrity_constraints
: used to declare the source section where the integrity constraints are described.let
: used to declare intermediate variables in the boundary_constraints or integrity_constraints source sections.mod
: used to define a name of a library AirScript module.periodic_columns
: used to declare the source section where the periodic columns are declared. They may only be referenced when defining integrity constraints.prod
: used to fold a list into a single value by multiplying all of the values in the list together.public_inputs
: used to declare the source section where the public inputs are declared. They may only be referenced when defining boundary constraints.random_values
: used to declare the source section where the random values are described.remove
: used to remove a tuple from a bus. It may only be used when defining integrity constraints.sum
: used to fold a list into a single value by summing all of the values in the list.trace_columns
: used to declare the source section where the execution trace is described. They may only be referenced when defining integrity constraints.main
: used to declare the main execution trace.aux
: used to declare the auxiliary execution trace.
use
: used to import evaluators from library AirScript modules.when
: used to specify a binary selector. It may only be used when defining integrity constraints:with
: used to specify multiplicity in a LogUp bus operations, . It may only be used when defining integrity constraints.$<identifier>
: used to access random values provided by the verifier.$main
: used to access columns in the main execution trace by index.$aux
: used to access columns in the auxiliary execution trace by index.