Split a paired input onto work tapes #
pairSplitCoreTM is the deterministic machine-level inverse of the neutral
pair codec. On a canonical input pair x y, it writes x and y as
canonical binary prefixes on two distinct work tapes in exact time
2 * |x| + |y| + 4.
This is intentionally a canonical-pair primitive, not a total recognizer for
the image of pair: malformed inputs may share its halting state. A client
requiring rejecting semantics for arbitrary outer strings must use a parser
with a distinct failure result.
Main results #
pairSplitCoreTM_reachesIn_initCfg— exact initialized endpoint with frames.pairSplitCoreTM_from_init_initTape_move_right— exact endpoint semantics.pairSplitCoreTM_hoareTime_prefix_marker_frame— binary prefixes, left markers, and preserved frames.pairSplitCoreTM_hoareTime_prefix_frame— compatibility binary-prefix specification with frames.pairSplitCoreTM_hoareTime_prefix— compact binary-prefix specification.pairSplitCoreTM_hoareTime_frameandpairSplitCoreTM_hoareTime— compatibleHasOutputspecifications.
Exact pair-split correctness from the genuine machine initialization. The target work tapes contain the decoded components, while every unrelated work tape and the output are the canonical started blank tape.
Core correctness from the already-started .scanX phase. This preserves
the theorem name formerly exposed from the NP-internal implementation.
One phase-composition step from .init to .scanX, preserving the
already-started input and target work tapes.
Starting from .init with a canonical pair and two empty started work
tapes, pairSplitCoreTM halts in its exact advertised time. The two target
tapes contain the decoded components and finish immediately after them.
Marker-aware frame-preserving specification. The decoded components are canonical binary prefixes with their left markers intact, and the splitter preserves an arbitrary off-start output tape and every arbitrary off-start work tape outside the two targets.
Frame-preserving compositional specification. The decoded components are canonical binary prefixes, and the splitter preserves an arbitrary off-start output tape and every arbitrary off-start work tape outside the two targets.
Frame-preserving compositional specification exposing the decoded heads
and HasOutput facts. The prefix-strengthened form is
pairSplitCoreTM_hoareTime_prefix_frame.
Compositional canonical-pair specification. The target work tapes begin
empty at cell 1; on exit they are canonical binary prefixes for the two
decoded strings. This compact theorem makes no claim about unrelated work
tapes or the output; use pairSplitCoreTM_hoareTime_prefix_frame when those
frames must be preserved.
Compact canonical-pair specification exposing the decoded heads and
HasOutput facts. The prefix-strengthened form is
pairSplitCoreTM_hoareTime_prefix.