• Re: DD simulated by HHH specifies non-halting

    From olcott@polcott333@gmail.com to comp.theory,sci.logic,comp.lang.c,comp.lang.c++ on Wed Dec 17 07:48:48 2025
    From Newsgroup: comp.lang.c

    On 12/17/2025 4:45 AM, Tristan Wibberley wrote:
    On 17/12/2025 00:33, olcott wrote:
    On 12/16/2025 12:15 PM, Tristan Wibberley wrote:
    On 16/12/2025 17:00, olcott wrote:
    In my system HHH(DD)==0 and HHH1(DD)==1
    because DD calls HHH(DD) in recursive simulation

    Does it really? or does it call HHH(DD') where DD' is a partly-changed
    form of DD (albeit one with the same "halts?" property).

    Does HHH report on DD when it is given DD' or does the observer make the >>> deductive leap, reporting on DD using the report for DD' as a template
    for the identity translation?


    I know C, C++ and x86 assembly language
    do you know one of those? I can't explain
    it in a language that I do not know.


    I know each of the three to some degree. However an attempt to create a succinct proposition--one that's to the point--and only attempt to prove
    it later, would help the conversation with me.

    Note: I use "program address" below, it's a term due to Dijkstra used to describe points in an executing program (distinct from points in the
    program text). I suppose you may extend the concept to include
    simulations as an element of a tuple that forms the address where a simulation is begun at an address and has addresses of its own.

    e.g.: "the things simulated by HHH(DD) in the C code that follows are, infact, not DD because HHH at the program address of the recursion is
    given something different than the top level machine ..."
    or: "the things simulated by HHH(DD) in the C code that that follows are actually D because ..."

    I think it's neither, thinking deeply about it, but I was thinking it's
    the former. Perhaps that means my question is impertinent.



    *Whole x86utm repository*
    https://github.com/plolcott/x86utm https://github.com/plolcott/x86utm?tab=readme-ov-file#readme

    *Termination Analyzers and their inputs* https://github.com/plolcott/x86utm/blob/master/Halt7.c

    *x86utm operating system anchored in an x86 emulator* https://github.com/plolcott/x86utm/blob/master/x86utm.cpp https://github.com/plolcott/x86utm/blob/master/include/Read_COFF_Object.h

    *Fully operational code execution trace of DD simulated by HHH*
    (a) Every line of code of main().
    (b) Every line of code of DD simulated by any HHH.
    (c) The 170 pages of HHH simulated by itself are not shown.
    It makes examination too confusing.

    int DD()
    {
    int Halt_Status = HHH(DD);
    if (Halt_Status)
    HERE: goto HERE;
    return Halt_Status;
    }

    int main()
    {
    HHH(DD);
    return 0;
    }

    _DD()
    [00002183] 55 push ebp
    [00002184] 8bec mov ebp,esp
    [00002186] 51 push ecx
    [00002187] 6883210000 push 00002183
    [0000218c] e832f4ffff call 000015c3
    [00002191] 83c404 add esp,+04
    [00002194] 8945fc mov [ebp-04],eax
    [00002197] 837dfc00 cmp dword [ebp-04],+00
    [0000219b] 7402 jz 0000219f
    [0000219d] ebfe jmp 0000219d
    [0000219f] 8b45fc mov eax,[ebp-04]
    [000021a2] 8be5 mov esp,ebp
    [000021a4] 5d pop ebp
    [000021a5] c3 ret
    Size in bytes:(0035) [000021a5]

    _main()
    [000021b3] 55 push ebp
    [000021b4] 8bec mov ebp,esp
    [000021b6] 6883210000 push 00002183
    [000021bb] e803f4ffff call 000015c3
    [000021c0] 83c404 add esp,+04
    [000021c3] 33c0 xor eax,eax
    [000021c5] 5d pop ebp
    [000021c6] c3 ret
    Size in bytes:(0020) [000021c6]

    machine stack stack machine assembly
    address address data code language
    ======== ======== ======== ============== ============= [000021b3][00103864][00000000] 55 push ebp [000021b4][00103864][00000000] 8bec mov ebp,esp [000021b6][00103860][00002183] 6883210000 push 00002183 // push DD [000021bb][0010385c][000021c0] e803f4ffff call 000015c3 // call HHH
    New slave_stack at:103908

    Begin Local Halt Decider Simulation Execution Trace Stored at:113910 [00002183][00113900][00113904] 55 push ebp [00002184][00113900][00113904] 8bec mov ebp,esp [00002186][001138fc][00103908] 51 push ecx [00002187][001138f8][00002183] 6883210000 push 00002183 // push DD [0000218c][001138f4][00002191] e832f4ffff call 000015c3 // call HHH
    New slave_stack at:14e330
    [00002183][0015e328][0015e32c] 55 push ebp [00002184][0015e328][0015e32c] 8bec mov ebp,esp [00002186][0015e324][0014e330] 51 push ecx [00002187][0015e320][00002183] 6883210000 push 00002183 // push DD [0000218c][0015e31c][00002191] e832f4ffff call 000015c3 // call HHH
    Local Halt Decider: Infinite Recursion Detected Simulation Stopped

    [000021c0][00103864][00000000] 83c404 add esp,+04 [000021c3][00103864][00000000] 33c0 xor eax,eax [000021c5][00103868][00000018] 5d pop ebp [000021c6][0010386c][00000000] c3 ret
    Number of Instructions Executed(11422) == 170 Pages
    --
    Copyright 2025 Olcott<br><br>

    My 28 year goal has been to make <br>
    "true on the basis of meaning expressed in language"<br>
    reliably computable.<br><br>

    This required establishing a new foundation<br>
    --- Synchronet 3.21a-Linux NewsLink 1.2