Recent from talks
Nothing was collected or created yet.
Computably enumerable set
View on WikipediaIn 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).
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 A ∩ B, A ∪ B 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]- ^ Downey, Rodney G.; Hirschfeldt, Denis R. (29 October 2010). Algorithmic Randomness and Complexity. Springer Science & Business Media. p. 23. ISBN 978-0-387-68441-3.
- Rogers, H. The Theory of Recursive Functions and Effective Computability, MIT Press. ISBN 0-262-68052-1; ISBN 0-07-053522-1.
- Soare, R. Recursively enumerable sets and degrees. Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987. ISBN 3-540-15299-7.
- Soare, Robert I. Recursively enumerable sets and degrees. Bull. Amer. Math. Soc. 84 (1978), no. 6, 1149–1181.
Computably enumerable set
View on GrokipediaCore Definitions
Enumeration via Turing Machines
A set is computably enumerable if it is empty or there exists a Turing machine that computes a total recursive function such that the range of is exactly . In this setup, runs indefinitely on successive natural number inputs , producing the sequence , where every element of appears at least once (and possibly finitely many times if duplicates occur), and no element outside is produced.[4] The enumeration process relies on systematically generating this sequence without halting, ensuring completeness by covering all of over infinite time, though the order need not be increasing or unique. For effective implementation, can output each 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.[3] The concept originated in the foundational work of Alonzo Church and Alan Turing during the 1930s, as part of efforts to formalize computability and address the Entscheidungsproblem posed by David Hilbert. 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 computability theory.[5][6] Formally, for a Turing machine with index , the enumerated set is , where is a total primitive recursive relation indicating that on input outputs in finitely many steps; this ensures is precisely the range without extraneous elements.[4]Domain of Partial Recursive Functions
A set of natural numbers is computably enumerable if there exists an index such that is precisely the domain of the partial recursive function , meaning (converges to an output) if and only if .[7] 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.[7] Partial recursive functions are intimately connected to Turing machines: every partial recursive function can be computed by a Turing machine , and the domain of consists exactly of those inputs on which halts.[7] This equivalence, established through Church's thesis, underscores that the halting behavior of Turing machines defines the same class of sets as the domains of partial recursive functions.[7] The equivalence between this domain-based definition and direct enumeration arises from the ability to list the elements of any such domain systematically. Given , one can enumerate by dovetailing simulations of on all natural number inputs: at stage , perform steps of computation for each of the first inputs (i.e., inputs 0 through ), and whenever a computation halts, output that input. This process outputs each element of (possibly with repetitions, which can be eliminated via a primitive recursive check for prior outputs) in finite time, as every halting computation will eventually be simulated sufficiently long to converge.[8] In contrast to total recursive functions, whose domains are always all of 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 . This asymmetry enables the semi-decidability of membership in , as one can verify presence via halting but cannot confirm absence in general.[7]Equivalent Characterizations
Semi-Decidability
A computably enumerable set is formally characterized by the existence of a Turing machine that semi-decides membership in : on input , halts if and only if , and otherwise loops indefinitely.[9] This one-sided decision procedure, known as semi-decidability, allows algorithmic verification of positive membership but provides no guarantee of termination for non-members.[10] The concept traces back to early work in computability theory, where Emil Post introduced the notion of recursively enumerable sets in this operational sense, emphasizing their generation through effective processes akin to Turing machine computations.[10] To semi-decide membership for a given , the procedure simulates an enumerator for that systematically generates elements of the set and checks whether eventually appears in the output sequence; if it does, the machine halts affirmatively, but if , the simulation continues indefinitely without resolution.[11] This dovetails with the domain of partial recursive functions, where corresponds to the set of inputs on which a partial function is defined and halts.[9] The equivalence between semi-decidability and enumerability follows from a bidirectional construction using dovetailing. To enumerate from a semi-decider , simulate on all natural number inputs in parallel: at stage , run the first simulations for steps each, and output any input that halts during this stage; this ensures all elements of are eventually listed without repetition or omission, as every halting computation will be reached in finite time.[11] 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.[11] 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 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 belongs to if it can be defined by a formula of the form , where is a primitive recursive (hence decidable) predicate. The equivalence between computably enumerable sets and sets follows from Kleene's normal form theorem, which establishes that every computably enumerable set admits such an existential characterization over a recursive predicate, and conversely, any set is computably enumerable because the witnesses can be effectively enumerated using the decidability of . In contrast, the complements of computably enumerable sets form the class, defined by universal quantifiers: for recursive . The recursive (decidable) sets occupy the class, which is the intersection ; 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 Gödel numbering, which assigns unique codes to arithmetic formulas, the set of Gödel numbers of sentences provable in Peano arithmetic is computably enumerable (hence ), 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 beyond the recursive sets.Illustrative Examples
Computable Examples
Computably enumerable sets include all computable (recursive) sets as a proper subset, since any set for which membership is decidable by a Turing machine can be enumerated by systematically checking and listing elements in order.[12] This inclusion holds because a total recursive characteristic function allows enumeration via dovetailing: for each stage , compute the characteristic function on all inputs up to and output those where it equals 1, ensuring every member is eventually listed since the function halts on all inputs.[8] Finite sets provide the simplest examples of computable sets, hence computably enumerable ones. For any finite set , a Turing machine can enumerate it by hardcoding the fixed list and outputting each in sequence, halting after the last element; membership is decidable by direct comparison to the list.[13] Similarly, the empty set is computable and computably enumerable, as the enumerating machine simply halts without output.[12] The set of even natural numbers, , is computable via a primitive recursive predicate that checks divisibility by 2, allowing enumeration by the total recursive function for , which generates the sequence exhaustively.[14] Membership decision follows immediately from this modulo operation, confirming as recursive and thus computably enumerable.[15] The set of prime numbers, , is another computable example. Primality is primitive recursive, decidable by trial division up to , enabling enumeration via a total recursive generator that sequentially tests candidates starting from 2 and outputs only primes.[16] For instance, the machine can use a sieve-like process to list primes in order: 2, 3, 5, 7, \dots, with the procedure halting on each for membership queries. Sets defined by recursive predicates, such as for a total computable , are computable when the predicate is total, with enumeration mirroring the domain of the function. The union of finitely many computable sets remains computable, further illustrating this class.[8] However, not all computably enumerable sets are computable, as some lack a total membership test.[12]Non-Computable Examples
A canonical example of a computably enumerable set that is not computable is the halting set , where denotes the partial computable function computed by the -th Turing machine and indicates that the computation halts.[6] This set is computably enumerable because one can enumerate all indices for which the computation eventually halts by dovetailing simulations of all such computations in parallel.[6] However, is not computable, as established by Turing's diagonalization argument showing that no Turing machine can decide membership for all .[6] The halting set occupies the lowest nontrivial level in the arithmetical hierarchy.[17] Another fundamental non-computable computably enumerable set arises in formal logic: the set of Gödel numbers of theorems provable in Peano arithmetic (or any sufficiently strong consistent formal system). This set, denoted , is computably enumerable by systematically generating all proofs in the system and extracting their conclusions. Yet, is not computable due to Gödel's first incompleteness theorem, which demonstrates the existence of true but unprovable sentences in such systems, rendering membership undecidable. The connection between computably enumerable sets and number theory is highlighted by Diophantine sets, which are subsets of the natural numbers definable by existential quantifiers over polynomial equations with integer coefficients: a set is Diophantine if for some polynomial with integer coefficients.[18] Matiyasevich's theorem (1970) proves that every computably enumerable set is Diophantine, resolving Hilbert's tenth problem negatively by showing that there is no algorithm to decide whether a given Diophantine equation has solutions in natural numbers.[18] For instance, the halting set admits a Diophantine representation, illustrating how undecidability permeates Diophantine problems.[18] Simple sets, introduced by Post, provide further examples of infinite computably enumerable sets that are not computable, characterized by their complements being infinite yet "simple" in the sense of avoiding infinite computably enumerable subsets. A set is simple if it is infinite and computably enumerable, its complement is infinite, and no infinite computably enumerable set is contained entirely in . The existence of simple sets was established constructively by Post using a priority method to ensure the complement remains immune to infinite computably enumerable subsets while keeping infinite. Such sets demonstrate the structural complexity within the class of computably enumerable sets beyond mere undecidability.Fundamental Properties
Closure Properties
Computably enumerable (c.e.) sets, also known as recursively enumerable sets, exhibit several closure properties under basic algebraic operations, reflecting their effective enumerability. These properties arise from the ability to construct effective enumerators or Turing machines that simulate the behaviors of given c.e. sets in combination. Such closures are fundamental to understanding the structure of the class of c.e. sets within computability theory. The class of c.e. sets is closed under finite unions. Specifically, if and are c.e., then is c.e. To see this, suppose there are computable enumerators and for and , respectively. A combined enumerator can dovetail the computations of and by simulating both in an interleaved manner: at stage , simulate the first steps of and , outputting any newly produced elements without duplication. This process effectively enumerates all elements of . The extension to finite unions follows by induction.[19] Similarly, the class is closed under finite intersections. If and are c.e., then is c.e. One construction involves enumerating potential elements by dovetailing over pairs , where is a candidate, and are stages of simulation for enumerators of and . For each pair where appears in the stage- approximation of and the stage- approximation of , output if it has not been output before. Since elements of c.e. sets eventually stabilize in their approximations once enumerated, this will enumerate exactly . In terms of indices, if and are indices for enumerators of and , there exists a computable function providing an index for an enumerator of .[20] The class of c.e. sets is also closed under the formation of encoded products. If and are c.e., then the set is c.e., where denotes a computable pairing function, such as the Cantor pairing function , which is a bijection from to . To enumerate this set, dovetail enumerations of and to produce pairs and compute for each, outputting these values in order. This ensures all paired elements are eventually listed. Concatenation follows as a special case: if and are c.e. subsets of strings, then is c.e. by similar dovetailing over string pairs. In index terms, there is a computable function yielding an index for the product enumerator.[20] The class is not closed under complementation: for example, the complement of the halting set , which is c.e., is not c.e., as its c.e.-ness would imply the decidability of , contradicting the undecidability of the halting problem.Relations to Recursive Sets
A set is recursive if and only if both and its complement are computably enumerable, allowing for a decision procedure that alternates between semi-deciders for and .[21] To decide membership of an element in , one dovetails the enumerations of and ; since exactly one of these sets contains , the process will eventually enumerate in one of them, confirming membership or non-membership accordingly.[21] This equivalence, established by Post, highlights that recursive sets form a proper subclass of the computably enumerable sets, as there exist computably enumerable sets whose complements are not computably enumerable, such as the halting set. The complements of computably enumerable sets, known as co-computably enumerable (co-c.e.) sets, provide a symmetric class to the computably enumerable sets. Neither class properly contains the other, since for any computably enumerable set that is not recursive, its complement is co-c.e. but not computably enumerable, and vice versa.[21] A key theorem states that a computably enumerable set is recursive if and only if its complement is also computably enumerable. The forward direction follows from the definition of recursive sets, while the converse is proven by assuming an enumerator for exists alongside the one for , enabling the parallel enumeration procedure to terminate for every input, thus constructing a total decider for .[21] This result, due to Post, underscores the boundary between semi-decidability and full decidability. Additionally, every infinite c.e. set contains an infinite recursive subset.[1]Advanced Structures
Turing Degrees of c.e. Sets
The Turing degrees of computably enumerable (c.e.) sets, denoted , comprise all Turing degrees that contain at least one c.e. set, partially ordered by Turing reducibility . This structure captures the relative computational complexities of unsolvable problems whose positive instances can be enumerated by Turing machines. The least element is , the degree of all computable sets, while —the degree of the halting problem —serves as the supremum of , since every c.e. set is Turing reducible to .[22][22] The c.e. degrees form an upper semilattice under the join operation , where for c.e. degrees and , is the Turing degree of the union of c.e. representatives from each, as the union of c.e. sets remains c.e..[22] However, is not a lattice: there exist incomparable c.e. degrees without a greatest lower bound in . The existence of such pairs was first established by Lachlan and Yates, who constructed two c.e. degrees and with no infimum in the structure.[23] In the 1970s, further results by Lachlan and others, including non-splitting theorems, highlighted additional structural limitations, such as degrees that cannot be split into c.e. subdegrees above certain lower bounds.[24] Emil Post's problem inquired whether all non-computable c.e. degrees coincide with , or equivalently, whether there exist c.e. degrees strictly between and . This was resolved affirmatively: Friedberg and independently Muchnik constructed c.e. sets and such that and , using the finite injury priority method to ensure incomparability. A related question—whether every Turing degree contains a c.e. set—was answered negatively, revealing gaps in below . Constructions of minimal degrees below , such as those using partial trees, yield degrees with no non-zero c.e. sets, as any c.e. set in a minimal degree above would contradict minimality.[22][25] In contrast, above , the structure is complete for c.e. sets: every Turing degree contains a c.e. set, ensuring no analogous gaps occur in higher regions. This dichotomy underscores the intricate partial order of , with density in some intervals but sparsity below the halting degree.[22]Productive and Creative Sets
A productively set is defined as a set for which there exists a total computable function such that for every index , if , then .[26] This productive function generates elements that witness the failure of containment for any computably enumerable set not fully included in , ensuring cannot be "avoided" by all c.e. sets in a computable way. Productive sets are necessarily non-computably enumerable, as their structure resists complete enumeration relative to c.e. subsets.[27] A creative set is a computably enumerable set whose complement is productive.[26] Equivalently, is creative if and only if it is -complete, meaning every c.e. set many-one reduces to .[26] The canonical example is the halting set , which is c.e. and -complete; its complement admits a productive function derived from the universal Turing machine's enumeration, placing new indices outside enumerated sets when containment fails.[28] Creative sets thus capture the full complexity of c.e. undecidability, serving as "maximally simple" non-recursive c.e. sets in the arithmetical hierarchy. Post's simple sets provide foundational examples in this context: these are infinite c.e. sets whose complements are infinite and immune, meaning the complement contains no infinite c.e. subset.[27] While not all simple sets are creative—some reside in incomplete degrees—Post's constructions demonstrate the existence of c.e. sets that are productive in their avoidance properties, bridging to creative ones via Turing reducibility from .[27] Specifically, a simple set is creative if , embedding the halting problem's complexity.[26] In mathematical logic, creative sets formalize limitations from Gödel's incompleteness theorems. For a consistent theory like Peano arithmetic that interprets arithmetic, the set of Gödel numbers of provable sentences in is creative, as its complement is productive relative to the theory's proof enumeration; this follows from the theory's ability to represent c.e. sets and the undecidability of consistency.[29] Such sets are "provably creative" within , highlighting how formal systems inherit the non-enumerability of their own theorems.[30] The existence of creative sets was established by Emil Post in his seminal 1944 paper, where he constructed r.e. sets with productive complements using priority methods to avoid infinite c.e. subsets in the complement while ensuring incompleteness.[31] Post's work from the 1920s through the 1940s laid the groundwork for generalized recursion theory, introducing these notions to explore degrees beyond the halting problem and address pathological c.e. sets.[31]References
- https://proofwiki.org/wiki/Set_of_Even_Numbers_is_Primitive_Recursive

