Modules
Constants
- The degrees of constraints in the general stack operations. Each operation being executed either shifts the stack to the left, right or doesn’t effect it at all. Therefore, majority of the general transtitions of a stack item would be common across the operations and composite flags were introduced to compute the individual stack item transition. A particular item lets say at depth ith in the next stack frame can be transitioned into from ith depth (no shift op) or (i+1)th depth(left shift) or (i-1)th depth(right shift) in the current frame. Therefore, the VM would require only 16 general constraints to encompass all the 16 stack positions. The last constraint checks if the top element in the stack is a binary or not.
- The number of boundary constraints required by the Stack, which is all stack positions for inputs and outputs as well as the initial values of the bookkeeping columns.
- The number of auxiliary assertions.
- The number of general constraints in the stack operations.
Functions
- Enforces constraints for the stack module and all stack operations.
- Enforces general constraints of all the stack ops.
- Enforces unique constraints of all the stack ops.
- Returns the stack’s boundary assertions for the main trace at the first step.
- Returns the stack’s boundary assertions for the main trace at the last step.
- Returns the stack’s boundary assertions for auxiliary columns at the first step.
- Returns the stack’s boundary assertions for auxiliary columns at the last step.
- Returns the number of transition constraints for the stack operations.
- Build the transition constraint degrees for the stack module and all the stack operations.