Hubbry Logo
Computably enumerable setComputably enumerable setMain
Open search
Computably enumerable set
Community hub
Computably enumerable set
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Computably enumerable set
Computably enumerable set
from Wikipedia

In computability theory, a set S of natural numbers is called computably enumerable (c.e.), recursively enumerable (r.e.), semidecidable, partially decidable, listable, provable or Turing-recognizable if:

  • There is an algorithm such that the set of input numbers for which the algorithm halts is exactly S.

Or, equivalently,

  • There is an algorithm that enumerates the members of S. That means that its output is a list of all the members of S: s1, s2, s3, ... . If S is infinite, this algorithm will run forever, but each element of S will be returned after a finite amount of time. Note that these elements do not have to be listed in a particular way, say from smallest to largest.

The first condition suggests why the term semidecidable is sometimes used. More precisely, if a number is in the set, one can decide this by running the algorithm, but if the number is not in the set, the algorithm can run forever, and no information is returned. A set that is "completely decidable" is a computable set. The second condition suggests why computably enumerable is used. The abbreviations c.e. and r.e. are often used, even in print, instead of the full phrase.

In computational complexity theory, the complexity class containing all computably enumerable sets is RE. In recursion theory, the lattice of c.e. sets under inclusion is denoted .

Definition

[edit]

A set S of natural numbers is called computably enumerable if there is a partial computable function whose domain is exactly S, meaning that the function is defined if and only if its input is a member of S.

Equivalent formulations

[edit]

The following are all equivalent properties of a set S of natural numbers:

Semidecidability:
  • The set S is computably enumerable. That is, S is the domain (co-range) of a partial computable function.
  • The set S is (referring to the arithmetical hierarchy).[1]
  • There is a partial computable function f such that:
Enumerability:
  • The set S is the range of a partial computable function.
  • The set S is the range of a total computable function, or empty. If S is infinite, the function can be chosen to be injective.
  • The set S is the range of a primitive recursive function or empty. Even if S is infinite, repetition of values may be necessary in this case.
Diophantine:
  • There is a polynomial p with integer coefficients and variables x, a, b, c, d, e, f, g, h, i ranging over the natural numbers such that (The number of bound variables in this definition is the best known so far; it might be that a lower number can be used to define all Diophantine sets.)
  • There is a polynomial from the integers to the integers such that the set S contains exactly the non-negative numbers in its range.

The equivalence of semidecidability and enumerability can be obtained by the technique of dovetailing.

The Diophantine characterizations of a computably enumerable set, while not as straightforward or intuitive as the first definitions, were found by Yuri Matiyasevich as part of the negative solution to Hilbert's Tenth Problem. Diophantine sets predate recursion theory and are therefore historically the first way to describe these sets (although this equivalence was only remarked more than three decades after the introduction of computably enumerable sets).

A computable enumeration of the set of all Turing machines halting on a fixed input: Simulate all Turing machines (enumerated on vertical axis) step by step (horizontal axis), using the shown diagonalization scheduling. If a machine terminates, print its number. This way, the number of each terminating machine is eventually printed. In the example, the algorithm prints "9, 13, 4, 15, 12, 18, 6, 2, 8, 0, ..."

Examples

[edit]
  • Every computable set is computably enumerable, but it is not true that every computably enumerable set is computable. For computable sets, the algorithm must also say if an input is not in the set – this is not required of computably enumerable sets.
  • A recursively enumerable language is a computably enumerable subset of a formal language.
  • The set of all provable sentences in an effectively presented axiomatic system is a computably enumerable set.
  • Matiyasevich's theorem states that every computably enumerable set is a Diophantine set (the converse is trivially true).
  • The simple sets are computably enumerable but not computable.
  • The creative sets are computably enumerable but not computable.
  • Any productive set is not computably enumerable.
  • Given a Gödel numbering of the computable functions, the set (where is the Cantor pairing function and indicates is defined) is computably enumerable (cf. picture for a fixed x). This set encodes the halting problem as it describes the input parameters for which each Turing machine halts.
  • Given a Gödel numbering of the computable functions, the set is computably enumerable. This set encodes the problem of deciding a function value.
  • Given a partial function f from the natural numbers into the natural numbers, f is a partial computable function if and only if the graph of f, that is, the set of all pairs such that f(x) is defined, is computably enumerable.

Properties

[edit]

If A and B are computably enumerable sets then AB, AB and A × B (with the ordered pair of natural numbers mapped to a single natural number with the Cantor pairing function) are computably enumerable sets. The preimage of a computably enumerable set under a partial computable function is a computably enumerable set.

A set is called co-computably-enumerable or co-c.e. if its complement is computably enumerable. Equivalently, a set is co-r.e. if and only if it is at level of the arithmetical hierarchy. The complexity class of co-computably-enumerable sets is denoted co-RE.

A set A is computable if and only if both A and the complement of A are computably enumerable.

Some pairs of computably enumerable sets are effectively separable and some are not.

Remarks

[edit]

According to the Church–Turing thesis, any effectively calculable function is calculable by a Turing machine, and thus a set S is computably enumerable if and only if there is some algorithm which yields an enumeration of S. This cannot be taken as a formal definition, however, because the Church–Turing thesis is an informal conjecture rather than a formal axiom.

The definition of a computably enumerable set as the domain of a partial function, rather than the range of a total computable function, is common in contemporary texts. This choice is motivated by the fact that in generalized recursion theories, such as α-recursion theory, the definition corresponding to domains has been found to be more natural. Other texts use the definition in terms of enumerations, which is equivalent for computably enumerable sets.

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
In , a computably enumerable set (c.e. set), also known as a recursively enumerable set, is a of the natural numbers that is either empty or the range of a total , allowing for repetitions in the enumeration. Equivalently, it is the domain of a partial , meaning there exists a that halts precisely on inputs in the set and may loop indefinitely on others. This class of sets captures the notion of semi-decidability, where membership can be verified algorithmically if true, but non-membership may not be detectable in finite time. Several equivalent characterizations highlight the foundational role of c.e. sets in recursion theory. A set ANA \subseteq \mathbb{N} is c.e. if there is a computable relation RNk+1R \subseteq \mathbb{N}^{k+1} such that xAx \in A if and only if there exist witnesses y1,,yky_1, \dots, y_k satisfying R(x,y1,,yk)R(x, y_1, \dots, y_k). It can also be approximated by a computable sequence of finite sets (As)sN(A_s)_{s \in \mathbb{N}} that is non-decreasing, starts empty, and whose union is AA, with at most one new element added per stage. The collection of all c.e. sets is effectively enumerable, indexed as We=\dom(ϕe)W_e = \dom(\phi_e), where ϕe\phi_e is the ee-th partial computable function under a standard . C.e. sets form a central in understanding the , as every computable (recursive) set is c.e., but the converse fails: a set is computable if and only if both it and its complement are c.e.. The , defined as K={e:ϕe(e)}K = \{ e : \phi_e(e) \downarrow \}, exemplifies a c.e. set that is not computable, establishing the incompleteness of any effective . Basic operations preserve c.e.-ness: the union and of two c.e. sets are c.e., and every infinite c.e. set contains an infinite computable . These properties underpin advanced results, such as the arithmetic hierarchy, where c.e. sets coincide with the Σ10\Sigma_1^0 class.

Core Definitions

Enumeration via Turing Machines

A set SNS \subseteq \mathbb{N} is computably enumerable if it is empty or there exists a MM that computes a total recursive function f:NNf: \mathbb{N} \to \mathbb{N} such that the range of ff is exactly SS. In this setup, MM runs indefinitely on successive inputs 0,1,2,0, 1, 2, \dots, producing the sequence f(0),f(1),f(2),f(0), f(1), f(2), \dots, where every element of SS appears at least once (and possibly finitely many times if duplicates occur), and no element outside SS is produced. The enumeration process relies on MM systematically generating this sequence without halting, ensuring completeness by covering all of SS over infinite time, though the order need not be increasing or unique. For effective implementation, MM can output each f(k)f(k) as it computes it, allowing observers to collect the listing progressively; repetitions are permissible since the focus is on exhaustiveness rather than efficiency or uniqueness. This range-based view contrasts with input-focused characterizations by emphasizing output generation via a total computable mapping. The concept originated in the foundational work of and during the 1930s, as part of efforts to formalize and address the posed by . Church's development of recursive functions and Turing's introduction of Turing machines provided equivalent models that captured enumerable sets, laying the groundwork for modern . Formally, for a MeM_e with index ee, the enumerated set is S={yNxN(Te(x,y))}S = \{ y \in \mathbb{N} \mid \exists x \in \mathbb{N} \, (T_e(x, y) \downarrow) \}, where TeT_e is a total primitive recursive relation indicating that MeM_e on input xx outputs yy in finitely many steps; this ensures SS is precisely the range without extraneous elements.

Domain of Partial Recursive Functions

A set SNS \subseteq \mathbb{N} of natural numbers is computably enumerable if there exists an index ee such that SS is precisely the domain of the partial recursive function ϕe\phi_e, meaning ϕe(x)\phi_e(x) \downarrow (converges to an output) if and only if xSx \in S. This characterization, introduced in the foundational development of recursion theory, identifies computably enumerable sets with the collection of inputs on which some partial recursive computation halts. Partial recursive functions are intimately connected to Turing machines: every partial recursive function ϕe\phi_e can be computed by a MeM_e, and the domain of ϕe\phi_e consists exactly of those inputs on which MeM_e halts. This equivalence, established through Church's thesis, underscores that the halting behavior of defines the same class of sets as the domains of partial recursive functions. The equivalence between this domain-based definition and direct enumeration arises from the ability to list the elements of any such domain systematically. Given S=\dom(ϕe)S = \dom(\phi_e), one can enumerate SS by dovetailing simulations of ϕe\phi_e on all inputs: at stage nn, perform nn steps of for each of the first nn inputs (i.e., inputs 0 through n1n-1), and whenever a computation halts, output that input. This process outputs each element of SS (possibly with repetitions, which can be eliminated via a primitive recursive check for prior outputs) in finite time, as every halting will eventually be simulated sufficiently long to converge. In contrast to total recursive functions, whose domains are always all of N\mathbb{N} and thus characterize the empty set or its complement in the context of recursive sets, partial recursive functions permit divergence (non-halting) precisely on elements outside SS. This asymmetry enables the semi-decidability of membership in SS, as one can verify presence via halting but cannot confirm absence in general.

Equivalent Characterizations

Semi-Decidability

A computably enumerable set SNS \subseteq \mathbb{N} is formally characterized by the existence of a MM that semi-decides membership in SS: on input xx, MM halts xSx \in S, and otherwise loops indefinitely. This one-sided decision procedure, known as semi-decidability, allows algorithmic verification of positive membership but provides no guarantee of termination for non-members. The concept traces back to early work in , where Emil Post introduced the notion of recursively enumerable sets in this operational sense, emphasizing their generation through effective processes akin to computations. To semi-decide membership for a given xNx \in \mathbb{N}, the procedure simulates an enumerator for SS that systematically generates elements of the set and checks whether xx eventually appears in the output sequence; if it does, the machine halts affirmatively, but if xSx \notin S, the simulation continues indefinitely without resolution. This dovetails with the domain of partial recursive functions, where SS corresponds to the set of inputs on which a is defined and halts. The equivalence between semi-decidability and enumerability follows from a bidirectional construction using dovetailing. To enumerate from a semi-decider MM, simulate MM on all natural number inputs 0,1,2,0, 1, 2, \dots in parallel: at stage nn, run the first nn simulations for nn steps each, and output any input that halts during this stage; this ensures all elements of SS are eventually listed without repetition or omission, as every halting computation will be reached in finite time. Conversely, from an enumerator, semi-decidability is direct via the checking procedure described above. This proof establishes that the two characterizations capture the same class of sets. This framework supports the Church-Turing thesis by identifying computably enumerable sets as precisely those effectively verifiable through mechanical procedures, aligning intuitive notions of effective computability with formal Turing machine models.

Placement in Arithmetical Hierarchy

Computably enumerable sets, also known as recursively enumerable sets, are precisely the sets in the Σ10\Sigma_1^0 class of the arithmetical hierarchy. This hierarchy classifies subsets of the natural numbers based on the complexity of their first-order arithmetic definitions, measured by the number and type of quantifiers over natural numbers in the defining formula. A set SNS \subseteq \mathbb{N} belongs to Σ10\Sigma_1^0 if it can be defined by a formula of the form xS    yR(x,y)x \in S \iff \exists y \, R(x,y), where RR is a primitive recursive (hence decidable) predicate. The equivalence between computably enumerable sets and Σ10\Sigma_1^0 sets follows from Kleene's normal form theorem, which establishes that every computably enumerable set admits such an existential over a recursive predicate, and conversely, any Σ10\Sigma_1^0 set is computably enumerable because the witnesses yy can be effectively enumerated using the decidability of RR. In contrast, the complements of computably enumerable sets form the Π10\Pi_1^0 class, defined by universal quantifiers: xS    yR(x,y)x \in S \iff \forall y \, R(x,y) for recursive RR. The recursive (decidable) sets occupy the Δ10\Delta_1^0 class, which is the Σ10Π10\Sigma_1^0 \cap \Pi_1^0; thus, a set is recursive if and only if both it and its complement are computably enumerable. This placement highlights the semi-decidable nature of computably enumerable sets within the hierarchy, as membership can be verified but non-membership may not halt. Through , which assigns unique codes to arithmetic formulas, the set of Gödel numbers of sentences provable in Peano arithmetic is computably enumerable (hence Σ10\Sigma_1^0), since proofs can be mechanically enumerated and checked for validity. Gödel's first incompleteness theorem demonstrates that this set is not recursive, as Peano arithmetic cannot prove its own consistency, underscoring the proper inclusion of Σ10\Sigma_1^0 beyond the recursive sets.

Illustrative Examples

Computable Examples

Computably enumerable sets include all computable (recursive) sets as a proper , since any set for which membership is decidable by a can be enumerated by systematically checking and listing elements in order. This inclusion holds because a total recursive allows enumeration via dovetailing: for each stage i=1,2,i = 1, 2, \dots, compute the characteristic function on all inputs up to ii and output those nin \leq i where it equals 1, ensuring every member is eventually listed since the function halts on all inputs. Finite sets provide the simplest examples of computable sets, hence computably enumerable ones. For any finite set S={a1,a2,,ak}NS = \{a_1, a_2, \dots, a_k\} \subseteq \mathbb{N}, a Turing machine can enumerate it by hardcoding the fixed list and outputting each aja_j in sequence, halting after the last element; membership is decidable by direct comparison to the list. Similarly, the empty set is computable and computably enumerable, as the enumerating machine simply halts without output. The set of even natural numbers, E={nNn0(mod2)}E = \{ n \in \mathbb{N} \mid n \equiv 0 \pmod{2} \}, is computable via a primitive recursive predicate that checks divisibility by 2, allowing enumeration by the total recursive function f(i)=2if(i) = 2i for i=0,1,2,i = 0, 1, 2, \dots, which generates the sequence 0,2,4,0, 2, 4, \dots exhaustively. Membership decision follows immediately from this modulo operation, confirming EE as recursive and thus computably enumerable. The set of numbers, P={pNp>1 and p has no divisors other than 1 and itself}P = \{ p \in \mathbb{N} \mid p > 1 \text{ and } p \text{ has no divisors other than 1 and itself} \}, is another computable example. Primality is primitive recursive, decidable by division up to p\sqrt{p}
Add your contribution
Related Hubs
User Avatar
No comments yet.