This is the prerequisite toolbox for the main topic. We define each symbol
in plain words, draw the picture it stands for, and say why the theorem needs it — in an order
where each idea rests on the one before.
Picture the tape as a strip of graph paper stretching forever in both directions, with one little
arrow (the head) pointing at a cell.
Why the topic needs it. Rice's theorem is a statement about Turing machines — the model of
"any program at all". See Turing Machines for the full construction. Everything downstream is a
question we ask about some M.
Picture Σ∗ as an ever-growing tower: length-0 has just ε; length-1 has 0,1;
length-2 has 00,01,10,11; and so on forever.
Why the topic needs it. The machine's job is to look at a string and eventually say accept
or not. The pool of possible inputs isΣ∗. Example 3 in the parent ("does M accept the
string 01?") is a question about one specific member of Σ∗.
When you feed M a string x, three things can happen:
M halts and says accept,
M halts and says reject,
Mruns forever (never stops — the tape keeps scrolling).
Why the topic needs it. Rice's theorem talks about properties of L(M) — the behavior set,
not the rulebook. When the parent writes "L(M)=∅" or "L(M) is infinite", it is
asking a question about this bucket of accepted strings.
Contrast three landmark languages you will meet again and again:
Symbol
Plain words
Picture
∅
accepts nothing
empty bucket
Σ∗
accepts everything
full bucket
{0n1n}
strings like 0011, 000111
matched pairs only
Why the topic needs it. The proof's gadget flips between "L=L(MP) (has the property)" and
"L=∅ (does not)". So ∅ is not a footnote — it is one of the two worlds
the whole reduction swings between.
Picture a program's source code saved as a text file: the running program is M; the file's
contents are ⟨M⟩. You can also bundle several things: ⟨M,w⟩ is one
string holding both a machine's code and an input string w.
Why the topic needs it. A checker is itself a machine; its input must be a string. So to ask a
machine about a machine, we hand it ⟨M⟩. The set the theorem studies is literally
LP={⟨M⟩:L(M)∈P} — a set of codes.
Why the topic needs it. "Is property P decidable?" is shorthand for "is the language LP
decidable?" — because that is the concrete yes/no set a decider would have to compute.
Why the topic needs it. Without both worlds the gadget machine has nothing to flip between, and
the proof collapses. This single condition is why the trivial cases (P=∅, P= all r.e.)
are the sole survivors that stay decidable.
Why the topic needs it. The gadget GM,w in the parent is the translator f: it maps the
input ⟨M,w⟩ to the code ⟨GM,w⟩, and the flip
L(GM,w)∈P⟺M accepts w is precisely x∈A⟺f(x)∈B.
Why the topic needs it. Rice does not re-prove impossibility from scratch — it borrows the
known impossibility of ATM and spreads it, via the reduction arrow, onto every non-trivial
property. ATM is the single fixed point everything is anchored to. (The finer refinement of
"which properties are at least recognizable" lives in Rice-Shapiro theorem.)