Output-length bounds #
A deterministic machine can change only the output cell currently under its
head. Consequently, a run of t transitions from a blank output tape can
produce at most t output bits.
Main results #
TM.reachesIn_output_cells_far— sufficiently distant output cells are unchangedTM.output_length_le_of_reachesIn— a run bounds its output lengthTM.ComputesInTime.output_length_le— a time bound also bounds output length
theorem
Complexity.TM.output_length_le_of_reachesIn
{n : ℕ}
{tm : TM n}
{x y : List Bool}
{c' : Cfg n tm.Q}
{t : ℕ}
(hreach : tm.reachesIn t (tm.initCfg x) c')
(hout : c'.output.HasOutput y)
:
A run from an initial configuration needs at least one transition for each bit present in its final output string.