Suppose we have a solution S to the Halting Problem:
In what follows, we include S into a larger program and then analyze how that larger program works.
Step 1: Adjust Inputs
Although the Halting Problem treats P and I as separate, we observe that both P and I are characters (or files). Thus, we could consider giving S the same characters as both P and I.
Add a step, so that the input will be a program, and that input is also fed to the program. The resulting expanded solution S' will determine whether or not any program P halts when given itself as input.
Step 2: Adjust Output
We add a stage at the end of processing to get a new program S", based on the output of Solution S.
Putting these pieces together, we obtain an expanded program with S at its core.
Summary:
Given a solutions S of the Halting Problem, we have constructed a new program S".
What happens when S" is given itself as input?
We base our analysis on our Solution S to the Halting Problem:
Conclusion: Program S contains an error; S does not always produce a correct result for the Halting Problem, so S does not actually solve that problem.
Since this result follows for any claimed solution of the Halting Problem,
we conclude there are no solutions to the Halting Problem;
The Halting Problem is Unsolvable
|
created: 3 January 2007 last revised: 7 January 2007 | previous next |
|