Ordinary finite verifiers compiled to witness machines #
The compiler first realizes the witness bound on ordinary tapes, then stores a finite certificate, builds a canonical pair, and runs the ordinary verifier. Setup scratch and verifier scratch are separate blocks. Only the external source stream is uncharged; the stored certificate and paired input are charged.
Charged tape count: private setup block, verifier work, pair, and certificate.
Equations
- Complexity.WitnessTM.Verifier.tapes r k = r + 1 + (k + 2)
Instances For
The unary counter remains at the end of the setup's private block.
Equations
- Complexity.WitnessTM.Verifier.counterIdx r k = Fin.castAdd (k + 2) (Fin.last r)
Instances For
The finite maximum accommodates time and space bounds without monotonicity.
Equations
- Complexity.WitnessTM.Verifier.window bound resource n = (Finset.range (bound n + 1)).sup fun (m : ℕ) => resource (2 * n + 2 + m)
Instances For
Exact phase-budget expression; all setup and handoff costs are included.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conservative phase-space budget, including stored certificate, relocated input, setup scratch, and output travel, but no verifier-time contribution.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bounded existential language of an ordinary paired-input verifier.
Equations
Instances For
Once a certificate is stored, pair construction and verification are ordinary deterministic phases with no further witness-stream access.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The only witness-consuming prefix: realize the numeric bound, then store a finite certificate. Later verification can reread that charged copy freely.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ordinary finite-verifier compiler. Every data-bearing intermediate tape is charged; the sole free tape provides online choices for materialization.