Deutsch English Français Italiano |
<v0lh24$123q3$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: olcott <polcott333@gmail.com> Newsgroups: comp.theory Subject: Re: Can D simulated by H terminate normally? Date: Sun, 28 Apr 2024 07:56:36 -0500 Organization: A noiseless patient Spider Lines: 59 Message-ID: <v0lh24$123q3$1@dont-email.me> References: <v0k4jc$laej$1@dont-email.me> <v0l11u$ussl$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 28 Apr 2024 14:56:36 +0200 (CEST) Injection-Info: dont-email.me; posting-host="5b5cf6fc6ad4bf43d1327b7299fd7236"; logging-data="1118019"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/R1jQGSNFxSlr/1nxl9kr" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:9tViGD08EGPHVWN8egsAnICg5IQ= In-Reply-To: <v0l11u$ussl$1@dont-email.me> Content-Language: en-US Bytes: 2987 On 4/28/2024 3:23 AM, Mikko wrote: > On 2024-04-28 00:17:48 +0000, olcott said: > >> Can D simulated by H terminate normally? > > One should not that "D simulated by H" is not the same as > "simulation of D by H". The message below seems to be more > about the latter than the former. In any case, it is more > about the properties of H than about the properties of D. > D specifies what is essentially infinite recursion to H. Several people agreed that D simulated by H cannot possibly reach past its own line 03 no matter what H does. >> The x86utm operating system based on an open source x86 emulator. >> This system enables one C function to execute another C function >> in debug step mode. When H simulates D it creates a separate process >> context for D with its own memory, stack and virtual registers. H >> is able to simulate D simulating itself, thus the only limit to >> recursive simulations is RAM. >> >> // The following is written in C >> // >> 01 typedef int (*ptr)(); // pointer to int function >> 02 int H(ptr x, ptr y) // uses x86 emulator to simulate its input >> 03 >> 04 int D(ptr x) >> 05 { >> 06 int Halt_Status = H(x, x); >> 07 if (Halt_Status) >> 08 HERE: goto HERE; >> 09 return Halt_Status; >> 10 } >> 11 >> 12 void main() >> 13 { >> 14 D(D); >> 15 } >> >> Execution Trace >> Line 14: main() invokes D(D) >> >> keeps repeating (unless aborted) >> Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D) >> >> Simulation invariant >> D correctly simulated by H cannot possibly reach its own line 09. >> >> Is it dead obvious to everyone here when examining the execution >> trace of lines 14 and 06 above that D correctly simulated by H cannot >> possibly terminate normally by reaching its own line 09? > > -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer