The view of a configuration through a tape embedding #
For an embedding e : Fin k ↪ Fin k' of work tapes, viewCfg e cfg is the configuration of a
machine with k work tapes that sees the tapes e j of cfg. Placing it back with
Turing.MultiTapeTM.embed gives cfg (embed_viewCfg), so the run of tm.extendTapes e from
any configuration is the run of tm on the view, placed back (runFrom_extendTapes). This
generalises Turing.MultiTapeTM.oneTapeCfg and Turing.MultiTapeTM.runFrom_tapeEmb from one tape
to any embedding.
Main definitions #
Turing.MultiTapeTM.viewCfg: the view of a configuration through a tape embedding.
Main results #
Turing.MultiTapeTM.runFrom_extendTapes,Turing.MultiTapeTM.space_extendTapes_le: the run and the space of a machine run on the tapes selected by an embedding.Turing.MultiTapeTM.embed_castAdd,Turing.MultiTapeTM.embed_natAdd,Turing.MultiTapeTM.embed_castSucc: tape blocks as appended families.
Running a machine on the tapes selected by an embedding. The run is the run on the view of the configuration, placed back on the selected tapes; every other tape and head keeps its starting value.
Space of a machine run on the tapes selected by an embedding: the space of the run on the view, plus one cell for each tape the machine does not use.
Placing a configuration before a block of extra tapes gives an appended family.
Placing a configuration after a block of extra tapes gives an appended family.
Reserving one last tape is the corresponding Fin.lastCases family.