Bounded sparse-entry scan — definitions #
entryScanTM is a fixed machine, independent of the runtime store size. A
canonical binary remaining-count tape bounds the scan. Each iteration runs the
checked entry step; a hit leaves its readable result at 1 and halts, while a
miss restores scratch, decrements the count, and loops. Count zero halts with
the blank miss result.
Entry-match tapes plus a distinct canonical binary remaining-count tape.
- entry : EntryMatchTapes n
The nine tapes used by one decode/compare iteration.
- count : Fin n
Runtime remaining-entry count.
The count tape is distinct from every entry-step tape.
Instances For
The count tape is distinct from the encoded entry source.
The count tape is distinct from the readable match-result tape.
Finite controller phases outside the nested entry-step and predecessor machines.
- test : EntryScanPhase
- done : EntryScanPhase
Instances For
EntryScanPhase has exactly two states.
Equations
- One or more equations did not get rendered due to their size.
State type of the bounded sparse-entry controller.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fixed bounded scan controlled by a runtime canonical binary count.
The test phase halts on the empty encoding of zero. At positive count it runs
one entry step. A readable 1 result exits immediately with the decoded value;
the blank miss result enters binary predecessor and then loops.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Canonical all-blank work family used only to state the iteration bound; every tape head is at cell one.
Equations
Instances For
Work-value-independent bound for one invariant-preserving entry step.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recursive bound for scanning a whole finite store. It reserves the miss path at every entry, so it also bounds an earlier successful exit.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.RAM.RegisterStore.Machine.entryScanTime tapes queryBits [] = 1
Instances For
Exact preservation predicate outside the ten tapes owned by the bounded entry scanner.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Successful bounded scan result. The decomposition records the first matching entry, the decoded value remains readable, and the runtime count is the number of entries beginning at that hit.
- hit : EntryScanHit tapes.entry matched (List.flatMap Entry.encode rest) queryBits hitBase finalWork
- count : (finalWork tapes.count).HasBinaryNat (List.length rest + 1)
- frame : EntryScanFrame tapes initialWork finalWork
Instances For
Unsuccessful bounded scan result. Every address is certified different, the source and scratch invariant is exhausted, and the runtime count is zero.
- ready : EntryScanReady tapes.entry [] queryBits readyBase finalWork
- count : (finalWork tapes.count).HasBinaryNat 0
- frame : EntryScanFrame tapes initialWork finalWork
Instances For
Complete semantic outcome of a bounded sparse-entry scan.
Equations
- One or more equations did not get rendered due to their size.