Path: ...!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Mikko Newsgroups: comp.theory Subject: Re: People are still trying to get away with disagreeing with the semantics of the x86 language Date: Sun, 30 Jun 2024 11:42:49 +0300 Organization: - Lines: 81 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 30 Jun 2024 10:42:49 +0200 (CEST) Injection-Info: dont-email.me; posting-host="edf92710cff98efa55bbf9e0df377222"; logging-data="480239"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/tJbZU2EmeIxY6Fgsbs+kx" User-Agent: Unison/2.2 Cancel-Lock: sha1:/TMjpmoy1oqc7zOil4mBWq3Bhzk= Bytes: 3538 On 2024-06-29 16:09:19 +0000, olcott said: > People are still trying to get away with disagreeing with > the semantics of the x86 language. That is isomorphic to > trying to get away with disagreeing with arithmetic. > > typedef void (*ptr)(); > int H0(ptr P); > > void Infinite_Loop() > { > HERE: goto HERE; > } > > void Infinite_Recursion() > { > Infinite_Recursion(); > } > > void DDD() > { > H0(DDD); > } > > int main() > { > H0(Infinite_Loop); > H0(Infinite_Recursion); > H0(DDD); > } > > Every C programmer that knows what an x86 emulator is knows > that when H0 emulates the machine language of Infinite_Loop, > Infinite_Recursion, and DDD that it must abort these emulations > so that itself can terminate normally. > > When this is construed as non-halting criteria then simulating > termination analyzer H0 is correct to reject these inputs as > non-halting by returning 0 to its caller. > > Simulating termination analyzers must report on the behavior > that their finite string input specifies thus H0 must report > that DDD correctly emulated by H0 remains stuck in recursive > simulation. > > > 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 > > H can abort its simulation of D and correctly report that D > specifies a non-halting sequence of configurations. > > > People are trying to get away with disagreeing with the semantics > of the x86 language by disagreeing that > > The call from DDD to HHH(DDD) when N steps of DDD are correctly > emulated by any pure function x86 emulator HHH cannot possibly > return. > > _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] > > > *A 100% complete and total rewrite of the prior paper* > https://www.researchgate.net/publication/381636432_Termination_Analyzer_H_is_Not_Fooled_by_Pathological_Input_P > Nothing above is or points to any evdence about the alleged disagreement. -- Mikko