Selman's theorem

From Wikipedia, the free encyclopedia

In computability theory, Selman's theorem is a theorem relating enumeration reducibility with enumerability relative to oracles. It is named after Alan Selman, who proved it as part of his PhD thesis in 1971.

Informally, a set A is enumeration-reducible to a set B if there is a Turing machine that receives an enumeration of B (it has a special instruction to get the next element, or none if it has not yet been provided), and produces an enumeration of A. See enumeration reducibility for a precise account.

A set A is computably enumerable with oracle B (or simply "in B") when there is a Turing machine with oracle B that enumerates the members of A; this is the relativized version of computable enumerability.

Selman's theorem:[1][2][3][4][5] A set A is enumeration-reducible to a set B if and only if A is computably enumerable with an oracle X whenever B is computably enumerable with the same oracle X.

Discussion

Informally, the hypothesis "A is computably enumerable with an oracle X whenever B is computably enumerable with the same oracle X" means that whenever there is a program enumerating B using some source of information (the oracle), there is also a program enumerating A using the same source of information. A priori, the program enumerating A could be running the program enumerating B as a subprogram in order to produce the elements of A from those of B, but it could also be using the source of information directly, perhaps in a different way than the program enumerating B, and it could be difficult to deduce the elements of A from the program enumerating B. However, the theorem asserts that, in fact, there exists a single program that produces an enumeration of A solely from an enumeration of B, without direct access to the source of information used to enumerate B.

From a slightly different point of view, the theorem is an automatic uniformity result. Let P be the set of total computable functions such that the range of f with ⊥ removed equals A, and let Q be similarly defined for B. A possible reformulation of the theorem is that if P is Mučnik-reducible to Q, then it is also Medvedev-reducible to Q.[6]:5 Informally: if every enumeration of B can be used to compute an enumeration of A, then there is a single (uniform) oracle Turing machine that computes some enumeration of A whenever it is given an enumeration of B as the oracle.

Proof

See also

References

Related Articles

Wikiwand AI