Theory AlphabetEnlargement_Defs
theory AlphabetEnlargement_Defs
imports "Multitape_TM_Substrate.Multitape_Substrate"
begin
section ‹Alphabet enlargement›
text ‹Setup for the ‹alphabet_enlarge› combinator:
substrate selectors, stage-bookkeeping types, offset and
block helpers, encoder / decoder, encoder-canonicity
predicates, per-substep transition relations, the
‹alphabet_enlarge› combinator itself, the
‹ae_simulates› relation, and the eight mid-stage
invariants ‹ae_inv_ss1› through ‹ae_inv_ss8›,
plus the upstream structural lemmas, the encoder-roundtrip
chain, and the validation-phase chain culminating in
‹ae_validation_steps_bound›.
The forward-simulation chain that consumes the validation
result, and the top-level theorems
‹alphabet_enlarge_wf›,
‹alphabet_enlarge_language›, and
‹alphabet_enlarge_time›, follow further on in this
chapter.›
text ‹Substrate selectors (‹bl_tm›, ‹le_tm›, ‹delta_tm›,
‹s_tm›, ‹t_tm›, ‹r_tm›, ‹Sigma_tm›, ‹mt_tape›) live in
the ‹Multitape_Substrate› theory alongside the functional substrate
layer; they're imported transitively.›
subsection ‹Stage bookkeeping types›
text ‹Substep counter / phase indicator for ‹M'›'s state machine.
Constructors ‹VFwd› / ‹VFwdPad› / ‹VRet› mark the
validation phase: forward scan (no padded block seen yet),
forward scan after a trailing-padded block has been
observed, and return scan back to the first input block.
Constructors ‹SS1› … ‹SS8› mark the 8-substep simulation
stage of Hopcroft--Ullman
\<^cite>‹‹Theorem 12.3› in "Hopcroft1979:introduction"›; ‹SSn›
corresponds to the spec's "substep ‹n›".›