Output-length bounds — proof internals #
This module proves that a deterministic machine cannot produce more output bits than the number of transitions it has taken. The key support lemma says that an output cell beyond the initial head position plus the elapsed time is unchanged.
Public statements are in Complexitylib.Models.TuringMachine.OutputBounds.
theorem
Complexity.TM.output_length_le_of_reachesIn_internal
{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.