The simulation is correct #
A configuration of the simulation, together with the output so far, is a configuration of a
machine over ℕ (Turing.MultiTapeTM.Universal.SCfg.toCfg), the zippers holding the symbols of
the work tapes. If the description holds the transition of the machine for the current key, a step
of the simulation is a step of the machine, and emits the same symbol
(Turing.MultiTapeTM.Universal.toCfg_step).
A machine with finitely many states and symbols, renamed into ℕ by Turing.MultiTapeTM.map, has a
description listing its transitions (Turing.MultiTapeTM.Universal.desc). Since runs commute with
renaming, simulating the description yields the renamed output of the machine.
Main definitions #
Turing.MultiTapeTM.Universal.desc: the description of a machine.
Main results #
Turing.MultiTapeTM.Universal.simulate_desc: the simulation agrees with the machine.
Configurations of the simulation as configurations #
The empty work tape, for missing work tapes.
Instances For
The configuration of a machine with k work tapes on the input x that s represents, with
the output out: the work tapes hold the symbols of the zippers. Missing work tapes are blank and
an input head beyond the input is clamped; on well-shaped configurations neither happens.
Instances For
A step of the simulation is a step of the machine, emitting the same symbol, if the description holds the transition for the current key.
Descriptions of machines #
The description of a machine with finitely many states and symbols, renamed into ℕ by eS
and eY: a transition for every state and every choice of read symbols.
Instances For
The run of the simulation of the description of tm, read as configurations, is the renamed
run of tm.
The simulation is correct: simulating the description of tm on the renamed input for
t steps yields the renamed output of tm after t steps, and whether tm has halted.