Completed second draft of this book
PDF version of this book
Next: Ordinal induction
Up: Creative mathematics
Previous: Creative mathematics
  Contents
The function
that is 1 if the computer program with Gödel number
halts and
0 otherwise cannot be generated by a computer program.
But we can write a computer program to output the Gödel numbers
of any computer program
for which
= 1. That is we can
write a computer program that outputs the Gödel numbers of
all computer programs that halt. What we cannot do is list the
Gödel numbers of programs that do not halt.
To output
the Gödel numbers of all computer programs that halt
we program a single
computer to execute all possible computer programs.
We do this in a sequence of steps.
In the first
step we do one instruction from one program. In the next step we
do 2 instructions for 2 programs (or four instructions total).
In the
th step we do
instructions
for
programs. If any program halts during any step then
we output the Gödel number of that program. Eventually
if any program halts its Gödel number will be output.
This is not a solution to the halting problem because it
provides no way to know if a program does not halt.
We have to wait an infinite time before we can be sure
a program's Gödel number will not be output.
This simulation of many programs by a single program is called nondeterministic programming although there is nothing random or unpredictable about it. A computer running such a program is called a nondeterministic computer.
A set that we can list using a computer program is said to be recursively enumerable. If we can also list by a computer the complement of the set than it is said to be recursive. The set of Gödel numbers of computer programs that halt is recursively enumerable but not recursive. This is the first in a hierarchy of recursively unsolvable problems that form the Arithmetical Hierarchy.
We can speculate about `more difficult' problems by assuming one had a solution
for the halting problem and ask what new problems would remain unsolvable.
This led to the idea of a computer with an oracle. An oracle is a magical
device that solves some unsolvable problem like the Halting
Problem. You input to it an integer
and in a finite time it outputs 1 or
0 to indicate if the program with Gödel number
will or will not halt.
Assuming we have a computer that has access to an oracle for the Halting Problem, are there functions it cannot compute? One can apply the original Halting Problem proof to this machine to prove it could not solve its own Halting Problem. One could give an oracle for this higher level Halting Problem and generate an even higher level problem. Thus was introduced the notion of degrees of unsolvability.
A related way to extend the hierarchy of unsolvable problems is to ask if a computer program will generate an infinite number of outputs. We can generalize this property by interpreting the output of a computer as the Gödel number of another computer. We then ask does a program have an infinite number of outputs an infinite subset of which when interpreted as computer programs have an infinite number of outputs. This can be iterated any finite number of times to create the Arithmetical Hierarchy.
This hierarchy is
usually developed with
the universal (
) and
existential (
) quantifiers
restricted to the integers rather than
ranging over all possible sets.
An alternating
pair of these quantifiers (
) restricted to the integers has
been shown to be equivalent to the
quantifier.
is
true if and only if
is true for an infinite subset of the integers.
The Arithmetical Hierarchy can be defined using either types of quantifiers
Levels in the Arithmetical Hierarchy are labeled as
if they can be defined with an expression
limited to
pairs of alternating quantifiers
starting with
. Similarly statements that start
with
are labeled as
.
and
are defined as having no quantifiers and
are equivalent.
and
are defined as having
a single quantifier.
Table 4.1 summarizes these definitions.
Only alternating pairs of quantifiers are
counted because two quantifiers of the
same type occurring together are equivalent to a single quantifier.
Table 4.2 shows a map
from the integers onto all pairs of integers.
Using this map one can convert a sequence like
to
.
The same technique applies to two
consecutive existential (
) quantifiers.
Expressions ending with
can be reduced to
one ending with
.
A similar reduction works with
.
So Table 4.1
represent all the unique possibilities.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Completed second draft of this book
PDF version of this book
Next: Ordinal induction
Up: Creative mathematics
Previous: Creative mathematics
  Contents
Comments to: webmaster@mtnmath.com