Sujet : Re: DDD correctly emulated by HHH cannot possibly halt
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theory sci.logicDate : 10. Jul 2024, 04:51:21
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <a25a97dc4e7fc148f7cb89ed2bd58bdd0ffdfdd7@i2pn2.org>
References : 1
User-Agent : Mozilla Thunderbird
On 7/9/24 7:49 PM, olcott wrote:
_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)
DDD correctly emulated by any pure function HHH that
correctly emulates 1 to ∞ steps of DDD can't make it
past the above line of code no matter what.
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
Nope, you have a problem with your definitons
If HHH "correctly" emulatates only a finite number of steps, and then stops, it did NOT ACTUALLY CORRECTLY emulate the input, as one part of the definition of all the instructions it saw was that the next instruction in sequence WILL be run.
Thus, an only PARTIAL emulation does not reveal the full behaior of the input, and says nothing about what happens in the behavior of the input after that point.
If that is what HHH does, as you claims make it clear is what actually happens, then the actual CORRECT behavior of DDD (that was partially emulated by HHH) will see that HHH return to it (but HHH will not see that happen) and thus it will return.
Yes, if your HHH actually does a COMPLETE correct emulation as you statement above seems to say, then DDD will not return, but HHH will never answer, and thus never reported on the behavior (as pure functions can only report by their return value)