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 H(D,D);
12 }
Here is the sequence when H never aborts it simulation:
main() calls H(D,D) that simulates D(D) at line 11
keeps repeating: simulated D(D) calls simulated H(D,D) that simulates D(D) at line 03 ...
When it is understood that halting requires reaching a final state and stopping for any other reason does not count as halting then
The fact that D correctly simulated by H cannot possibly reach its own
final state at line 6 conclusively proves that this simulated D does not halt.
*When H returns 0 it is only affirming this verified fact*
The notion of a UTM conclusively proves that D correctly simulated by H
does derive the behavior that a simulating halt decider must measure.
Because all deciders must compute the mapping from their inputs to their
own accept or reject state anyone and anything that says that H must
report on the behavior of non-inputs contradicts the definition of a
decider.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (2 / 14) |
Uptime: | 100:48:03 |
Calls: | 6,659 |
Calls today: | 1 |
Files: | 12,209 |
Messages: | 5,334,854 |