Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Fred. Zwarts" Newsgroups: comp.theory Subject: Re: Disagreeing with tautologies is always incorrect Date: Thu, 29 May 2025 17:46:49 +0200 Organization: A noiseless patient Spider Lines: 49 Message-ID: <1019vha$3trm3$2@dont-email.me> References: <1019v06$3u8nj$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 29 May 2025 17:46:50 +0200 (CEST) Injection-Info: dont-email.me; posting-host="89ce96b209cc371c533175d11854c49a"; logging-data="4124355"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IFFIwCLDhayZLw3/APjUu" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:BcZkduh7ofQxcH3wImf1QJ71sSo= Content-Language: nl, en-GB In-Reply-To: <1019v06$3u8nj$1@dont-email.me> Op 29.mei.2025 om 17:37 schreef olcott: > HHH is a simulating termination analyzer that uses > an x86 emulator to emulate its input. HHH is capable > of emulating itself emulating DDD. > > HHH is executed within the x86utm operating system > that enables any C function to execute another C > function in debug step mode. > > *Here is the fully operational code* > https://github.com/plolcott/x86utm/blob/master/Halt7.c > > void DDD() > { >   HHH(DDD); >   return; > } > > _DDD() > [00002192] 55             push ebp > [00002193] 8bec           mov ebp,esp > [00002195] 6892210000     push 00002192 > [0000219a] e833f4ffff     call 000015d2  // call HHH > [0000219f] 83c404         add esp,+04 > [000021a2] 5d             pop ebp > [000021a3] c3             ret > Size in bytes:(0018) [000021a3] > > >     If simulating halt decider H correctly simulates its >     input D until H correctly determines that its simulated D >     would never stop running unless aborted then > > It is a tautology that any input D to termination > analyzer H that *would never stop running unless aborted* > DOES SPECIFY NON-TERMINATING BEHAVIOR. > Indeed, but the input given to HHH is a pointer to memory starting with the code of DDD. DDD has the addresses of the functions it calls, so those functions are also available to HHH. This program includes the code where the program aborts and halts. If HHH would correctly analyse this input, it would see that no abort is needed. Even without abort by the simulating HHH, the simulated HHH would abort and make the program halt. (Unless the input is changed, but that is a change of subject.) So, your tautology does not apply for this input. It is a verified fact that due to a bug in HHH it does not see the full specification of the input, in particular not the part with the abort. That HHH does not see that part does not take away that this abort is part of the specification in the input.