Turing Machines
Overview
A Turing machine is a
is the set of states, is the input alphabet not containing the blank symbol , is the tape alphabet where and , is the transition function, is the start state, is the accept state, and is the reject state, where .
A language is Turing-recognizable (also known as recursively enumerable or semidecidability) if a Turing machine recognizes it. Otherwise it is Turing-unrecognizable. A language is co-Turing-recognizable if it is the complement of a Turing-recognizable language. An analogous definition holds for co-Turing-unrecognizable.
Configurations
A configuration of a Turing machine
- The starting configuration on input
is . - An accepting configuration is a configuration with the accept state.
- A rejecting configuration is a configuration with the reject state.
- A halting configuration is either an accepting configuration or rejecting configuration.
We say configuration
A Turing machine
Computation Histories
Let
is the start configuration of on , is an accepting configuration of , and - each
legally follows from according to the rules of .
A rejecting computation history is defined analogously.
Tableaus
Let computation history
An accepting tableau is a tableau corresponding to an accepting computation history. A rejecting tableau is a tableau corresponding to a rejecting configuration history.
Dovetailing
Dovetailing refers to the simulation of two or more Turing machines in parallel on a single Turing machine. Typically it is implemented by simulating one step of each machine at a time.
In the case of infinitely many TMs, dovetailing is typically accomplished by running the first machine for one step, the first two machines for two steps, the first three machines for three steps, and so on and so forth.
Closure Operations
Let
- Union:
- Intersection:
- Concatenation:
- Kleene Star:
Model Independence
A computation model's invariance to certain changes is known as its robustness. The Turing machine is an especially robust computing model - no variation of the model is known to increase the recognizing power of the Turing machine. In addition, seemingly distinct computation models (e.g. lambda calculus) were proven to be equivalent in power.
Multi-tape
A multi-tape Turing machine is a Turing machine with several tapes. Each tape has its own head for reading and writing, with the initial input set on the first tape and other tapes starting blank. A multi-tape Turing machine with
Multi-tape Turing machines are equivalent in power to a ordinary Turing machines.
Nondeterministic
A nondeterminstic Turing machine (NTM) is a Turing machine that allows ambiguous transitions from a given state. At any point in computation, the machine may proceed according to several possibilities. An NTM has transition function:
Nondeterministic Turing machines are equivalent in power to ordinary Turing machines. They are deciders if every branch of computation halts.
Enumerators
An enumerator is a variant of a Turing machine. Like a Turing machine, it has an infinite tape and a finite state control. Unlike a Turing machine, it also has a printer as an output device for printing strings. It begins with a blank input tape and prints the strings, one at a time, in its corresponding language.
Enumerators are equivalent in power to Turing machines.
Church-Turing Thesis
By virtue of model independence, the Church-Turing thesis states that a problem has an effective method if and only if it is computable by a Turing machine. The thesis aims to formalize what an effective method (i.e. an algorithm) is.
Self-Reproduction
In the context of Turing machines, we can build a programming/quine with the aid of a quotation function. This is a computable function

The quine is denoted
= , i.e. the TM that prints out . = "On input , where is a portion of a TM: - Compute
(which is when ). - Combine the result with
to make a complete TM. - Print the description of this TM and halt."
- Compute
Kleene's Recursion Theorem
Let
