void E(int (*x)())
{
HH(x, x);
return;
}
int main()
{
HH(E,E);
}
HH only needs to simulate E until HH correctly detects that E has a
repeating state such that E correctly simulated by HH cannot possibly
reach its own final state and terminate normally in any finite number of
steps.
Because it is an easily verified fact that
E correctly simulated by HH
cannot possibly halt (reach its own "return" instruction and terminate
normally)
HH is necessarily correct to abort its simulation of E and reject
E correctly simulated by HH
as non-halting as soon as it detects the repeating state in
E correctly simulated by HH
The repeating state that we and HH can both see is that
E correctly simulated by HH
would continue to call HH(E,E) in recursive simulation
Making it impossible for
E correctly simulated by H
to reach its own "return" instruction and terminate normally (AKA halt).
straw man
An intentionally misrepresented proposition that is set up because it is
easier to defeat than an opponent's real argument.
https://www.lexico.com/en/definition/straw_man
What deceptive people are doing when they change the subject away from
E correctly simulated by H to form a rebuttal.
Simulating Halt Decider Applied to the Halting Theorem
https://www.researchgate.net/publication/364657019_Simulating_Halt_Decider_Applied_to_the_Halting_Theorem
--
Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer