A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Recursive Languages: The Decidable Languages

College Depth 86 in the knowledge graph ☐ I know this ☆ Set as goal
25topics build on this
479prerequisites beneath it
See this on the map →
Formal Models of Computation: Turing Machines and Lambda CalculusSet Theory Fundamentals+3 more→→Recursively Enumerable Languages: Semi-Decidability
decidability recursive formal-languages algorithms

Core Idea

A language is recursive (or decidable) if there exists a Turing machine that halts on every input and accepts exactly those strings in the language. Recursive languages form a proper subset of recursively enumerable languages; they represent problems that can be completely solved by algorithms.

Explainer

You already know what a Turing machine is and what it means for a machine to accept or reject a string. The class of recursive (decidable) languages is defined by a stricter requirement: not just that the machine accepts the right strings, but that it *always halts*. A decider for a language L is a Turing machine that, for every input, either accepts (if the input is in L) or rejects (if not), and always terminates. This "always halts" condition is what separates recursion from mere recognizability.

The distinction from recursively enumerable (RE) languages is crucial. An RE language only needs a machine that accepts members — it is allowed to run forever on non-members. This asymmetry means RE recognition is a weaker guarantee: you can confirm membership but never confirm non-membership (the machine might just be running slowly). A recursive language is symmetric: membership and non-membership are both decidable in finite time. Equivalently, a language is recursive if and only if both it and its complement are RE — recognizers for both sides can be run in parallel, and whichever halts first gives the answer.

Concrete examples ground the concept. The language of palindromes is recursive: a TM scans the input, compares first and last characters repeatedly, and always halts. The language of strings of the form aⁿbⁿcⁿ is recursive. Regular and context-free languages are all recursive — membership in these classes is decidable by finite automata and pushdown automata, which always halt. Contrast these with the halting problem: no TM can decide, for all pairs (M, w), whether M halts on w. The halting problem is RE but not recursive.

Recursive languages correspond precisely to the class of problems solvable by algorithms in the informal sense — the Church-Turing thesis equates "algorithmically solvable" with "recursive." This is why the class is also called decidable. When you study complexity theory next, you will refine decidability further by asking not just whether a problem is solvable, but how efficiently — with polynomial-time deciders corresponding to the class P. The recursive languages form the outer boundary of tractability; the study of what lies outside (RE but not recursive, or not even RE) is the study of undecidability.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Introduction to Propositional Logic → Introduction to Predicate Logic (First-Order Logic) → First-Order Logic Syntax → ZFC Axioms Overview → Axiom Schema of Separation → Axiom Schema of Replacement → Von Neumann Ordinals → Hereditarily Finite Sets → Recursive Definitions on Finite Sets → Natural Numbers in Set Theory: Iterative Construction → Formal Arithmetic and Expressibility → Primitive Recursive Functions → Ackermann Function → General Recursive Functions and the μ-Operator → Mu-Recursive Functions → The Church-Turing Thesis → Formal Models of Computation: Turing Machines and Lambda Calculus → Recursive Languages: The Decidable Languages

Longest path: 87 steps · 479 total prerequisite topics

Prerequisites (5)

Leads To (1)