Index set (computability)
In computability theory, index sets describe classes of computable functions; specifically, they give all indices of functions in a certain class, according to a fixed Gödel numbering of partial computable functions.
Definition
[edit | edit source]Let be a computable enumeration of all partial computable functions, and be a computable enumeration of all c.e. sets.
Let be a class of partial computable functions. If then is the index set of . In general is an index set if for every with (i.e. they index the same function), we have . Intuitively, these are the sets of natural numbers that we describe only with reference to the functions they index.
Index sets and Rice's theorem
[edit | edit source]Most index sets are non-computable, aside from two trivial exceptions. This is stated in Rice's theorem:
Let
be a class of partial computable functions with its index set
. Then
is computable if and only if
is empty, or
is all of
.
Rice's theorem says "any nontrivial property of partial computable functions is undecidable".[1]
Completeness in the arithmetical hierarchy
[edit | edit source]Index sets provide many examples of sets which are complete at some level of the arithmetical hierarchy. Here, we say a set is -complete if, for every set , there is an m-reduction from to . -completeness is defined similarly. Here are some examples:[2]
- is -complete.
- is -complete.
- is -complete.
- is -complete.
- is -complete.
- is -complete.
- is -complete.
- is -complete.
- is -complete, where is the halting problem.
Empirically, if the "most obvious" definition of a set is [resp. ], we can usually show that is -complete [resp. -complete].
Notes
[edit | edit source]References
[edit | edit source]- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).