Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: immibis Newsgroups: comp.theory Subject: Re: D correctly simulated by H cannot possibly reach its own line 06 and halt Date: Fri, 31 May 2024 10:39:44 +0200 Organization: A noiseless patient Spider Lines: 36 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 31 May 2024 10:39:44 +0200 (CEST) Injection-Info: dont-email.me; posting-host="b911487e33b1d0078ab1098fd0a19e69"; logging-data="2276434"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX196PZys4P9i+1rY29CcTuwt" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:liTw2xVsdddP990HaVHsdX5H3qU= In-Reply-To: Content-Language: en-US Bytes: 2371 On 31/05/24 00:01, olcott wrote: > On 5/30/2024 4:54 PM, joes wrote: >> Am Thu, 30 May 2024 09:55:24 -0500 schrieb olcott: >> >>> typedef int (*ptr)();  // ptr is pointer to int function in C >>> 00       int H(ptr p, ptr i); >>> 01       int D(ptr p) >>> 02       { >>> 03         int Halt_Status = H(p, p); >>> 04         if (Halt_Status) >>> 05           HERE: goto HERE; >>> 06         return Halt_Status; >>> 07       } >>> 08 >>> 09       int main() >>> 10       { >>> 11         H(D,D); >>> 12         return 0; >>> 13       } >>> >>> The left hand-side are line numbers of correct C code. >>> This code does compile and does conform to c17. >>> >>> Everyone with sufficient knowledge of C can easily determine that D >>> correctly emulated by any *pure function* H (using an x86 emulator) >>> cannot possibly reach its own simulated final state at line 06 and halt. >> Yeah, of course not, if H doesn’t halt. >> > > To actually understand my words (as in an actual honest dialogue) > you must pay careful attention to every single word. Maybe you > had no idea that *pure functions* must always halt. H doesn't halt. If you are right, H isn't a pure function.