Hoare contracts through work-tape lifting #
A lifted machine keeps its source's time bound and preserves arbitrary non-marker extra tapes exactly. These frame rules need no universal-machine or clock infrastructure.
Frame rule for liftTM Hoare specs (ghost-pinned extras). If
tm : TM n satisfies {pre} tm {post} [≤ b], then tm.liftTM m
satisfies the same triple on its first n work tapes while the m
extra tapes — holding arbitrary parked content extras (head ≥ 1,
reading a non-▷ symbol) — are preserved exactly, with the same
time bound. This is what lets lifted 6-tape UTM phases run while tape
6 holds the clock.
liftTM preserves Hoare specs (blank extras). Special case of
liftTM_hoareTime_frame: the extra tapes start and end as the
canonical parked blank tape (Tape.init []).move Dir3.right.