Pair-splitting machine — proof internals #
This file proves the stepwise decoding and exact-time correctness facts for
pairSplitCoreTM. Stable statements are re-exposed by
Complexitylib.Models.TuringMachine.Subroutines.PairSplit.
Core correctness for valid started inputs. Beginning in .scanX with
pair x y on the input tape and empty started work tapes, pairSplitCoreTM
halts after decoding the doubled x prefix onto xIdx and copying the
suffix y onto yIdx. The two work heads finish just past the strings they
wrote.
Variant of the init step for phase composition: if the input tape and the
two tracked work tapes are already positioned past ▷, the .init state
advances to .scanX without changing those tapes.
Starting from .init with pair x y already on a started input tape and
empty started work tapes, pairSplitCoreTM halts within pairSplitCoreTime,
leaving xIdx holding x and yIdx holding y, with both heads just past
the written strings.
Every lifted pair-split trace preserves an off-start work tape other than the two destination tapes.
Exact pair-split correctness from the machine's genuine initial configuration. In addition to decoding the target tapes, the theorem frames the output and every unrelated work tape as started and blank.