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.
Robust Machine Models and Universal Computation
1 · Prerequisites
- Construction of the Natural Numbers
- Countability and Uncountability
- Finite Counting, Factorials and Binomial Coefficients
- Formal Languages, Encodings, and Decision Problems
- Linear Recurrences and Rational Generating Functions
- Relations, Functions, and Quotients
- The ZFC Axioms and the Basic Set Constructions
- Turing Machines, Configurations, and Computation
2 · Summary
This page records the standard robustness results around Turing computability. Finite variations of the machine model do not change which languages are recognizable or which partial functions are computable, concrete machine codes can be decoded and enumerated effectively, and one fixed machine can simulate every coded machine. The closing items state the Church-Turing thesis honestly: the equivalence theorems support it, but they do not convert the informal idea of an effective procedure into a theorem by themselves.
3 · Logical flowchart
4 · Definitions, theorems and proofs
A fixed effective binary encoding of deterministic one-tape Turing machines
Definition
For this page, a coded deterministic one-tape Turing machine is presented in the normalized numeric form where:
- , and the state set is with start state , accept state , and reject state ;
- , and the tape alphabet is with blank symbol ;
- , and the input alphabet is ;
- is a total function where the last coordinate encodes the move direction by
By Deterministic one-tape Turing machines with designated accept and reject states, each such tuple determines a deterministic one-tape Turing machine, and on this page we use this numeric presentation as the machine description to be encoded.
Let denote the usual binary numeral for a natural number , with . List the source pairs in lexicographic order, and for each such pair write The description tuple of is the finite tuple of binary words where and the triples are listed in the same lexicographic source order.
For a binary word , put . For every finite nonempty tuple of binary words define one variable-arity encoder by The first recovers the arity , and the self-delimiting blocks then recover the entries. Different arities have different unary headers, so this single encoder is injective and prefix-free across all finite positive arities; for each fixed arity it is the construction from Finite tuples admit effective prefix-free binary encodings.
The chosen code of , written , is
Its total decoder first parses the unary arity and the indicated self-delimiting blocks. It then checks that every entry is a canonical binary numeral, that the first three entries give , , and , that the arity is , and that every transition triple lies in . If every check succeeds, it returns the unique coded machine determined by those data; otherwise it returns a fixed malformed-code symbol. Thus the chosen machine coding is effective in the sense of Effective binary encodings and total decoders.
Remarks
-
This coding fixes one concrete syntax for machine descriptions. Universality on this page is always relative to that syntax.
-
The coding describes machines, not the partial functions or languages they induce. Different coded machines may still compute the same mathematical function.
The chosen machine coding is injective and has a total decoder
Statement
The coding fixed in A fixed effective binary encoding of deterministic one-tape Turing machines is injective on coded deterministic one-tape Turing machines, and it has a total decoder that either reconstructs the unique coded machine or reports malformed input.
Facts & Assumptions
Given: The fixed coding scheme from A fixed effective binary encoding of deterministic one-tape Turing machines.
A coded deterministic one-tape machine is described by a finite tuple of binary numerals recording , , , and the lexicographically ordered transition triples, and its code is the result of applying the fixed tuple encoder to that description tuple, by A fixed effective binary encoding of deterministic one-tape Turing machines.
The machine definition fixes the single variable-arity encoder , whose arity header and self-delimiting entries give a total parser (A fixed effective binary encoding of deterministic one-tape Turing machines).
Proof
By [L1], each coded machine has one definite description tuple of some fixed length , and is exactly the tuple code of that tuple.
A total decoder first uses [L2] to parse the unary arity header and then exactly that many self-delimiting entries. If the parse fails or leaves unread bits, it returns the malformed token; otherwise it recovers one finite tuple of binary words.
If , then the global injectivity in [L2] gives equality of the decoded tuples, including their arities, so . By [L1], that common tuple records the same values of , , , and every transition triple for both machines. Hence .
The decoder then checks the shape demanded by [L1]: every entry must be a canonical binary numeral; the tuple must have length for the recovered first three numerals; one must have , , and ; and every transition entry must lie in . If any check fails, the decoder returns the malformed token. If all checks pass, those data determine one coded deterministic one-tape machine.
Step 2.1 proves injectivity, and steps 1.2 and 2.2 produce a total decoder. Therefore the chosen machine coding is injective and effectively decodable.
Stay-put moves can be eliminated from fixed-tape Turing-machine models
Statement
Fix . Let be a deterministic -tape Turing machine variant whose transition table is allowed to use the move set . Then there exists a deterministic -tape Turing machine using only the move set such that, on every input, has the same accept, reject, diverge, and output behavior as .
Facts & Assumptions
Given: A fixed integer and a deterministic -tape machine variant as in the statement.
A deterministic -tape Turing machine has right-infinite tapes, head positions, and one simultaneous move on each tape at each step, by Multitape and nondeterministic Turing machine variants.
For either -tape variant, extend the clauses of Languages recognized and decided by a Turing machine and Partial functions computed by a machine under fixed encodings using the machine's accept, reject, and divergence behavior and taking its first tape as the output tape.
Proof
Before simulation, uses a finite preprocessing routine to place virtual cell of every tape at physical cell . On the first tape it shifts the finite input symbols to the even cells and writes # in the intervening odd cells; every blank work tape starts with a tagged blank at cell . Tagged copies of all simulated symbols at physical cell let the control detect the left boundary. Heads on tapes not currently being prepared execute harmless right-then-left bounces, and the finite routine is padded to return every head to cell . Thus preprocessing uses only left/right moves, terminates on every finite input, and begins each simulated step with every head on an even cell.
Consider one transition of that writes , requests , and has next state . Replace it by a two-step macro through a fresh auxiliary state that remembers and the requested directions. In the first microstep, writes at the scanned even cell—using its tagged copy at physical cell —and moves head by for , by for a nonboundary , and by for a boundary-clamped . In the second microstep, each scanned odd cell is treated as a spacer whether it already contains # or is a fresh blank, and is written as #; head then moves for virtual and in the other three cases. The net displacements represent virtual right, stay, nonboundary left, and clamped left, respectively. Because and the alphabets are fixed, the finitely many tuples of spacer symbols and direction cases fit in a finite transition table.
After step 2.1, every traversed odd cell is a separator, each occupies the correct even cell, origin symbols remain tagged, and every head is on the even cell encoding its simulated successor position. Hence the represented virtual configuration is exactly the one-step result of , including left-boundary clamping and moves into previously unrepresented blank cells.
Apply the macro to every source transition. If its remembered state is halting, postpones entering that state while a finite routine copies the first tape's even cells cell-for-cell to ordinary cells , removes the origin tag, preserves internal blanks, and erases all separators and later encoded cells; unused tape heads execute harmless bounces during this cleanup. Only then does it enter the corresponding halting state. By step 3.1, induction on simulated steps gives the same acceptance, rejection, divergence, and exact first-tape output on the original unencoded input.
Therefore the matching behavior in step 4.1 means, by [F1], that preserves every recognized or decided language and every computed partial function.
One-way and two-way infinite tape conventions are equivalent
Statement
The deterministic one-tape Turing-machine convention with a right-infinite tape indexed by and the convention with a two-way infinite tape indexed by have the same computational power: they recognize and decide the same languages and compute the same partial functions on binary strings.
Facts & Assumptions
Given: The one-way and two-way tape conventions described in the statement.
Stay-put moves may be eliminated without changing accepted languages or computed partial functions, by Stay-put moves can be eliminated from fixed-tape Turing-machine models.
Extend the clauses of Languages recognized and decided by a Turing machine and Partial functions computed by a machine under fixed encodings to the two-way convention. Input occupies cells and all negative cells are initially blank. A halting two-way configuration outputs a word exactly when occupies cells and every other cell in is blank. Thus a nonblank negative cell prevents the configuration from outputting an ordinary word.
Proof
Given a right-infinite-tape machine, let a two-way simulator use tagged copies of tape symbols at cell , so it can recognize the simulated boundary. Every ordinary move is copied directly except a simulated left move at cell : after performing the write, the simulator moves right in a fresh auxiliary state and then left without changing the intervening symbol, thereby returning to cell in the requested next state. If that next state is halting, it is postponed until the return move; before any halt, a finite sweep removes the origin tag. Hence the two-way simulator never visits a negative cell and has exactly the source machine's accept, reject, divergence, and output behavior.
For the converse, enlarge the one-way simulator's finite alphabet by ordered pairs, marked copies, and special origin symbols. It converts ordinary contiguous input into a folded representation by finitely many sweeps: cell stores the two-way origin, while cell stores the ordered pair of symbols at and , initially with every negative component blank. Exactly one stored symbol or pair component is marked to record the simulated head. Because every configuration has finite tape support and one head position, initialization terminates and every folded encoding has finite support.
A simulated move changes only one stored symbol and the marked component. Moving right from to or left from to shifts the mark one cell to the right; moving left from to or right from to shifts it one cell to the left; and the four boundary transitions through the origin move the mark between cell and cell . Thus one deterministic one-tape machine can update the folded representation by a finite local macro for each source transition.
Induction on simulated steps shows that the folded machine represents the current two-way configuration exactly. On a simulated halt it postpones its own halting state and scans the finite folded encoding. If every negative component is blank, it copies the nonnegative components cell-for-cell to cells , preserving internal blanks, and erases all auxiliary cells. If some negative component is nonblank, the source has no ordinary-word output by [F1]; the simulator likewise leaves a fixed malformed pattern consisting of a blank cell followed by a nonblank auxiliary marker. It then enters the corresponding halting state. Thus it preserves acceptance, rejection, divergence, and whether—and which—ordinary word is output. If a local macro uses stay-put housekeeping, [L1] removes it without changing behavior.
Combining steps 1.1 and 3.1, the two conventions have identical behavior on every input; by [F1], they therefore recognize and decide the same languages and compute the same partial functions.
Every fixed multitape Turing machine has an equivalent one-tape simulation
Statement
Fix . For every deterministic -tape Turing machine , there is a deterministic one-tape Turing machine that, on every input, has the same accept, reject, diverge, and output behavior as .
Facts & Assumptions
Given: A fixed integer and a deterministic -tape Turing machine .
A deterministic -tape Turing machine has right-infinite tapes, head positions, and one simultaneous move on each tape at each step, by Multitape and nondeterministic Turing machine variants.
For this theorem, extend the standard terminology to a deterministic multitape machine by using its accept, reject, and divergence behavior for recognition and decision, and by treating its first tape as the output tape for partial-function computation. These are exactly the clauses of Languages recognized and decided by a Turing machine and Partial functions computed by a machine under fixed encodings, with "tape" replaced by "first tape" in the output clause.
Proof
Enlarge the simulator's finite tape alphabet by fresh delimiters and marked copies of the simulated symbols. On its ordinary input, first makes finitely many sweeps to write blocks separated by #_1,\dots,#_{k-1}. A block records the simulated tape prefix from cell through at least both its head and its rightmost nonblank cell, and exactly one recorded symbol is marked to indicate the head. The first block initially records the input (or one marked blank for empty input), and every other block initially consists of one marked blank. Thus initialization terminates and the encoding invariant represents the entire finite-support contents and head position of every simulated tape.
In one simulation cycle, the one-tape machine first scans once from left to right, reads the marked symbols, and stores in its finite control the unique transition of determined by the current state and those symbols.
The machine then makes finitely many return sweeps, rewrites each old marked symbol, and places its new mark at the simulated successor head position. A left move from simulated cell leaves the mark at that cell, matching the library's clamped left boundary. If a right move leaves the recorded prefix, shifts the delimiter and the entire encoded suffix following that block one cell right (or extends the last block into the blank suffix) and inserts a marked blank cell. These operations preserve all later blocks and restore the invariant from step 1.1.
After the passes from steps 2.1 and 3.1, the encoding represents precisely the next -tape configuration of . If the simulated state is halting, postpones entering its own halting state while it copies the first block cell-for-cell, with the mark removed and internal blank cells preserved, to tape cells beginning at , and erases every later cell, delimiter, and auxiliary symbol. It then enters the corresponding halting state. Hence its final tape is exactly the simulated first tape, not merely a compaction of its nonblank symbols. Induction on simulated steps now proves identical acceptance, rejection, divergence, and first-tape output on every original input.
Eliminate any temporary stay-put motion in the one-tape bookkeeping as follows. Replace each instruction that writes , stays, and enters state by an instruction that writes , moves right, and enters a fresh auxiliary state remembering . For every symbol read in that state, write unchanged, move left, and enter . The intermediate head position is at least , so the left move returns to the original cell even when that cell was . The tape contents and original head position are restored after the two-step macro; if is halting, it is entered only on the second step. The finite set of source instructions gives finitely many new states, and every macro terminates, preserving divergence as well as both halting outcomes and the final tape.
Hence the matching behavior in step 4.1 means, by [F1], that recognizes and decides the same languages and computes the same partial functions as .
The standard one-tape simulation of a fixed multitape machine has quadratic overhead
Statement
Fix a deterministic -tape Turing machine and the standard one-tape simulator from Every fixed multitape Turing machine has an equivalent one-tape simulation. There is a constant such that, for every input word and every , after simulating steps of on the simulator has used at most tape cells and at most time.
Facts & Assumptions
Given: A fixed deterministic -tape Turing machine , its standard one-tape simulator , an input word , and an integer .
The standard one-tape simulator stores the simulated tapes as marked blocks separated by delimiters, scans those blocks to read one simulated step, and may shift a block right when a head first enters a fresh blank cell, by Every fixed multitape Turing machine has an equivalent one-tape simulation.
Proof
After steps of , each simulated head has moved by at most cells from its initial position, so tape can have visited only the cells in an interval of length at most . Therefore the explicit block for tape in the encoding from [L1] has length , with an implied constant depending only on the fixed machine .
Summing over the fixed number of tapes, and absorbing the fixed delimiter overhead, the whole one-tape encoding after simulated steps has length at most for some constant .
One simulation cycle of at stage performs a constant number of full sweeps across that length- encoding and, when needed, one local shift of a suffix of the same order. Hence the time for the th simulated step is at most for some constant .
The initial encoding from [L1] takes time and space: the simulator makes a fixed number of sweeps over the input and writes a fixed number of blocks and delimiters. Adding this setup cost to the estimate from step 3.1 for gives for a suitable constant , including when . Together with step 2.1, this proves the claimed linear space bound and quadratic time bound.
Deterministic and nondeterministic Turing machines recognize the same languages
Statement
A language is recognized by some nondeterministic one-tape Turing machine if and only if it is recognized by some deterministic one-tape Turing machine.
Facts & Assumptions
Given: A language over some fixed input alphabet.
A nondeterministic machine accepts an input exactly when there exists a finite accepting computation branch for that input, by Accepting computations of a nondeterministic machine.
Recognizing a language means accepting exactly the words in that language, while nonmembers may be rejected or may diverge, by Languages recognized and decided by a Turing machine.
Every deterministic multitape Turing machine has an equivalent deterministic one-tape simulation, by Every fixed multitape Turing machine has an equivalent one-tape simulation.
Stay-put bookkeeping may be removed without changing accepted languages, by Stay-put moves can be eliminated from fixed-tape Turing-machine models.
Proof
If a deterministic one-tape Turing machine recognizes , then the same transition graph viewed as a nondeterministic machine with singleton choice sets also recognizes .
Conversely, suppose a nondeterministic one-tape machine recognizes . Build a deterministic multitape machine that, on input , enumerates all finite branch-choice strings of lengths . For each choice string of length , the machine simulates on for steps, following at the th branching point the th available transition when that transition exists and abandoning otherwise.
By [L1], accepts exactly when some finite accepting branch exists. If such a branch has length , its sequence of local branch choices is one of the strings tested in step 1.2, so eventually finds it and accepts. If no accepting branch exists, every tested choice string fails to end in acceptance, so never accepts. Thus recognizes the same language as .
Any temporary stay-put moves introduced while manages its work tapes can be removed by [L4], and then [L3] yields a deterministic one-tape machine recognizing the same language as .
Steps 1.1 and 3.1 prove that nondeterministic and deterministic one-tape machines recognize exactly the same languages, in the sense of [L2].
Register programs and RAM programs with unbounded natural-number memory
Definition
A register-memory state is a function with finite support, so only finitely many registers hold nonzero values (A function is a relation with and implying ; , the value , domain and codomain, The natural numbers (von Neumann)).
A register program is a finite instruction list with a program counter, acting on such states by instructions of the following kinds:
- assignment of constants or copies, such as and ;
- successor and predecessor-type updates, such as and ;
- conditional branches testing whether a named register is zero;
- halting instructions for accept, reject, or output.
A RAM program is such a program together with indirect-addressing instructions so the content of one register may be used as the address of another. On this page, the phrase RAM/register program refers to this unbounded-memory model; a pure register program is the special case without indirect addressing.
For binary input , the standard initial memory layout is A halting memory state outputs the binary word when
Remarks
-
The memory is unbounded because there are countably many possible register addresses, but every individual configuration uses only finitely many nonzero entries.
-
This item fixes a computability model, not a complexity convention. No unit-cost or logarithmic-cost claim is built into the definition.
RAM/register computation and Turing computation agree
Statement
The RAM/register model from Register programs and RAM programs with unbounded natural-number memory and the deterministic Turing-machine model compute the same partial functions on binary strings and recognize the same binary languages.
Here a RAM/register program recognizes a language when it reaches its accept instruction exactly on members, while on nonmembers it may reject or diverge. It computes a partial function when it halts with the standard output layout on inputs in the domain and diverges off the domain.
Facts & Assumptions
Given: The RAM/register model fixed in Register programs and RAM programs with unbounded natural-number memory and the deterministic Turing-machine model.
A RAM/register computation uses a finite program counter together with a finite-support natural-number memory state, standard binary input layout, and standard binary output layout, by Register programs and RAM programs with unbounded natural-number memory.
The preceding paragraph fixes the RAM recognition convention; the analogous Turing-machine convention depends on accept, reject, and divergence behavior on each binary input, by Languages recognized and decided by a Turing machine.
The preceding paragraph fixes the RAM partial-function convention; the analogous Turing-machine convention matches halting outputs on the domain and divergence off the domain, by Partial functions computed by a machine under fixed encodings.
Every deterministic multitape Turing machine has an equivalent deterministic one-tape simulation, by Every fixed multitape Turing machine has an equivalent one-tape simulation.
Proof
Let be a deterministic one-tape Turing machine. A RAM/register program can simulate by storing the current state and head position in distinguished registers and storing the finitely many nonblank tape cells in addressed memory entries. One program macro reads the currently addressed tape symbol, consults the finite transition table of , updates that symbol and the control registers, and increments or decrements the stored head position according to the chosen transition.
Conversely, let be a RAM/register program. Build a deterministic multitape Turing machine whose work tapes store the program counter, the finitely many currently nonzero memory entries as a sorted list of address-value pairs, and scratch data for arithmetic and list maintenance. Each instruction type from [L1] is implemented by a finite Turing-machine subroutine: copy and arithmetic operate on binary numerals on work tapes, indirect addressing searches the address-value list, and zero entries are inserted or deleted so that the stored list remains finite.
Induction on the number of simulated steps shows that the RAM/register program from step 1.1 reproduces the full computation of on every binary input, including acceptance, rejection, divergence, and final output. Hence every Turing-recognizable language and every Turing-computable partial function is RAM/register realizable.
Again by induction on computation length, the multitape machine from step 1.2 reproduces exactly the accept, reject, divergence, and output behavior of on the standard input layout.
By [L4], has an equivalent deterministic one-tape simulation. Combining this with steps 2.1 and 2.2, the RAM/register and deterministic Turing-machine models recognize the same languages in the sense of [L2] and compute the same partial functions in the sense of [L3].
A universal Turing machine relative to a fixed machine encoding
Definition
Fix the machine coding from A fixed effective binary encoding of deterministic one-tape Turing machines. For a binary word , write Encode a pair of binary words by the binary word If is a finite word whose symbols are natural numbers, write
A deterministic one-tape Turing machine with input alphabet is a universal Turing machine for the chosen coding if, for every coded deterministic one-tape machine , every input word , and every output word of , the following hold:
- if halts on input with output , then halts on input with output ;
- if diverges on input , then diverges on input .
Remarks
-
Universality is relative to one specified description format. Changing the coding changes which input words represent machine/input pairs.
-
The definition asks to reproduce both halting outputs and divergence; it is an interpreter, not a halting decider. No condition is imposed when the simulated machine halts in a configuration that has no output word under the page's strict output convention.
A fixed interpreter can execute one encoded machine step
Statement
For a binary word , write For binary words , write the unary prefix determines the length of , after which the unread suffix is . Encode a configuration of a coded machine by the binary word where , where , and where for . Then there is a deterministic one-tape Turing machine with input alphabet that, on input , returns when is halting and returns the code of the unique one-step successor of when is nonhalting. On malformed inputs it halts with the empty word as a fixed malformed-code output.
Facts & Assumptions
Given: A coded machine and a candidate coded configuration .
The chosen machine code has a concrete decoder: it parses a unary arity header and finitely many self-delimiting blocks, checks canonical numerals and the recovered machine-table shape, and either reconstructs the unique machine or reports malformed input, by A fixed effective binary encoding of deterministic one-tape Turing machines and The chosen machine coding is injective and has a total decoder.
A configuration records the current state, head position, and full finite tape data, and its canonical word extends through the scanned cell even when that cell is blank, by Configurations of a deterministic one-tape Turing machine.
From a nonhalting configuration, one step updates the scanned symbol, the state, and the head position according to the transition rule, with the left boundary clamped at cell , by The one-step configuration relation.
Proof
Construct as a one-tape machine that uses marked tape symbols and repeated finite sweeps to maintain delimited work zones. On input , it first parses with : it marks the initial ones, copies exactly the next bits into the machine-code zone, and copies the remaining suffix into the configuration-code zone. A missing separator or fewer than following bits is malformed. These marking, copying, comparison, and delimiter operations require only finite control and repeated one-tape sweeps.
The interpreter applies the concrete finite parser from [L1] to the machine-code zone . It then parses block-by-block using : the first recovered block gives , the next two give and , and the next blocks give . It rejects a missing or truncated block, any block that is not a canonical numeral , and any unread bits after these blocks. It also checks the configuration conditions from [L2]: , , every , and whenever . Each check is a finite comparison of delimited binary words and is performed by the same marking-and-sweep method. If the pair parse, machine parse, configuration parse, or any check fails, erases its tape and halts with output .
If the recovered state is accepting or rejecting, then [L2] says the configuration is halting. In that case copies the unchanged configuration code to the leftmost output zone, erases the other zones, and halts.
Otherwise the configuration is nonhalting. The interpreter scans the decoded transition table to find the entry for , replaces by the recorded symbol , and updates the state and head position exactly by [L3], including the clamp at cell . If the new head position is , it appends a blank block so that the scanned cell is represented. It then removes precisely the trailing blank blocks whose indices exceed both the new head position and the last nonblank cell, recomputes the new value of , and re-encodes every numeral canonically. All of these are finite scans of the delimited table and work zones.
By [L3], step 3.2 produces exactly the canonical code of the unique one-step successor. Steps 1.1 and 2.1 halt with on every malformed input, while steps 3.1 and 3.2 cover the halting and nonhalting valid configurations. Thus the single fixed deterministic one-tape machine just constructed has exactly the behavior claimed.
A universal Turing machine exists for the chosen coding
Statement
There exists a deterministic one-tape Turing machine universal for the coding fixed in A universal Turing machine relative to a fixed machine encoding.
Facts & Assumptions
Given: The coding and pairing conventions fixed in A universal Turing machine relative to a fixed machine encoding.
A universal machine for the chosen coding is one that reproduces the halting outputs and divergence of every coded machine on every coded input pair, by A universal Turing machine relative to a fixed machine encoding.
Computing a partial function means matching halting outputs on the domain and divergence off the domain under the chosen encodings, by Partial functions computed by a machine under fixed encodings.
There is a deterministic machine that executes one encoded step of a coded machine and returns the same code unchanged in the halting case, by A fixed interpreter can execute one encoded machine step.
Every deterministic multitape Turing machine has an equivalent deterministic one-tape simulation, by Every fixed multitape Turing machine has an equivalent one-tape simulation.
Proof
Build a deterministic multitape machine that, on input , first decodes the coded machine from the first component and the input word from the second component block-by-block. It then copies to one work tape, constructs the encoded initial configuration of on input on a second work tape, and reserves a third work tape for running the one-step interpreter from [L3].
The machine now iterates the interpreter from [L3]. Before each cycle it checks whether the current code represents an accepting or rejecting configuration and stops the iteration if so; otherwise it replaces that code by the one-step successor returned by the interpreter. This state check, rather than equality of successive codes, detects halting.
Induction on the number of interpreter cycles shows that the maintained configuration code is always the code of the current configuration of on input . Therefore, if halts with output , then eventually reaches the halting configuration code, decodes the represented output word , writes its binary code in its own output convention, and halts. If diverges, the iteration never reaches a halting configuration code, so diverges as well. Thus has exactly the behavior required by [L1] and [L2].
Finally, [L4] converts the deterministic multitape interpreter into an equivalent deterministic one-tape machine. By step 3.1, that one-tape machine is universal for the chosen coding.
Turing machines admit an effective enumeration
Statement
The coded deterministic one-tape Turing machines of A fixed effective binary encoding of deterministic one-tape Turing machines can be effectively enumerated.
Facts & Assumptions
Given: The fixed coding of deterministic one-tape Turing machines.
Every coded deterministic one-tape Turing machine has a binary code , by A fixed effective binary encoding of deterministic one-tape Turing machines.
The chosen coding has a total decoder and is injective, by The chosen machine coding is injective and has a total decoder.
Proof
Enumerate all binary words in shortlex order and run the total decoder from [L2] on each word. Whenever the decoder reports malformed input, output nothing; whenever it returns a coded machine, output that machine.
By [L1], every coded machine has some binary code , and shortlex enumeration eventually reaches that code. At that stage the decoder returns , so every coded machine appears somewhere in the output stream.
By injectivity in [L2], two different binary words cannot decode to the same coded machine. Therefore the procedure from step 1.1 lists each coded deterministic one-tape Turing machine exactly once and gives an effective enumeration.
The Church-Turing thesis
Definition
The Church-Turing thesis is the informal claim that every effectively calculable procedure can be carried out by a Turing machine. Equivalently, every effectively calculable partial function between a finitely encoded domain and codomain is computable in the sense of Partial functions computed by a machine under fixed encodings.
Remarks
-
This is a thesis relating an informal pre-mathematical notion, "effective calculability," to a formal model of computation.
-
Because one side of the claim is informal, the thesis is not itself a theorem of the formal Turing-machine definition.
Model-equivalence theorems support but do not prove the Church-Turing thesis
Remark
The Church-Turing thesis from The Church-Turing thesis is supported by the fact that many apparently different formal models turn out to have the same computational power. The equivalence of one-way and two-way tapes (One-way and two-way infinite tape conventions are equivalent), of nondeterministic and deterministic recognizability (Deterministic and nondeterministic Turing machines recognize the same languages), and of RAM/register programs with Turing machines (RAM/register computation and Turing computation agree), together with the existence of a universal interpreter (A universal Turing machine exists for the chosen coding), shows that the Turing model is robust under wide formal redesign.
What these theorems prove is agreement among formal notions. What they do not prove is that the informal phrase "effectively calculable" from The Church-Turing thesis has been exhausted by those formal notions. That extra bridge is the content of the thesis itself, not a consequence of the equivalence theorems alone.
FALSE: universality decides halting
Statement
False claim: every universal Turing machine decides, for each coded machine and each input word for , whether halts on input .
Facts & Assumptions
Given: The false claim above.
Every universal Turing machine decides, for each coded machine and each input word for , whether halts on input .
A universal machine must reproduce both the halting outputs and the divergence of every coded machine on every coded input, by A universal Turing machine relative to a fixed machine encoding.
A machine diverges on an input exactly when there is no halting computation history on that input, by Finite computation histories, halting computations, and divergence.
Universal Turing machines for the chosen coding exist, by A universal Turing machine exists for the chosen coding.
Refutation
Let , where the unique transition is . Its input alphabet is empty, so its unique input word is . On that input the machine keeps state forever, moves right at every step, and never reaches a halting state. Hence it has no halting computation history on , so by [L2] it diverges on .
By [L3], there exists at least one universal machine . By [L1], the run of on the coded input must reproduce the divergence from step 1.1. Hence does not halt on that instance.
A machine that fails to halt on some instance does not decide a yes-or-no halting problem on all instances. Step 2.1 therefore contradicts the false claim [A1].
5 · Examples, counterexamples and false statements
None yet.
Sources
- Richard Zach, Sets, Logic, Computation: An Open Introduction to Metalogic
- Michael Sipser, MIT 18.404J Theory of Computation, Lecture 6: TM Variants, Church-Turing Thesis
- Abrahim Ladha, Georgia Tech CS 4510, Lecture 10: Church-Turing Thesis, section 5.1
- Charles Brubaker and Lance Fortnow, Church-Turing Thesis lesson notes
- Elaine Rich, Automata Theory and Applications, Theorem 17.5
- Jean Gallier and Jocelyn Quaintance, Notes on Formal Languages, Automata, Computability, and Complexity
- A. M. Turing, On Computable Numbers, with an Application to the Entscheidungsproblem