Recursively enumerable set

In computability theory, often less suggestively called recursion theory, a countable set S is called recursively enumerable, computably enumerable, semi-decidable or provable if

Or, equivalently,

Common-programming-sense should suggest how to convert either of these algorithms to the other, thus showing the equivalence of the existence of either with the existence of the other. The first condition suggests why the term semi-decidable is sometimes used; the second suggests why computably enumerable is used.

Contents

Definition

A subset S of the natural numbers is called recursively enumerable if there exists a computable function

f:\subseteq \mathbb{N} \to \mathbb{N}

with

f(x) =  \left\{\begin{matrix}  0 &\mbox{if}\ x \in S \\ \mbox{does not halt} &\mbox{if}\ x \notin S \end{matrix}\right.

In other words the set S is recursively enumerable iff there exists a computable function f with domain(f) = S.

Notes

If A and B are recursively enumerable sets then AB and AB are recursively enumerable sets. A set A is a recursive set iff both A and the complement of A are recursively enumerable sets. The preimage of a recursively enumerable set under a computable function is a recursively enumerable set.

Examples

See also

See also: Recursively enumerable set, Algorithm, Alphabet, Complement (set theory), Computability theory, Computable function, Countable, Diophantine set, Domain (mathematics), Formal language