In
computability theory
Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
, 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
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
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".
[; page 151]
Completeness in the arithmetical hierarchy
Index sets provide many examples of sets which are complete at some level of the
arithmetical hierarchy
In mathematical logic, the arithmetical hierarchy, arithmetic hierarchy or Kleene–Mostowski hierarchy (after mathematicians Stephen Cole Kleene and Andrzej Mostowski) classifies certain sets based on the complexity of formulas that define th ...
. 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:
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete.
*
is
-complete, where
is the
halting problem
In computability theory (computer science), computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run for ...
.
Empirically, if the "most obvious" definition of a set
is
\Pi_n">esp. we can usually show that
is
-complete
\Pi_n-complete">esp. -complete
Notes
References
*
*{{ cite book , title=Theory of Recursive Functions and Effective Computability , author=Rogers Jr., Hartley , publisher=MIT Press, isbn=0-262-68052-1 , pages=482 , year=1987
Computability theory