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
| home | consulting | videos | book | QM FAQ | contact |