XPost: comp.theory, sci.logic
*Completely rewritten rebuttal of the halting theorem*
A simulating halt decider (SHD) correctly predicts what the behavior of
its input would be if it never aborted the simulation of this input. It
does this by correctly recognizing several non-halting behavior patterns
in a finite number of steps of correct simulation. It must abort the
simulation of all non-terminating inputs so that it can report that they
are non-halting. Inputs that do terminate are simply simulated until
they complete.
When simulating halt decider H correctly predicts that directly executed
D(D) would remain stuck in recursive simulation (run forever) unless H
aborts its simulation of D this directly applies to the halting theorem
because H correctly determines:
from a description of an arbitrary computer program and an input,
whether the program will finish running, or continue to run forever.
https://en.wikipedia.org/wiki/Halting_problem
https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X
MIT Professor Michael Sipser has agreed that the following verbatim
paragraph is correct (he has not agreed to anything else in this paper):
(a) If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never stop
running unless aborted then
(b) H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
(b) is a necessary consequence of (a)
01 int D(int (*x)())
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 void main()
10 {
11 D(D);
12 }
*Here is the sequence when H never aborts it simulation*
main() calls D(D) at line 11
D(D) calls H(D,D) that simulates D(D) at line 03
simulated D(D) calls simulated H(D,D) that simulates D(D) at line 03
simulated D(D) calls simulated H(D,D) that simulates D(D) ...
repeating ...
Because it is an easily verified fact that D(D) would never stop running
unless H aborts its simulation of D, H is necessarily correct to return
0 indicating this verified fact.
*This is every aspect of my whole proof*
(a), (a) → (b) ∴ H(D,D)==0 is correct
H(D,D) is fully operational in the x86utm operating system:
https://github.com/plolcott/x86utm
--
Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)