Sujet : Re: Proof that DDD specifies non-halting behavior --- point by point --- in our head
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theoryDate : 15. Aug 2024, 00:40:49
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <be041261e6d47d07a3b29255dc408e6803d870ad@i2pn2.org>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla Thunderbird
On 8/14/24 9:34 AM, olcott wrote:
On 8/14/2024 6:22 AM, Richard Damon wrote:
On 8/14/24 12:24 AM, olcott wrote:
On 8/13/2024 11:04 PM, Richard Damon wrote:
On 8/13/24 11:48 PM, olcott wrote:
On 8/13/2024 10:21 PM, Richard Damon wrote:
On 8/13/24 10:38 PM, olcott wrote:
On 8/13/2024 9:29 PM, Richard Damon wrote:
On 8/13/24 8:52 PM, olcott wrote:
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]
>
A simulation of N instructions of DDD by HHH according to
the semantics of the x86 language is necessarily correct.
>
>
Nope, it is just the correct PARTIAL emulation of the first N instructions of DDD, and not of all of DDD,
>
That is what I said dufuss.
>
Nope. You didn't. I added clairifying words, pointing out why you claim is incorrect.
>
For an emulation to be "correct" it must be complete, as partial emulations are only partially correct, so without the partial modifier, they are not correct.
>
>
A complete emulation of one instruction is
a complete emulation of one instruction
>
>
>
>
>
>
A correct simulation of N instructions of DDD by HHH is
sufficient to correctly predict the behavior of an unlimited
simulation.
>
Nope, if a HHH returns to its caller,
>
*Try to show exactly how DDD emulated by HHH returns to its caller*
(the first one doesn't even have a caller)
Use the above machine language instructions to show this.
>
>
Remember how English works:
>
When you ask "How DDD emulated by HHH returns to its callers".
>
Show the exact machine code trace of how DDD emulated
by HHH (according to the semantics of the x86 language)
reaches its own machine address 00002183
>
No. The trace is to long,
>
Show the Trace of DDD emulated by HHH
and show the trace of DDD emulated by HHH
emulated by the executed HHH
Just show the DDD code traces.
>
>
First you need to make a DDD that meets the requirements, and that means that it calls an HHH that meets the requirements.
>
_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]
The is a hypothetical mental exercise and can be
accomplished even if the only DDD in the world
was simply typed into a word processor and never run.
But, must behave the rules of Computation Theory.
That means DDD, to be a program, includes the code of HHH, and that HHH obeys the requirements of programs in computation theory, which means that it always produces the same answer to its caller for the same input.
Note, its "Behavior" is defined as what it would do when run, even if it never is,
HHH can be purely imaginary yet must emulate the
above code and itself according to the semantics
of the x86 language. In this case HHH is a pure
emulator.
No, it must emulate ALL the code of the PROGRAM DDD, which include the code of HHH.
That, or you never had a PROGRAM DDD to give to HHH and you whole hypothetical blows up as a LIE.
On this basis we know that such an HHH would
emulate the first four instructions of DDD.
This includes a calls from the emulated DDD
to an emulated HHH(DDD).
This emulated HHH would emulate the first
four instructions of DDD.
And the emulating HHH, needs to trace how that HHH does its emulation, not the results of the emulation, as that is what the code of "DDD"
We can do that all in our head never needing
any actually existing HHH.
And eitehr HHH CONDITIONALLY emulates DDD, and thus can break out of the loop, or it can't.
If it can, and it will, then DDD is Halting.
If it can't, then HHH can NEVER answer, and thus isn't a decider.
All other points are moot and will simply be erased
until we have mutual agreement on this point.
No, you NEED to answer the problems shown, or you are just admitting that you idea is all just a pathetic lie.
This seems to be your fundamental problem (or as one friend of mine calls it, a FUNNY-MENTAL problem) that you don't understand the fundamental definitions of what you are talking about.
Halting is a property of FULL PROGRAMS, and by the rules of Compuation Theory programs include ALL of the code they use, and their behavior can only depend on that code and the data explicitly given as the input.
You "DDD" that contains only those byte specified, just isn't a program, so you lost the argument at your first paragraph.
The fact that you don't understand this, and refuse to learn or accept it does mean that you have a "funny-mental" problem that just proves you are incapable of dealing with the topic you are trying to talk about, and just failing horribly.