Definition
Recursive Language
A language
is recursive (or decidable) if there exists a total Turing machine such that, for every input , halts and:
- if
, accepts ; - if
, rejects . Equivalently:
- The characteristic function
is computable. - Both
and its complement are recursively enumerable. - There exists a program that, given any string
, decides membership in finite time.
Equivalence with Decision Problem
Decision Problem
Recursive Language Let a decision problem
have instances in some set and “yes”-instances . Fix a computable encoding
. Define the language of the problem: Then:
Decision Problem
Recursive Language
: If has a decider , build a Turing machine that on input :
: decode to ; if decoding fails, reject; else run and accept iff “yes”.
: If has a decider , then the algorithm for is:
: on instance , run on and answer “yes” iff accepts.