Turing-Recognizable Language

Definition. A language AA is Turing-recognizable if A=L(M)A = L(M) for some Turing machine MM, that is, if MM accepts exactly the strings in AA. On strings not in AA, MM may reject or may run forever.

The permission to run forever is the whole difference from decidable. Every decidable language is Turing-recognizable; the converse fails, as Lecture 7 shows with the halting problem. A language is Turing-recognizable exactly when some enumerator prints it, and if both AA and its complement are Turing-recognizable then AA is decidable, proved by running the two machines in parallel. Also called recursively enumerable in older sources.

Updated
Copyright © 2026 Jared Coleman. All rights reserved.