Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: olcott Newsgroups: comp.theory Subject: Re: Incorrect requirements --- Computing the mapping from the input to HHH(DD) Date: Thu, 8 May 2025 16:41:51 -0500 Organization: A noiseless patient Spider Lines: 64 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 08 May 2025 23:41:51 +0200 (CEST) Injection-Info: dont-email.me; posting-host="f36da193996cadd52a214445b52881fc"; logging-data="2289937"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/SrUSRL+UWQjmL9fQctJcv" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:PrjWin7i1TdLd3o74bkTScxetOA= X-Antivirus: Norton (VPS 250508-4, 5/8/2025), Outbound message Content-Language: en-US X-Antivirus-Status: Clean In-Reply-To: Bytes: 4233 On 5/8/2025 3:01 PM, Richard Heathfield wrote: > On 08/05/2025 20:42, olcott wrote: >> On 5/8/2025 2:04 PM, Fred. Zwarts wrote: >>> Op 08.mei.2025 om 19:00 schreef olcott:>>>> >>>> int DD() >>>> { >>>>    int Halt_Status = HHH(DD); >>>>    if (Halt_Status) >>>>      HERE: goto HERE; >>>>    return Halt_Status; >>>> } >>>> >>>> The key gist of the issue (no weeds involved) >>>> is that HHH emulated DD according to the rules >>>> of the x86 language >>>> >>>> >>>>      *until H correctly determines that* >>>>      *its simulated D would never stop running unless aborted* >>>> >>> >>> And since H does not correctly determine that its simulated D would >>> never stop running unless aborted, it is a vacuous statement and >>> Sipser's agreement does not tell anything. >>> >> >> That is counter factual as any fully qualified >> C programmer will tell you. > > As any competent C programmer can tell you, your simulation is driven by > assembly language, not C. Furthermore, neither halt7.c nor x86utm.cpp is > syntactically correct C. Once you fix the syntax errors, that still > leaves you with the undefined behaviour. > > Getting it right is tedious. > void DDD() { HHH(DDD); return; } What my code actually does is totally irrelevant. The relevant point is that no function that unconditionally calls its own simulator can possibly reach its own final state. _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] The exact same thing goes for any function that calls its own emulator. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer