Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "Fred. Zwarts" <F.Zwarts@HetNet.nl> Newsgroups: comp.theory Subject: Re: D correctly simulated by H cannot possibly reach its own line 06 and halt Date: Fri, 31 May 2024 17:37:44 +0200 Organization: A noiseless patient Spider Lines: 64 Message-ID: <v3cqs8$29k17$2@dont-email.me> References: <v3a40t$1o2ef$1@dont-email.me> <v3asj2$2ihjj$2@i2pn2.org> <v3asv1$1s60g$1@dont-email.me> <v3bvg7$24rgd$1@dont-email.me> <v3cml5$28tmt$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 31 May 2024 17:37:44 +0200 (CEST) Injection-Info: dont-email.me; posting-host="cf53965cd5e18e109738f16cf9deb9c3"; logging-data="2412583"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/V5Z9k8bRoQH6lMJseKsca" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:qNIDOv7dY+xGKfRYv6x27SeURiY= Content-Language: en-GB In-Reply-To: <v3cml5$28tmt$1@dont-email.me> Bytes: 3808 Op 31.mei.2024 om 16:25 schreef olcott: > On 5/31/2024 2:50 AM, Fred. Zwarts wrote: >> Op 31.mei.2024 om 00:01 schreef olcott: >>> 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. >>> >>> Or maybe you did not know that every computation that never reaches >>> its own final state *DOES NOT HALT* even if it stops running because >>> it is no longer simulated. >> >> Since the claim is that H is also a computation, it holds for H, as >> well. That means that H *DOES NOT HALT* even if it stops running >> because it is no longer simulated. >> > > *pure function H definitely halts you are confused* > You can assume a unicorn, but that does not make it existent. You can assume a simulating H that is a pure function and halts, but that does not make them existent. The set of such H is empty. I stop at your first big mistake so that we can resolve this key mistake before moving on. D calls H and if it would be true that H halts, then D would continue with line 04. Any competent C programmer will confirm that. Your claim is that the simulation of D does not reach line 04. That means that the simulation of H did not reach its final state. If H halts a correct simulation of H halts, too. However, the simulated H does not reach its final state, which proves that H has non-halting behaviour. If not true, show how H halts, i.e. returns from the call from D, but D does not continue to line 04.