Public RAM input/output ABI for the sparse TM simulator #
The public RAM input occupies the unbounded prefix R₁, …, Rₙ, so no fixed
scratch register is initially disjoint from every input. The marshaller first
captures the six registers it must clobber in finite control flow. Each leaf
then copies the raw input backward into the sparse input tape while clearing the
old prefix, repairs those six statically remembered bits, and initializes the
state, heads, and left-end markers.
Fixed registers clobbered before the backward input-copy loop reaches them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constants needed by each backward-copy iteration. They are restored inside the loop because clearing the raw prefix eventually visits these registers.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copy and clear the raw input cell selected by the cursor in R₀, convert
its public-ABI Boolean code 0/1 to the sparse tape-symbol code 1/2, write it
to the sparse input-tape address, and decrement the cursor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Backward raw-input copy.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact source/compiled instruction count of the backward-copy loop.
Equations
- Complexity.RAM.TMConfig.Sparse.marshalLoopSteps n inputLength = inputLength * ((Complexity.RAM.TMConfig.Sparse.marshalLoopOps n).length + 2) + 1
Instances For
Initial numeric allowance for public-input marshalling. It contains every raw input register and every sparse destination address used by the copy.
Equations
- Complexity.RAM.TMConfig.Sparse.marshalBaseBound n inputLength = Complexity.RAM.TMConfig.Sparse.registerBound n (inputLength + 1)
Instances For
Common sparse position/resource bound used after marshalling. The additive input-length slack absorbs the one-unit value growth of every loop body.
Equations
- Complexity.RAM.TMConfig.Sparse.marshalBound n inputLength = Complexity.RAM.TMConfig.Sparse.marshalBaseBound n inputLength + inputLength
Instances For
Logarithmic-cost width used by the public-input marshaller.
Equations
- Complexity.RAM.TMConfig.Sparse.marshalWidth n inputLength = Complexity.RAM.bitlen (Complexity.RAM.TMConfig.Sparse.marshalBound n inputLength) + 1
Instances For
Width of the smaller envelope used before the copy loop starts.
Equations
- Complexity.RAM.TMConfig.Sparse.marshalBaseWidth n inputLength = Complexity.RAM.bitlen (Complexity.RAM.TMConfig.Sparse.marshalBaseBound n inputLength) + 1
Instances For
Sparse-store space envelope used throughout public-input marshalling.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Concrete logarithmic-cost bound for the backward-copy loop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Restore one input bit remembered in the capture tree, but only when the
copy loop actually visited that position. A visited destination is necessarily
positive because the loop writes rawBit + 1; an absent position remains the
initial zero beyond the raw input prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Restore all visited scratch-position input bits remembered by a capture-tree leaf.
Equations
Instances For
Values accumulated by the capture tree, in the same reverse order used by
captureInput.
Equations
- Complexity.RAM.TMConfig.Sparse.captureValues store [] x✝ = x✝
- Complexity.RAM.TMConfig.Sparse.captureValues store (reg :: rest) x✝ = Complexity.RAM.TMConfig.Sparse.captureValues store rest ((reg, store reg) :: x✝)
Instances For
Immediate writes that initialize the semantic fields of tm.initCfg after
the raw input prefix has been relocated and cleared.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Straight-line realization of the initial-configuration writes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One capture-tree leaf: initialize scratch constants, copy backward, repair captured positions, and establish the sparse initial configuration.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Capture the initial Boolean contents of a finite register list in control
flow. The zero/nonzero branches record canonical numeric values 0 and 1.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.RAM.TMConfig.Sparse.captureInput tm [] x✝ = Complexity.RAM.TMConfig.Sparse.marshalLeaf tm x✝
Instances For
Fixed public-ABI marshaller for tm.
Equations
Instances For
Copy the halted TM output symbol at cell one into public verdict register
R₀ and shift the sparse symbol codes 1/2 back to public verdicts 0/1.
This intentionally destroys the final sparse state code.
Equations
- One or more equations did not get rendered due to their size.
Instances For
End-to-end logarithmic-cost bound from the public ABI through verdict extraction for a halting run of the given length.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Complete fixed source program from the public RAM input ABI to verdict
register R₀.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Concrete compiled public-ABI simulator.