## std::crypto::stark
| Procedure | Description |
| ----------- | ------------- |
| verify | Verify a STARK proof attesting to the correct execution of a program in the Miden VM.
The following simplifying assumptions are currently made:
- The blowup is set to 8.
- The maximal allowed degree of the remainder polynomial is 7.
- Only the input and output stacks, assumed of fixed size equal to 16, are handled in regards
to public inputs.
- There are two trace segments, main and auxiliary. It is assumed that the main trace segment
is 73 columns wide while the auxiliary trace segment is 9 columns wide.
- The OOD evaluation frame is composed of two interleaved rows, current and next, each composed
of 73 elements representing the main trace portion and 9 elements for the auxiliary trace one.
- To boost soundness, the protocol is run on a quadratic extension field and this means that
the OOD evaluation frame is composed of elements in a quadratic extension field i.e. tuples.
Similarly, elements of the auxiliary trace are quadratic extension field elements.
- The following procedure makes use of global memory address beyond 3 * 2^30 and these are
defined in `constants.masm`.
Input: [log(trace_length), num_queries, log(blowup), grinding]
Output: []
Cycles:
1- Remainder codeword size 32:
5000 + num_queries * (40 + num_fri_layers * 76 + 26 + 463) + 83 * num_fri_layers + 10 * log(trace_length) + 1633
2- Remainder codeword size 64:
5000 + num_queries * (40 + num_fri_layers * 76 + 26 + 463) + 83 * num_fri_layers + 10 * log(trace_length) + 3109
|