Re: DDD correctly emulated by H0 -- Ben agrees that Sipser approved criteria is met

Liste des GroupesRevenir à theory 
Sujet : Re: DDD correctly emulated by H0 -- Ben agrees that Sipser approved criteria is met
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theory sci.logic
Date : 27. Jun 2024, 04:39:24
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <v5ijcs$17ej1$11@i2pn2.org>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
User-Agent : Mozilla Thunderbird
On 6/26/24 10:06 PM, Mike Terry wrote:
On 27/06/2024 02:52, Richard Damon wrote:
On 6/26/24 9:30 PM, Mike Terry wrote:
On 27/06/2024 02:15, Mike Terry wrote:
On 27/06/2024 01:42, Richard Damon wrote:
On 6/26/24 8:20 PM, olcott wrote:
On 6/26/2024 6:55 PM, Richard Damon wrote:
On 6/26/24 7:46 PM, olcott wrote:
On 6/26/2024 6:41 PM, Richard Damon wrote:
On 6/26/24 9:42 AM, olcott wrote:
On 6/26/2024 6:02 AM, Richard Damon wrote:
On 6/25/24 11:42 PM, olcott wrote:
>
That is not the way that it actually works.
That the the way that lies are defined.
>
Source for you claim?
>
Where is you finite set of steps from the truthmakers of the system to that claim?
>
>
_DDD()
[00002172] 55               push ebp      ; housekeeping
[00002173] 8bec             mov ebp,esp   ; housekeeping
[00002175] 6872210000       push 00002172 ; push DDD
[0000217a] e853f4ffff       call 000015d2 ; call H0(DDD)
[0000217f] 83c404           add esp,+04
[00002182] 5d               pop ebp
[00002183] c3               ret
Size in bytes:(0018) [00002183]
>
The call from DDD to H0(DDD) when DDD is correctly emulated
by H0 cannot possibly return.
>
Sure it can. I have shown an H0 that does so.
>
>
I already told you that example does not count.
>
I can't keep repeating those details or others
that so far have no idea what an x86 emulator is
will be baffled beyond all hope of comprehension.
>
>
WHy not?
>
>
We have already been over that you know that you cheated.
>
>
Nope, since you didn't put in the rule, and if you had it would have shown that you lied, as if H0 is a pure function then the call to H0 emulated by H0 needs to have the same behaivor as the direct call to H0 by main.
>
Incidentally, the nonconformance you're referring to is shown explicitly in the "195 page trace" that PO linked to.  [I.e. the simulated H does not correctly track the code path of the outer H.]
>
I suppose I should have made clear, that's not simply due to the simulated H being aborted.  There is an instruction in H:   [actually, in Init_Halts_HH()]
>
[000012e4] 753b jnz 00001321
>
and in outer H control proceeds to 000012e6  [i.e. branch not taken],
whilein simulated H control proceeds to 00001321  [i.e. branch taken]
>
>
Mike.
>
>
Would need to look closer at the code, but I bet that the simulated machine is looking into the trace buffer to see if it is simulated or not.
 Has PO published the C code for the trace?  Anyhow, given that its in Init_Halts_HH(), I expect its a global area being initialised - probably the global trace table.
 
>
In effect, it is misusing static memory just like he says isn't allowed.
 Right.
  Mike.
 
He published the source code of at least his earlier code, and I suspect he hasn't made major changes to it. I forget it it was a zip file on his server or a Github repository.
THe code for Init_Halts_HH() is:
u32 Init_Halts_HH(u32**                   Aborted,
                   u32**                   execution_trace,
                   Decoded_Line_Of_Code**  decoded,
                   u32*                    code_end,
                   u32                     P,
                   Registers**             master_state,
                   Registers**             slave_state,
                   u32**                   slave_stack)
{
   *decoded      = (Decoded_Line_Of_Code*) Allocate(sizeof(Decoded_Line_Of_Code));
   *code_end     = get_code_end(P);
   *master_state = (Registers*) Allocate(sizeof(Registers));
   *slave_state  = (Registers*) Allocate(sizeof(Registers));
   *slave_stack  = Allocate(0x10000); // 64k
   Output((char*)"New slave_stack at:", (u32)*slave_stack);
   if (**execution_trace == 0x90909090)
   {
//  Global_Recursion_Depth = 0;
     **Aborted = 0;
     **execution_trace = (u32)Allocate(sizeof(Decoded_Line_Of_Code) * 10000);
     Output((char*)"\nBegin Local Halt Decider Simulation   "
            "Execution Trace Stored at:", **execution_trace);
     return 1;
   }
   return 0;
}
Note the mention of "Global_Recursion_Depth", a decider shouldn't be able to know that it isn't the top level decider.

Date Sujet#  Auteur
10 Nov 24 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal