Fair-coin machines as nondeterministic machines #
A closed fair-coin table offers one action for each coin at every running configuration. Keeping
the set of these actions gives a table with Set-valued choices
(Turing.MultiTapePTM.branches), and hence, through Turing.MultiTapeMachine.toNTM, the
nondeterministic machine Turing.MultiTapePTM.toNTM, which may take either action. A step of this
machine is a step of the table under some coin, and a halted configuration steps only to itself
on both sides. Hence the run paths of length n are exactly the replays of coin lists of length
n, and the configurations supported by a closed fair-coin run with clock n are exactly the
last configurations of these run paths.
In particular, a fair-coin machine that halts on every supported branch within its clock runs within the same time as a nondeterministic machine. Its supported outputs at that clock are exactly the outputs of its halted computation paths; halted self-loops allow their lengths to differ without changing their endpoints.
Main definitions #
Turing.MultiTapePTM.branches: the table permitting the action of either coin.Turing.MultiTapePTM.toNTM: the nondeterministic machine of a closed fair-coin table.
Main results #
Turing.MultiTapePTM.step_toNTM_iff: a step is a deterministic step under some coin.Turing.MultiTapePTM.exists_step_toNTM: no configuration is stuck.Turing.MultiTapePTM.exists_runPath_toNTM_iff: run paths are the replays of coin lists.Turing.MultiTapePTM.mem_support_runClosedConfigFrom_iff: supported configurations are the last configurations of run paths of clock length.Turing.MultiTapePTM.runsInTime_toNTM: halting on every supported branch is a time bound.Turing.MultiTapePTM.exists_computationPath_toNTM_iff: computation paths of clock length end in exactly the supported configurations.
The table of a closed fair-coin machine with Set-valued choices: the actions of both
coins.
Instances For
The nondeterministic machine of a closed fair-coin table: at a running configuration, it may take the action selected by either coin.
Instances For
The nondeterministic machine starts where the fair-coin table does.
A transition of the nondeterministic machine is the transition of the table under some coin.
A step of the nondeterministic machine is a deterministic step under some coin.
The nondeterministic machine of a fair-coin table is never stuck: every configuration has a successor.
One deterministic step under each coin of a list, on upstream configurations.
Instances For
Replaying concatenated coins pauses and resumes.
Replaying coins acts on the tapes by upstream deterministic steps.
Run paths are coin replays. The nondeterministic machine has a run path of length n from
c to c' exactly when some coin list of length n replays c to c'. Halted configurations
ignore their coins and step only to themselves.
Supported configurations are endpoints of run paths. A configuration is supported by the
closed fair-coin run with clock fuel exactly when the nondeterministic machine has a run path of
length fuel to it.
Halting on every branch is a time bound. If every configuration supported by the closed
fair-coin run with clock t is halted, then every computation path of the nondeterministic
machine with at least t steps ends halted.
The last configurations of computation paths of length t are the configurations supported
by the closed fair-coin run with clock t.