previous
|
index
|
next
Alan Turing Solves the Halting Problem
In the 1930's, before the invention of the general purpose digital computer, Alan Turing proved
by contradiction
that
halts?
could not exist.
Assume
halts?
exists.
Then it must return
#t
or
#f
for
any
procedure given it as an argument.
Consider the following procedure:
(define debunk-halts? (lambda () (if (halts? debunk-halts?) (loop-forever) (return-seven))))
Now we have both:
debunk-halts
loops forever if
debunk-halts
halts
debunk-halts
halts with 7 if
debunk-halts
does not halt
previous
|
index
|
next