Sujet : Re: Proof that DDD specifies non-halting behavior --- point by point
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 15. Aug 2024, 16:25:07
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v9l6kj$10ae5$4@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 8/15/2024 5:22 AM, Mikko wrote:
On 2024-08-14 13:06:27 +0000, olcott said:
On 8/14/2024 3:17 AM, Mikko wrote:
On 2024-08-14 00:52:36 +0000, olcott said:
>
void DDD()
{
HHH(DDD);
return;
}
>
In order to prove that the above specifies a non-halting behavour
you must prove that HHH(DDD) does not terminate.
>
Wrong.
At least the proof that DDD does not terminate also proves as an
intermedate result or an obvious corollary that HHH does not halt.
Non-halting means that an infinite number of instructions can be
executed without halting. That means that at least one instruction
is executed infinitely many times as there are only finitely many
instructions. But not instrunctions of DDD outside HHH is executed
infinitely many times.
Wrong. Non-halting only means that when DDD is emulated
according to the semantics of the x86 language and this
emulation is unlimited that DDD would never reach its
own "return" instruction.
HHH need not do this unlimited emulation to correctly
predict the behavior of an unlimited emulation.
It a form of mathematical induction adapted for use
with execution traces.
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer