Tape head visitation and space-usage lemmas for multi-input machines #
This file collects lemmas about the set of positions visited by a work-tape head
(MultiInputTM.visitedByTapeHead) and the resulting space-usage measures
(MultiInputTM.spaceUsedByTape, MultiInputTM.spaceUsed) and how the tape head positions
influence the cells that are modified on a tape.
It is the multi-input counterpart, lemma for lemma, of the vendored CSLib file
MIPRE.Cslib.Computability.Machines.Turing.MultiTape.TapeLemmas.
If the head of work tape d is not at position z, then the tape does not change
there.
The set of positions visited by a tape head is monotone in the number of steps.
Starting from configuration cfg, every position between the initial head position of
tape d and the one after t steps is part of the "visited set" at step t.
If a work tape cell is changed after t steps, it must have been visited by the tape
head.
Every position visited by the head of tape d lies within spaceUsedByTape … d of
the head's starting position.
Every non-blank cell on work tape d lies within spaceUsedByTape … d t of the
origin.
The number of cells touched by a single work tape grows by at most one each step.
The space used by a computation is bounded linearly by the number of steps.
The space used by a single tape is monotone in the number of steps.