Sujet : Re: DDD correctly emulated by HHH is correctly rejected as non-halting.
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 12. Jul 2024, 16:54:13
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6rg2l$32o1o$2@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12
User-Agent : Mozilla Thunderbird
On 7/12/2024 8:46 AM, joes wrote:
Am Fri, 12 Jul 2024 07:34:59 -0500 schrieb olcott:
Aborting is what a simulating termination analyzer must do for any input
that cannot possibly otherwise stop running.
Yes, which makes it not a simulator.
Why does DDD not halt?
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
No DDD instance of each HHH/DDD pair ever reaches past its
own machine address of 0000216b and halts.
Thus each HHH element of the above infinite set of HHH/DDD
pairs is necessarily correct to reject its DDD as non-halting.
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer