• DD correctly simulated by HHH proves that it never stops running

    From olcott@polcott333@gmail.com to comp.theory,comp.lang.c++,comp.lang.c,comp.ai.philosophy on Mon Aug 25 10:13:33 2025
    From Newsgroup: comp.lang.c++

    On 8/25/2025 1:11 AM, Richard Heathfield wrote:
    On 25/08/2025 05:59, olcott wrote:
    On 8/23/2025 11:44 PM, Richard Heathfield wrote:
    On 23/08/2025 21:40, olcott wrote:
    When we eliminate the static data then the
    fact that DD() never halts proves that HHH(DD)==0.

    ...and DD promptly halts. Odd, that.

    No it actually never halts.

    This is where you like to say "tisn't", except that you spell it "counter-factual".

    But when /I/ say "tisn't", I back it up with verifiable acts.

    Here's my proof that DD halts.

    $ cat dd.c
    #include <stdio.h>

    #define HHH(x) 0

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


    int main()
    {
    -a int hhh = HHH(DD);
    -a int dd = DD();

    -a printf("Because we got here, we know that both HHH and DD halted.\n");

    -a printf("But is that what they claim?\n\n");
    -a printf("HHH(DD) yields %d (%s).\n",-a hhh, hhh ? "halted" : "incorrect claim of non-halting");
    -a printf("DD yields %d (%s).\n",-a dd, dd ? "halted" : "incorrect claim
    of non-halting");

    -a return 0;
    }
    $ gcc -o dd dd.c
    $ ./dd
    Because we got here, we know that both HHH and DD halted.
    But is that what they claim?

    HHH(DD) yields 0 (incorrect claim of non-halting).
    DD yields 0 (incorrect claim of non-halting).



    When the abort code is removed by a compile
    time switch x86utm reaches its compile time
    max instructions emulated: 20,000,000 and requires
    9 reams of paper to print the full execution trace.

    _DD()
    [00002153] 55 push ebp
    [00002154] 8bec mov ebp,esp
    [00002156] 51 push ecx
    [00002157] 6853210000 push 00002153
    [0000215c] e822f4ffff call 00001583
    [00002161] 83c404 add esp,+04
    [00002164] 8945fc mov [ebp-04],eax
    [00002167] 837dfc00 cmp dword [ebp-04],+00
    [0000216b] 7402 jz 0000216f
    [0000216d] ebfe jmp 0000216d
    [0000216f] 8b45fc mov eax,[ebp-04]
    [00002172] 8be5 mov esp,ebp
    [00002174] 5d pop ebp
    [00002175] c3 ret
    Size in bytes:(0035) [00002175]

    _main()
    [00002183] 55 push ebp
    [00002184] 8bec mov ebp,esp
    [00002186] e8c8ffffff call 00002153
    [0000218b] 33c0 xor eax,eax
    [0000218d] 5d pop ebp
    [0000218e] c3 ret
    Size in bytes:(0012) [0000218e]

    machine stack stack machine assembly
    address address data code language
    ======== ======== ======== ============== ============= [00002183][0010384e][00000000] 55 push ebp [00002184][0010384e][00000000] 8bec mov ebp,esp [00002186][0010384a][0000218b] e8c8ffffff call 00002153 [00002153][00103846][0010384e] 55 push ebp [00002154][00103846][0010384e] 8bec mov ebp,esp [00002156][00103842][00000000] 51 push ecx [00002157][0010383e][00002153] 6853210000 push 00002153 [0000215c][0010383a][00002161] e822f4ffff call 00001583
    New slave_stack at:1038f2

    Begin Local Halt Decider Simulation Execution Trace Stored at:1138fa [00002153][001138ea][001138ee] 55 push ebp [00002154][001138ea][001138ee] 8bec mov ebp,esp [00002156][001138e6][001038f2] 51 push ecx [00002157][001138e2][00002153] 6853210000 push 00002153 [0000215c][001138de][00002161] e822f4ffff call 00001583
    New slave_stack at:14e31a
    [00002153][0015e312][0015e316] 55 push ebp [00002154][0015e312][0015e316] 8bec mov ebp,esp [00002156][0015e30e][0014e31a] 51 push ecx [00002157][0015e30a][00002153] 6853210000 push 00002153 [0000215c][0015e306][00002161] e822f4ffff call 00001583
    New slave_stack at:15e3ba
    [00002153][0016e3b2][0016e3b6] 55 push ebp [00002154][0016e3b2][0016e3b6] 8bec mov ebp,esp [00002156][0016e3ae][0015e3ba] 51 push ecx [00002157][0016e3aa][00002153] 6853210000 push 00002153 [0000215c][0016e3a6][00002161] e822f4ffff call 00001583
    New slave_stack at:16e45a
    [00002153][0017e452][0017e456] 55 push ebp [00002154][0017e452][0017e456] 8bec mov ebp,esp [00002156][0017e44e][0016e45a] 51 push ecx [00002157][0017e44a][00002153] 6853210000 push 00002153 [0000215c][0017e446][00002161] e822f4ffff call 00001583
    New slave_stack at:17e4fa
    Number of Instructions Executed(20000000) == 298507 Pages

    Therefore HHH(DD)==0 is proven to be correct.
    --
    Copyright 2025 Olcott "Talent hits a target no one else can hit; Genius
    hits a target no one else can see." Arthur Schopenhauer
    --- Synchronet 3.21a-Linux NewsLink 1.2