Recognizability vs. Decidability

Graduate Depth 66 in the knowledge graph I know this Set as goal
Unlocks 4 downstream topics
RE co-RE recognizable decidable complement

Core Idea

A language is decidable if and only if both it and its complement are Turing-recognizable. This gives a useful test: if a language is recognizable but its complement is not, it cannot be decidable. The class of Turing-recognizable languages (RE) and the class of co-RE languages (complements of RE) overlap exactly at the decidable languages. HALT_TM is in RE but not co-RE (its complement is not recognizable), confirming its undecidability. Understanding this landscape is essential for classifying computational problems.

Common Misconceptions

Explainer

From studying the halting problem, you know that some problems cannot be decided by any Turing machine — there is no algorithm that always halts with the correct yes-or-no answer. But the halting problem is not completely beyond computation: a Turing machine can recognize it. Given a TM description and input, you can simulate the TM and say "yes" if it halts and accepts. The catch is that if the TM loops forever, your simulator loops forever too — it never outputs "no." This asymmetry between "yes" answers and "no" answers is the heart of the distinction between recognizability and decidability.

A language is Turing-recognizable (also called recursively enumerable, or RE) if some Turing machine accepts every string in the language — though it may loop forever on strings not in the language. A language is decidable (recursive) if some Turing machine correctly accepts every string in the language and correctly rejects every string not in it, always halting. Decidability is strictly stronger: every decidable language is recognizable, but not every recognizable language is decidable.

The crucial theorem connecting these concepts involves complements. A language L is decidable if and only if both L and its complement L̄ are Turing-recognizable. The intuition is elegant: if you have a recognizer for L and a recognizer for L̄, run them in parallel on any input. One of them must eventually accept (since the input is either in L or in L̄), and whichever accepts first tells you the answer. This parallel simulation always halts, giving you a decider. Conversely, if L is decidable, you can trivially recognize both L and L̄ by running the decider.

This theorem creates a clean landscape of language classes. RE contains all Turing-recognizable languages. co-RE contains all languages whose complements are recognizable. Their intersection — languages that are both RE and co-RE — is exactly the decidable languages. The halting language HALT_TM sits in RE but outside co-RE: you can recognize it (simulate and wait for halting) but cannot recognize its complement (there is no way to confirm that a TM will loop forever). This placement immediately proves HALT_TM is undecidable, since decidability requires membership in both classes. Whenever you encounter a new problem and want to classify it, the first questions to ask are: is it in RE? Is its complement in RE? The answers place it in this hierarchy and determine whether a decision algorithm can exist.

Practice Questions 5 questions

Prerequisite Chain

Counting to 10Counting to 20Understanding ZeroThe Number ZeroCounting to FiveOne-to-One CorrespondenceCombining Small Groups Within 5Addition Within 10Addition Within 20Two-Digit Addition Without RegroupingTwo-Digit Addition with RegroupingAddition Within 100Repeated Addition as MultiplicationMultiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Two-Digit by One-Digit DivisionDivision with RemaindersRemainders and Quotients in DivisionDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueReading and Writing DecimalsComparing and Ordering DecimalsAdding and Subtracting DecimalsMultiplying DecimalsDividing DecimalsDividing FractionsMixed Number ArithmeticOrder of OperationsOperators and ExpressionsArithmetic Operators and Operator PrecedenceComparison Operators and Boolean TestsLogical Operators and Boolean AlgebraBoolean Algebra and Fundamental LawsCombinational Circuit DesignFlip-Flops and LatchesFinite State Machines (FSMs)Deterministic Finite Automata (DFA)Nondeterministic Finite Automata (NFA)Two-Way Finite AutomataNFA to DFA Conversion (Subset Construction)DFA Properties and Minimization AlgorithmsRegular Languages: Definition and CharacterizationContext-Free Grammars (CFGs)Pushdown Automata (PDA)Equivalence of CFGs and Pushdown AutomataClosure Properties of Context-Free LanguagesLimitations of Context-Free LanguagesPumping Lemma for Context-Free LanguagesTuring MachinesVariants of Turing Machines and EquivalenceUniversal Turing Machine and Self-SimulationChurch-Turing Thesis and ComputabilityDecidable LanguagesThe Halting ProblemRecognizability vs. Decidability

Longest path: 67 steps · 288 total prerequisite topics

Prerequisites (1)

Leads To (1)