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, 03:11:05
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <54c2cf5516e1477512a9dc4df913c8747164c631@i2pn2.org>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Mozilla Thunderbird
On 8/14/24 10:03 PM, olcott wrote:
On 8/14/2024 6:40 PM, Richard Damon wrote:
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,
>
No that is the big mistake of comp theory where it violates
its own rules.
WHAT rule does it violate? And where do you get it from?
This is just your ignorance speaking.
Deciders need to try to compute the Mapping that is defined MATHEMATICALLY.
For Halting, that mapping is from the behavior of the program the input describes to whether it Halts or Not.
What rule does that break?
Nothing in the definition says that the decider needs to actually be able to compute that results, and in fact, the big question is if there exists a program that can.
Thus, "Non-computable" functions are a thing, and fully proper.
Halting turns out to be one of them.
The mapping that a given program produces shows what it does decide, if that doesn't match the mapping it is supposed to produce, it just isn't correct.
Something you don't seem to be able to understand, that things can be incorrect.