When Can a Language Be Accepted by a Turing Machine?

When Can a Language Be Accepted by a Turing Machine?

Verified Sources
Sep 11, 2026

This section resolves the multiple-choice statement:

A language LL may not be accepted by a Turing machine if:

  1. it is recursively enumerable;
  2. it is recursive;
  3. LL can be enumerated by some Turing machine;
  4. None of the above.

The correct answer is:

(iv) None of the above.

A language is accepted, or recognized, by a Turing machine precisely when it is recursively enumerable. Every recursive language is also recursively enumerable, and a language that can be enumerated by a Turing machine is recursively enumerable as well.2

Key terms: Language; Recognizer; Recursive language; Enumerator

Footnotes

  1. Recursively enumerable language - Definitions of recursively enumerable, recognizable, and the distinction from recursive languages.

  2. Recognition and Enumeration, CSE 105 lecture notes - States and explains the theorem that a language is Turing-recognizable if and only if some enumerator enumerates it.

Decidability and Undecidability

1. Acceptance, Recognition, and Decision

Let MM be a Turing machine and LL a language. The language accepted by MM is

L(M)={wM accepts w}.L(M)=\{w\mid M\text{ accepts }w\}.

A Turing machine accepts or recognizes LL if:

  • for every wLw\in L, MM eventually halts and accepts;
  • for every wLw\notin L, MM may reject or run forever.

Thus, acceptance does not necessarily require the machine to halt on every input. This distinction is essential.

A machine that always halts and gives the correct answer is called a Decider. The language decided by such a machine is called recursive or decidable.

The relationship is:

The first two classes in the diagram are equal in meaning:

Turing-recognizable=Recursively enumerable=Turing-acceptable.\text{Turing-recognizable} = \text{Recursively enumerable} = \text{Turing-acceptable}.

However,

RecursiveRecursively enumerable.\text{Recursive}\subsetneq\text{Recursively enumerable}.

The inclusion is proper because some languages are recognizable but not decidable, such as the acceptance problem.

Footnotes

  1. Recursively enumerable language - Definitions of recursively enumerable, recognizable, and the distinction from recursive languages.

  2. Recursively Enumerable Languages, Turing Machines, and Decidability - Course notes on recognizable languages, undecidability, and the acceptance problem.

2. Recursively Enumerable Languages

A language LL is recursively enumerable, abbreviated RE, if there exists a Turing machine MM such that:

wL    M accepts w,w\in L \implies M\text{ accepts }w,

and

wL    M may reject w or run forever.w\notin L \implies M\text{ may reject }w\text{ or run forever}.

Therefore, every recursively enumerable language is accepted by some Turing machine.

The word “enumerable” means that the strings in LL can be generated or listed by a Turing machine. The machine is not required to determine when all strings have been printed, especially when LL is infinite.

For example, consider

L={anbnn0}.L=\{a^n b^n\mid n\geq 0\}.

A Turing machine can compare the number of aa symbols with the number of bb symbols and accept exactly the strings in LL. Since this machine can also halt on inputs not in LL, the language is not merely recursively enumerable; it is recursive.

By contrast, a language such as the halting problem language

ATM={M,wM accepts w}A_{TM}=\{\langle M,w\rangle\mid M\text{ accepts }w\}

is recursively enumerable but not recursive. A universal Turing machine can simulate MM on ww and accept if MM accepts. However, if MM never accepts, the simulation may continue forever.

Footnotes

  1. Recursively Enumerable Languages, Turing Machines, and Decidability - Course notes on recognizable languages, undecidability, and the acceptance problem.

Core Rule

A language is accepted by a Turing machine if and only if it is recursively enumerable. Therefore, option (i) describes a class of languages that can be accepted.

3. Recursive Languages

A language LL is recursive if there exists a Turing machine DD such that, for every input ww:

  • if wLw\in L, DD halts and accepts;
  • if wLw\notin L, DD halts and rejects.

The machine must halt in both cases. Consequently, every recursive language is accepted by a Turing machine.

Formally,

L recursive    L recursively enumerable.L\text{ recursive} \implies L\text{ recursively enumerable}.

A decider is automatically a recognizer: whenever wLw\in L, the decider accepts. The additional guarantee is that the decider also halts and rejects whenever wLw\notin L.2

PropertyRecognizerDecider
Accepts strings in LLYesYes
Rejects strings outside LLNot necessarilyYes
May loop foreverYesNo
Language classRecursively enumerableRecursive

Thus, option (ii) cannot be correct. A recursive language is always accepted by some Turing machine.

Footnotes

  1. Recursively enumerable language - Definitions of recursively enumerable, recognizable, and the distinction from recursive languages.

  2. Recursive and Recursively Enumerable Languages - Comparison of recognizers, deciders, recursive languages, and recursively enumerable languages.

Determine Whether a Language Is Accepted

  1. 1
    Step 1

    Determine whether the statement describes a recursively enumerable, recursive, or non-recursively-enumerable language.

  2. 2
    Step 2

    If a Turing machine is guaranteed to accept every string in the language, then the language is recursively enumerable and is accepted by that machine.

  3. 3
    Step 3

    If the machine must halt on every input, the language is recursive. Since every recursive language is recursively enumerable, it is also accepted.

  4. 4
    Step 4

    If a Turing machine can enumerate exactly the strings in the language, then an input recognizer can simulate the enumerator and accept when the input appears.

  5. 5
    Step 5

    Only a language that is not recursively enumerable cannot be accepted by any Turing machine. Therefore, among the listed choices, the correct answer is option (iv).

4. Enumeration and Acceptance

An Enumerator is a Turing machine with an output device that prints strings. It enumerates LL if it prints every string in LL and never prints a string outside LL.

A fundamental theorem states:

L is recursively enumerable    some enumerator enumerates L.L\text{ is recursively enumerable} \iff \text{some enumerator enumerates }L.

From an enumerator to a recognizer

Suppose an enumerator EE prints exactly the strings in LL. Construct a recognizer MM:

  1. Run EE.
  2. Whenever EE prints a string, compare it with the input ww.
  3. If the printed string equals ww, accept.

If wLw\in L, the enumerator eventually prints ww, so MM accepts. If wLw\notin L, EE never prints ww, so MM may run forever. Therefore, MM recognizes LL.

From a recognizer to an enumerator

Suppose MM recognizes LL. List all strings over the alphabet in an effective order:

w1,w2,w3,w_1,w_2,w_3,\ldots

The enumerator simulates MM on these strings in a dovetailed manner:

  • simulate MM on w1w_1 for one step;
  • simulate MM on w1,w2w_1,w_2 for one step each;
  • simulate MM on w1,w2,w3w_1,w_2,w_3 for one step each;
  • continue indefinitely;
  • print wiw_i whenever the simulation of MM accepts it.

Dovetailing prevents one nonterminating computation from blocking all later computations. Every accepted string is eventually printed.

Therefore, option (iii) also describes a language that can be accepted by a Turing machine.

Footnotes

  1. Recognition and Enumeration, CSE 105 lecture notes - States and explains the theorem that a language is Turing-recognizable if and only if some enumerator enumerates it. 2

Do Not Confuse Acceptance with Decidability

A recognizer may loop forever on strings outside its language. A decider must halt on every input. Acceptance requires eventual acceptance of members, not guaranteed rejection of nonmembers.

5. Evaluating the Options

Option (i): LL is recursively enumerable

This statement means that some Turing machine recognizes LL. By definition, every string in LL is eventually accepted.

Therefore, option (i) is not the answer.

Option (ii): LL is recursive

A recursive language has a decider. A decider is also a recognizer because it accepts every member of the language.

Therefore, option (ii) is not the answer.

Option (iii): LL can be enumerated by some Turing machine

The enumeration theorem states:

L can be enumerated    L is recursively enumerable    L is accepted by a Turing machine.L\text{ can be enumerated} \iff L\text{ is recursively enumerable} \iff L\text{ is accepted by a Turing machine}.

Therefore, option (iii) is not the answer.

Option (iv): None of the above

Since each of options (i), (ii), and (iii) describes a language accepted by a Turing machine, the correct answer is:

(iv) None of the above\boxed{\text{(iv) None of the above}}

More precisely, a language may fail to be accepted by any Turing machine only when it is not recursively enumerable.2

Footnotes

  1. Recursively enumerable language - Definitions of recursively enumerable, recognizable, and the distinction from recursive languages.

  2. Recognition and Enumeration, CSE 105 lecture notes - States and explains the theorem that a language is Turing-recognizable if and only if some enumerator enumerates it.

Relationship Between Language Classes

Conceptual comparison of guarantees, not numerical measurements

Common Confusions and Edge Cases

Acceptance and Enumerability

1 / 6
Question · Term

What does it mean for a Turing machine to recognize $L$?

Click to reveal
Answer · Definition

It accepts every string in LL. On strings outside LL, it may reject or run forever.

6. Final Answer

The statement asks when a language may not be accepted by a Turing machine.

  • If LL is recursively enumerable, it is accepted.
  • If LL is recursive, it is accepted.
  • If LL can be enumerated by a Turing machine, it is accepted because enumerability is equivalent to recursive enumerability.
  • Therefore, none of options (i), (ii), or (iii) identifies a language that cannot be accepted.
Correct answer: (iv) None of the above\boxed{\text{Correct answer: (iv) None of the above}}

A more exact formulation is:

A language LL cannot be accepted by any Turing machine if and only if LL is not recursively enumerable.

Knowledge Check

Question 1 of 5
Q1Single choice

Which class of languages is exactly the class of languages accepted by some Turing machine?