Semantic glue for the streaming Tseitin controller #
This proof-only module identifies the register and output updates exposed by
Machine.Internal.BufferSpecs with the corresponding pure transitions in
ThreeSAT.Streaming. No concrete Turing-machine execution is simulated here.
The results are definitional seams used by the later controller induction.
Main results #
literalBits_eq_encodeTokens_literal_internalclauseBits_eq_encodeTokens_clause_internalbufferValues_startLiteral_internalbufferValues_incrementLiteral_internalbufferValues_committed_eq_pushLiteral_internalcommitBits_eq_pushLiteral_emitted_internalbufferValues_closed_eq_closeClause_internalpendingBits_eq_closeClause_emitted_internal
Canonical encodings of emitted chunks #
The literal chunk used by emitLitTM is exactly the canonical token
encoding of one completed literal.
Simple scanner transitions #
Reading a sign bit at a clause boundary starts a zero-valued literal and does not change any register value.
Reading a unary true body bit increments exactly the current-literal
register.
Pure boundary-bit transition, stated in the form consumed by the controller token induction.
Pure unary-body transition corresponding to incRegTM currentReg.
Literal commit #
The post-register tuple of commitLiteralTM is exactly the register
representation of the pure pushLiteral result.
The bits appended by commitLiteralTM turn the old pure output
accumulator into exactly the pushLiteral accumulator.
Clause close #
Closing a pure pending window produces exactly the post-register tuple
specified by closeClauseTM.
The chunk selected by pendingBits is the canonical token encoding of
the pure pending clause's exact-three transformation.
Appending pendingBits to the represented output accumulator yields
exactly the output accumulator of Streaming.closeClause.