
## miden::core::stark::verifier
| Procedure | Description |
| ----------- | ------------- |
| verify | Verifies a STARK proof.<br /><br />The purpose of the following verifier is to serve as a generic core around which a specific<br />verifier can be built. It expects the following parameters on the stack from the caller:<br /><br />1. `[D0, D1, D2, D3, D4]` which are the digests for dynamic execution of:<br />D0. `observe_aux_trace`<br />D1. `process_public_inputs`<br />D2. `process_row_ood_evaluations`<br />D3. `execute_constraint_evaluation_check`<br />D4. `compute_deep_composition_polynomial_queries`<br />2. Per-proof parameter: `log(trace_length)`<br />3. `[rd0, rd1, rd2, rd3]`: RELATION_DIGEST = hash(PROTOCOL_ID, CIRCUIT_COMMITMENT),<br />a compile-time constant that binds the Fiat-Shamir transcript to the AIR instance.<br /><br />Precondition: security parameters (num_queries, query_pow_bits, deep_pow_bits,<br />folding_pow_bits) must already be stored in memory before calling this procedure.<br /><br />The following simplifying assumptions are currently made and hardcoded:<br /><br />- The blowup factor is set to 8.<br />- The maximal allowed degree of the remainder polynomial is 127.<br />- To boost soundness, the protocol is run on a quadratic extension field and this means that<br />the OOD evaluation frame is composed of elements in a quadratic extension field i.e. tuples.<br />Similarly, elements of the auxiliary trace are quadratic extension field elements. The random<br />values for computing random linear combinations are also in this extension field.<br /><br />Inputs:  [D0, D1, D2, D3, D4, log(trace_length), rd0, rd1, rd2, rd3]<br />Outputs: []<br /> |
