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 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 at the last row of the trace. 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.
  • ev: used to declare a transition constraint evaluator.
  • 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.
  • 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.
  • $<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.