Undecidability & the Halting Problem

the universal acceptance language A_TM

A_TM is the central object of computability theory: the set of all (machine, input) pairs where the machine accepts the input. Think of it as the universal question 'does this program, on this data, eventually say YES?' Almost every interesting question about programs can be rephrased as membership in A_TM, which is why it sits at the heart of the subject. Formally A_TM = { the encoding of (M, w) : M is a Turing machine and M accepts w }.

What makes A_TM tick is that it is recognizable but not decidable, and the recognizer is a single universal Turing machine U. To test whether (M, w) is in A_TM, U simply simulates M running on w, step by step, like an interpreter executing source code. If M accepts w, then U eventually sees the accept and says yes; if M rejects w, U sees the reject and says no. The catch is the third case: if M loops forever on w, then U also runs forever, never reaching a verdict. So U recognizes A_TM (it halts and accepts exactly when the answer is yes) but it is not a decider (it may run forever when the answer is no).

This is the cleanest illustration of the gap between recognizable and decidable. A_TM is Turing-recognizable because a recognizer is allowed to loop on strings outside the language; it just must halt and accept on strings inside it. A_TM is not Turing-decidable, as the next entry proves, because a decider would have to always halt with a correct yes or no, and that would solve a problem equivalent to halting. A_TM and the halting problem are essentially two faces of the same impossibility.

Let M be a machine that accepts a string iff it has an even number of 1s. Then (M, 1010) is in A_TM (two 1s, accepted) while (M, 111) is not (three 1s, rejected). The universal machine U decides these by simulating M; it would loop only if M itself looped.

A_TM = { (M, w) : M accepts w }: recognizable by a universal machine, but not decidable.

Accept and halt are different verdicts: a machine can halt by rejecting. A_TM asks specifically about accepting; the related set HALT asks only about halting (accept or reject), and both are undecidable.

Also called
A_TMthe acceptance problem for Turing machines通用語言 A_TM圖靈機接受問題