Sujet : Re: Hypothetical possibilities
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theory comp.ai.philosophyDate : 20. Jul 2024, 21:36:14
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7h3je$3lcvq$6@dont-email.me>
References : 1 2 3
User-Agent : Mozilla Thunderbird
Op 20.jul.2024 om 21:09 schreef olcott:
On 7/20/2024 2:00 PM, Fred. Zwarts wrote:
Op 20.jul.2024 om 17:28 schreef olcott:
void DDD()
{
HHH(DDD);
}
>
int main()
{
DDD();
}
>
(a) Termination Analyzers / Partial Halt Deciders must halt
this is a design requirement.
>
(b) Every simulating termination analyzer HHH either
aborts the simulation of its input or not.
>
(c) Within the hypothetical case where HHH does not abort
the simulation of its input {HHH, emulated DDD and executed DDD}
never stop running.
>
This violates the design requirement of (a) therefore HHH must
abort the simulation of its input.
>
And when it aborts, the simulation is incorrect. When HHH aborts and halts, it is not needed to abort its simulation, because it will halt of its own.
So you are trying to get away with saying that no HHH
ever needs to abort the simulation of its input and HHH
will stop running?
No, you try to get away with saying that a HHH that is coded to abort and halt, will never stop running, only because you are dreaming of *another* HHH that does not abort.
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.