Turing machine
A finite control with an unbounded tape, a read/write head, and a transition rule. Inputs, machine descriptions, and outputs can all be encoded as finite strings.
REFERENCE SHEET
Distinguish computing an answer eventually from guaranteeing an answer on every input.
Before this Finite automata & regular languages, Recursion, invariants & termination
A finite control with an unbounded tape, a read/write head, and a transition rule. Inputs, machine descriptions, and outputs can all be encoded as finite strings.
A machine that halts on every input, accepting exactly the strings in its language.
A machine that accepts every member and never accepts a nonmember. On a nonmember it may reject or run forever.
A language is decidable iff both it and its complement are recognizable. For the reverse direction, dovetail their recognizers until one accepts.
A Turing machine can simulate a machine supplied as an encoded input together with its input string.
Standard single-tape and multitape Turing machines compute the same partial functions, though their time costs can differ. The Church–Turing thesis identifies this formal notion with effective computation; it is a thesis, not a formal theorem about an independently defined physical universe.
General-purpose programs can be studied through a precise abstract machine model.
Enumerating possible witnesses can recognize a property even when no terminating rejection procedure exists.
01 / Construct
Do not run one recognizer to completion before starting the other.
Alternate one simulation step of R and one of S on the input. Exactly one must eventually accept. Accept if R does; reject if S does.
02 / Classify
Simulate it.
Yes. Simulate the machine and accept when it accepts. If it rejects, reject; if it runs forever, the recognizer may also run forever. This does not establish decidability.
These sheets use this topic as a prerequisite.
Further reading and full-length treatments: