Sujet : Re: Who here understands that the last paragraph is Necessarily true? --- Honest Dialogue
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theoryDate : 20. Jul 2024, 20:05:20
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7h1pg$3lcvq$5@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 20.jul.2024 om 16:25 schreef olcott:
On 7/20/2024 4:15 AM, Mikko wrote:
On 2024-07-19 14:49:46 +0000, olcott said:
>
On 7/19/2024 4:14 AM, Mikko wrote:
On 2024-07-18 14:18:51 +0000, olcott said:
>
When you are hungry you remain hungry until you eat.
Before HHH(DDD) aborts its emulation the directly
executed DDD() cannot possibly halt.
>
After you eat you are no longer hungry.
After HHH(DDD) aborts its emulation the directly
executed DDD() halts.
>
If DDD does not halt it indicates that HHH is faulty. Therefore the
interesting question is whether DDD halts, not when DDD halts.
>
This time I made a typo that is much worse than my usual typos.
Pro "when DDD halts" lege "when HHH halts".
>
*By your same reasoning*
If Infinite_Loop() does not halt HHH is faulty.
>
No, the reasoning must be differ. Infinite_Loop can be proven to halt
by a simple inspection of a short code. Similar simple inspection of
DDD reveals that DDD does halt if HHH halts but not whether HHH halts.
Therefore the interesting question, needed to complete the proof, is
whether HHH halts. If that can be determined the question about DDD
is easy.
>
In other words if Infinite_Loop() is an actual infinite
loop then this is all the fault of HHH.
>
Nothing is the fault of HHH. If a program is faulty it is the fault
of the author of the program. Usually an infinite loop is a fault
but that depends on the purpose and specification of the program.
Sometimes a program is faulty if it does terminate.
>
*Until you understand that this is true*
*we cannot have an honest dialogue*
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
int main()
{
DDD();
}
Calls HHH(DDD) that must abort the emulation of its input
or {HHH, emulated DDD and executed DDD} never stop running.
And when it aborts, it aborts one cycle too soon, making the simulation 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.