Resource bounds for the public sparse-simulator ABI -- proof internals #
The simulation core uses StepEnvelope. During the backward input copy only
the writable value scratch register can temporarily exceed the core word bound;
MarshalEnvelope records that exception while retaining the same finite index
support. The first captured-position repair reloads that scratch register from
the sparse data region, returning to the core envelope before simulation.
Temporary marshalling envelope. Every register except valueReg already
fits the core word bound; the value scratch may use the larger valueLimit.
- index_lt (index : ℕ) : store index ≠ 0 → index < registerBound n (bound + 1)
Instances For
Installing the four copy-loop constants has a uniform marshalling envelope and establishes the semantic loop invariant.
The backward-copy loop has an exact source-step count, linear logarithmic cost, and a finite sparse-store envelope.
The verdict extractor stays in the core envelope and has the standard four-width-per-basic-instruction cost bound.
A selected capture-tree leaf carries the public input through copy, repair, and initialization within one concrete resource envelope.
The full public-input marshaller has a concrete resource certificate and hands the simulation core an exact sparse representation.
End-to-end public-ABI execution with concrete time and space bounds.
Concrete compiled-RAM transfer of the end-to-end resource certificate.