Sujet : Re: DDD emulated by HHH --- (does not refer to prior posts)
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theoryDate : 27. Aug 2024, 12:31:57
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <aa5b4ea58acc78215b23c4a99e7a688a76b099db@i2pn2.org>
References : 1
User-Agent : Mozilla Thunderbird
On 8/26/24 10:33 PM, olcott wrote:
This is intended to be a stand-alone post that does not
reference anything else mentioned in any other posts.
void DDD()
{
HHH(DDD);
return;
}
_DDD()
[00002172] 55 push ebp ; housekeeping
[00002173] 8bec mov ebp,esp ; housekeeping
[00002175] 6872210000 push 00002172 ; push DDD
[0000217a] e853f4ffff call 000015d2 ; call HHH(DDD)
[0000217f] 83c404 add esp,+04
[00002182] 5d pop ebp
[00002183] c3 ret
Size in bytes:(0018) [00002183]
When we assume that:
(a) HHH is an x86 emulator that is in the same memory space as DDD.
(b) HHH emulates DDD according to the semantics of the x86 language.
then we can see that DDD emulated by HHH cannot possibly get past
its own machine address 0000217a.
But only under a couple of conditions and implications.
1) It only hold *IF* and *ONLY IF* HHH is IN FACT an actual x86 emulator that totally emulates the input given to it, and NEVER "stops" before reaching an end.
If HHH decides to stop emulating and returning, then the DDD that it was emulating will reach its end, just after the point that HHH emulated it, as DDD refers to the FULL PROGRAM DDD, and not just the fragment shown, and its behavior is its full behavior. (If you want the behavior of the emulation, then that needs to be the subject of the sentence, not DDD).
2) Such an HHH is BY DEFINITION not a pure function, as to do what it is described to do, it needed to use information that was not part of its input, namely the code for the HHH that DDD is calling, that you have excluded from the input.
3) Since HHH in emulating this input needs to access information outside that input to perform that action, the results also only apply to the case where that extra data still matches, in other words, it only applies to a correct emulation of a DDD that calls a non-aborting correctly emulating HHH.
Thus, while we KNOW you are just lying about this actually intending on being a stand-alone post, your conditions actually force it to be, as your conditions EXCLUDE HHH from being changed to a Halt Decider and still have the results applicable.
Sorry, you are painting yourself into a box.