How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
For a fixed machine and input, valid accepting computation histories form a decidable language
Statement
Fix a deterministic one-tape Turing machine and an input word for . Then one can choose a binary encoding of configurations of and a binary encoding of finite tuples of such codes so that the set of encoded accepting computation histories of on input is a decidable language over .
Facts & Assumptions
Given: A fixed deterministic one-tape Turing machine and a fixed input word .
A language is decidable when some deterministic Turing machine halts on every input and accepts exactly the words in that language, by Languages recognized and decided by a Turing machine.
A finite computation history on input is a finite list with and for every , and it is accepting when is accepting, by Finite computation histories, halting computations, and divergence.
The proof of Finite tuples admit effective prefix-free binary encodings explicitly encodes a word by and a binary pair by . Its total decoder either rejects or returns two component words, each strictly shorter than the pair code.
By Configurations of a deterministic one-tape Turing machine, a configuration word has exactly one state symbol inserted immediately before the scanned tape symbol, and if more than one tape symbol follows that state symbol then the last of them is nonblank.
Proof
Because is fixed, the disjoint tagged alphabet is finite. Choose pairwise distinct binary blocks of one common length for these tagged symbols. Encode each configuration word by replacing its unique state symbol with the block for and each tape symbol with the block for . The common block length makes this code uniquely decodable back to the tagged configuration word.
Use the explicit pair encoding from [L3], and encode finite lists of configuration codes recursively by A decoder returns the empty list only when its entire current candidate is exactly 0; a candidate beginning with 0 and containing any further bit is malformed. When the candidate begins with 1, the decoder applies the total decoder for to the remaining suffix. If that suffix is malformed it rejects; otherwise it recovers the first configuration code and a tail-code and continues on the tail. By [L3], every successfully decoded tail-code is strictly shorter than the current candidate, so this recursion halts on every binary input and returns either one finite list or the malformed-code output.
Given a decoded tagged word, check mechanically that it contains exactly one state-tagged block, all other blocks are tape-tagged, at least one tape-tagged block follows the state-tagged block, and whenever more than one tape-tagged block follows the state-tagged block the last of them is not the blank-tagged block . By [L4], these are exactly the configuration words of : the number of tape-tagged blocks before the unique state-tagged block is the head position, the tagged tape blocks recover the finite word , and the last-block test enforces the canonical choice . Thus valid configuration codes can be parsed effectively back into configurations of .
On input a candidate binary word , first decode it by the recursive history decoder from step 1.2. If the decoder reports malformed input or the empty list, reject immediately. Otherwise step 2.1 parses each configuration code in the decoded list into a configuration, yielding . Check whether , whether each adjacent pair satisfies , and whether is accepting. Each check is finite and local: the first compares one explicit configuration with the fixed start configuration, the middle checks one transition of the fixed machine , and the last reads the final state. Accept exactly when all checks pass.
By [L2], a decoded list passes the step-3.1 test exactly when it is an accepting computation history of on input . The machine just described halts on every candidate history code, because the recursive decoder from step 1.2 terminates and the subsequent checks are finite.
Therefore there is a deterministic Turing machine that decides . By [L1], is a decidable language.
Depends on
Used by
Dependency tree · two levels
11 results within two dependency steps of this one, each drawn at its shortest distance from it. An arrow runs from a result to what uses it, so the chart reads left to right and ends at this result, which carries a heavier outline. Every node is a link to that result. Click elsewhere on the chart to enlarge it.
Sources
- Michael Sipser, MIT 18.404J Theory of Computation, Lecture 10: The Computation History Method (standard reference, not scraped)
- John E. Savage, Models of Computation: Exploring the Power of Computing, Chapter 5 (standard reference, not scraped)