Reusable sparse-register operand lookup #
This module exposes one complete sparse-register read as a reusable TM subroutine. It loads a canonical query, scans the encoded store, copies the semantic value out, resets every scanner-owned tape, rewinds the read-only source, restores the runtime entry count, and returns to the same scanner ABI.
One loaded lookup returns the scanner to its blank-query boundary, places
exactly RegisterStore.read store address on the destination tape, and
preserves the complete external frame.
A reusable lookup through a positive-tag mutable overlay returns either the decoded tag or the corresponding immutable public-input register.
A fixed-address dense-overlay lookup synthesizes and clears its query, while returning the decoded register value at the reusable scanner boundary.
Reusable sparse-register lookup never moves the output head left.
Every prefix of a loaded lookup stays within its initial auxiliary space plus the advertised total running-time bound.
A fixed-address lookup synthesizes its query from zero, returns the scanner to its reusable boundary, places the semantic register value in the destination, and clears the temporary query source.
Fixed-address lookup never moves the output head left.
Every fixed-address lookup prefix stays within its initial auxiliary space plus the advertised total running-time bound.