Re: Can you find anything wrong with this solution to the Halting Problem?

From: Peter Olcott (olcott_at_worldnet.att.net)
Date: 07/16/04


Date: Fri, 16 Jul 2004 11:45:01 GMT


> You seem to be claiming that changing the program so that the output is
> returned internally rather than being written to the screen will cause it
to
> stop working. Is this the case? In other words, your program (P1) looks
> like this
>
> result = compute_result(input)
> write_to_screen(result)
>
> But if you change it to P2 thusly:
>
> result = compute_result(input)
> return result
>
> then it will stop working. Does compute_result act differently in P1 vs.
> P2? If not, how can P2 fail to work when P1 does work?
>
> --Mark
>
>
http://home.att.net/~olcott/halts.html

Just walk through an execution trace table and see for yourself.
Use the concrete examples provided on this link. See how the
execution trace table differs when the WillHalt() function is run
using the LoopIfHalts() function as input, on each of these two
different variations of the WillHalt() function.

(1) bool WillHalt(M, w)
(2) void WillHalt(M, w)

In the first case WillHalt can not correctly determine if LoopIfHalts()
will halt or not. In the second case LoopIfHalts() won't even compile
because it is a syntax error to check the return value of a function that
has no return value.



Relevant Pages