Sujet : Re: Hypothetical possibilities V2
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theory comp.ai.philosophyDate : 22. Jul 2024, 19:59:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7m6mk$ogs3$2@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
Op 22.jul.2024 om 18:08 schreef olcott:
void DDD()
{
HHH(DDD);
return;
}
int main()
{
HHH(DDD);
}
Of the two hypothetical possible ways that HHH can be encoded:
(a) HHH(DDD) is encoded to abort its simulation.
(b) HHH(DDD) is encoded to never abort its simulation.
We can know that (b) is wrong because this fails to meet the design requirement that HHH must itself halt.
We also know that any simulation that must be aborted to prevent the infinite execution of the simulator is necessarily a non-halting input.
We also know that (a) is wrong, because HHH, when simulated by itself, runs one cycle behind the HHH that simulates. When the simulating HHH aborts, the simulated HHH has one cycle to go, after which it would halt of its own. Therefore, the simulation is incomplete and incorrect.
It is clear that HHH cannot possibly simulate itself correctly.
The conclusion is that both hypothetical ways to encode HHH result in an incorrect HHH.
Again, olcott introduces DDD in order to hide the fact that the problem is in HHH itself.
int main() {
return HHH(main);
}
has the same problem, proving that the problem is not in DDD, but in HHH.