Liste des Groupes | Revenir à c theory |
On 10/18/24 8:52 PM, olcott wrote:We are not asking if the code of HHH reaches insideOn 10/18/2024 6:06 PM, Richard Damon wrote:Ambiguouse question, as pointed out previously.On 10/18/24 10:10 AM, olcott wrote:>On 10/18/2024 6:17 AM, Richard Damon wrote:>On 10/17/24 11:47 PM, olcott wrote:>On 10/17/2024 10:27 PM, Richard Damon wrote:>On 10/17/24 9:47 PM, olcott wrote:>On 10/17/2024 8:13 PM, Richard Damon wrote:>On 10/17/24 7:31 PM, olcott wrote:>_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 DDD is correctly emulated by HHH according
to the semantics of the x86 language DDD cannot
possibly reach its own machine address [00002183]
no matter what HHH does.
>
+-->[00002172]-->[00002173]-->[00002175]-->[0000217a]--+
+------------------------------------------------------+
>
That may not line up that same way when view
>
>
>
>
https://en.wikipedia.org/wiki/State_diagram
>
>
Except that 0000217a doesn't go to 00002172, but to 000015d2
>
IS THIS OVER YOUR HEAD?
What is the first machine address of DDD that HHH
emulating itself emulating DDD would reach?
>
Yes, HHH EMULATES the code at that address,
Which HHH emulates what code at which address?
>
Everyone, just once, which you should know, but ignore.
>
The Emulating HHH sees those addresses at its begining and then never again.
>
Then the HHH that it is emulating will see those addresses, but not the outer one that is doing that emulation of HHH.
>
Then the HHH that the second HHH is emulating will, but neither of the outer 2 HHH.
>
And so on.
>
Which HHH do you think EVER gets back to 00002172?
>
What instruction do you think that it emulates that would tell it to do so?
>
It isn't the call instruction at 0000217a, as that tells it to go into HHH.
>
At best the trace is:
>
00002172
00002173
00002175
0000217a
conditional emulation of 00002172
conditional emulation of 00002173
conditional emulation of 00002175
conditional emulation of 0000217a
CE of CE of 00002172
...
>
OK great this is finally good progress.
>The "state" never repeats, it is alway a new state,>
Every emulated DDD has an identical process state at every point
in its emulation trace when adjusting for different top of stack values.
>
Nope, remember, each of those levels are CONDITIONAL,
*There are THREE different questions here*
(1) Can DDD emulated by HHH according to the semantics
of the x86 language possibly reach its machine address
[00002183] no matter what HHH does?
>
A) Do you mean the behavior of the PROGRAM DDD, that HHH has emulated a copy of.
In that case, the answer is, if HHH aborts its emulation and return, YES, if HHH never aborts its emulation, and thus doesn't ever return an answer to anyone NO.
B) If you mean, does the emulation done by HHH ever reach that place, no.
In other words you fail to comprehend that DDD failing(2) Does HHH correctly detect and report the above?No, because that isn't what you claim HHH is doing, so it can't be correct about that.
We need to look at the two possible interpreations to question 1.I mean that the execution trace of DDD proves that HHH is correct
If you means A, then since HHH says no but the correct answer is yes, it is wrong.
If you mean B, and you mean your question is can HHH predict that it can't reach the final state, but only needs to be right for this one input, then the problem is the question has become trivial, if it doesn't need to actually know anything about the input, it can just be programmed to say no.
Also, we can make a trivial HHH, that just does the absolute minimum, then aborts and returns no unconditionally to be correct, showing your problem isn't interesting.Yet again you are not answering the question that
Or, your "problem" has left the domain of Program Theory, becuause you don't consider DDD to be an actual program, at which point it also becomes much less interesting.
>No, because the method your HHH uses isn't possible to be expressed as a Turing Machine with a seperate input tape with the full representatation of the program DDD.
(3) Does HHH do (2) it as a Turing computable function?
>
This assumes that you implied intent is that DDD is given as a description of the equivalent Turing Machine, and not just a text string that doesn't represent a full program, or that HHH doesn't need to--
Les messages affichés proviennent d'usenet.