Sujet : Re: Who here understands that the last paragraph is Necessarily true?
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theoryDate : 20. Jul 2024, 10:02:54
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7fufu$3euo8$4@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
User-Agent : Mozilla Thunderbird
Op 19.jul.2024 om 22:21 schreef olcott:
On 7/19/2024 11:03 AM, joes wrote:
Am Fri, 19 Jul 2024 09:54:07 -0500 schrieb olcott:
On 7/19/2024 1:35 AM, Fred. Zwarts wrote:
Exactly the same input is presented to the direct execution and the
simulation, namely the x86 code of the program.
The semantics of the x86 language does not change in these two cases,
so a correct simulator should interpret the x86 in the same way as the
direct execution.
No it is not.
Although you are the same person when you are hungry before
you eat after you eat you are no longer in the hungry state.
*Same person transitioning from hungry to not-hungry*
But a halting program does not change into a non-halting program when only the fort few instructions are execute/simulated.
Because or actions that HHH does DDD changes its state
from needing to be aborted to not needing to be aborted.
No, there is no need to abort. Correct simulations of HHH have been presented, that show that the simulated HHH does not need to be aborted, but halts of its own.
The problem is that HHH cannot possibly simulate itself correctly.
Same program transitioning from needing to be aborted
to not needing to be aborted.
Before HHH(DDD) aborts its emulation the directly executed DDD()
cannot possibly halt.
After HHH(DDD) aborts its emulation the directly executed DDD()
halts.
What do you mean "after"? The outer DDD called by main? It will halt
even before HHH has aborted, because it is deterministic and actually
does halt. It makes no sense to say that something that will, couldn't.
>
void DDD()
{
HHH(DDD);
}
int main()
{
DDD();
}
DDD() is invoked and calls HHH(DDD) that emulates its own
separate DDD instance as a separate process.
Unless HHH(DDD) aborts its emulated DDD:
HHH, emulated DDD and executed DDD never stop running.
And when HHH aborts, the simulation is incomplete and, therefore, incorrect.
DDD is a misleading and unneeded complication. It is easy to eliminate DDD:
int main() {
return HHH(main);
}
This has the same problem. This proves that the problem is not in DDD, but in HHH, which halts when it aborts the simulation, but it decides that the simulation of itself does not halt.
HHH is simply unable to decide about finite recursions.
void Finite_Recursion (int N) {
if (N > 0) Finite_Recursion (N - 1);
}
It decides after N recursions that there is an infinite recursion, which is incorrect.
Olcott's HHH is programmed to abort the simulation after N cycles of recursive simulations. Therefore, it is incorrect to abort the simulation of HHH when the simulated HHH has performed only N-1 cycles, because that changes the behaviour of HHH.
Since the simulated HHH always runs one cycle behind the simulating HHH, it is clear that HHH can never simulate enough cycles for a correct simulation, as is required by the x86 language.
Therefore, the simulation is incorrect according to the criteria olcott stipulated.
The conclusion is simple:
HHH cannot possibly simulate itself correctly.
No matter how much olcott wants it to be correct, or how many times olcott repeats that it is correct, it does not change the fact that such a simulation is incorrect, because it is unable to reach the end.
Olcott's own claim that the simulated HHH does not reach its end confirms it. The trace he has shown also proves that HHH cannot reach the end of its own simulation. So, his own claims prove that it is true that HHH cannot possibly simulate itself up to the end, which makes the simulation incorrect.
Sipser would agree that this incorrect simulation cannot be used to detect a non-halting behaviour.
Olcott could not point to an error, but prefers to ignore it. So, I will repeat it, until either an error is found, or olcott admits that HHH cannot possibly simulate itself correctly.