Definition

A formal language is recursively enumerable (or Turing-recognizable) if there exists a Turing machine such that:

  1. If , halts and accepts .
  2. If , either halts and rejects or loops forever.

Enumerator

Equivalently, is RE if there exists a deterministic Turing machine (an enumerator) that lists all strings in (possibly with repetition) on an output tape.

Relation to Decidability

If a language and its complement are both RE, then is decidable.