Exact List interpretation of native counting runs #
This module connects List interpretation of the existing shared FreeM program to the native occurrence-labelled terminal-branch counts. Repeated final configurations retain their list multiplicity. Running endpoints are filtered out; an empty running choice list remains stuck. The interpreter is an auxiliary mathematical observation, not an uncharged machine instruction.
Main definitions #
Turing.MultiTapeCTM.runList: List interpretation of the shared clocked run program.
Main results #
Turing.MultiTapeCTM.branchCount_succ: terminal counts sum over transition occurrences.Turing.MultiTapeCTM.countP_runList: List interpretation equals the native terminal count.Turing.MultiTapeCTM.haltsWithin_of_halted: terminal endpoints imply a native halting bound when stuck local views are excluded.
References #
The common program and occurrence handler are developed in MultiTape.Counting.Program.
Native labelled branches and their source credit are in MultiTape.Counting.
Interpret the existing clocked FreeM program by enumerating each finite response once.
Instances For
The closed shared-configuration interpreter is the same List, with empty channels restored.
Halting returns one occurrence of the configuration, for every remaining clock.
A live step enumerates every action occurrence before interpreting its continuation.
Pausing and resuming the shared program preserves every endpoint occurrence.
Once every endpoint has halted, extra clock steps add no choices or multiplicities.
An all-branches bound ensures every interpreted endpoint really has halted.
A non-stuck machine whose clocked endpoints all halt has the native all-branches bound. The no-stuck hypothesis matters: an empty choice list would otherwise satisfy the endpoint condition vacuously.
Each actual instruction emits at most one symbol, including on a still-running branch.
Terminal counts sum over positions in the transition list, even when actions coincide.
The List interpretation counts exactly the native terminal branches. Filtering for actual halting is essential when the clock is insufficient or a branch is stuck.
When all branches halt, counting output occurrences is exactly the native terminal count.