Deutsch English Français Italiano |
<utle34$2o1am$16@i2pn2.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder6.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: Richard Damon <richard@damon-family.org> Newsgroups: comp.theory,sci.logic Subject: Re: The behavior of D(D) varies between its correct simulation by H1(D,D) and H(D,D) Date: Fri, 22 Mar 2024 22:17:08 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <utle34$2o1am$16@i2pn2.org> References: <utk8dl$30g72$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 23 Mar 2024 02:17:09 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="2884950"; mail-complaints-to="usenet@i2pn2.org"; posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg"; User-Agent: Mozilla Thunderbird Content-Language: en-US In-Reply-To: <utk8dl$30g72$1@dont-email.me> X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 6953 Lines: 129 On 3/22/24 11:34 AM, olcott wrote: > *The behavior of D(D) is changed when the simulated D is specified* > *to have a pathological relationship with its own simulator* Nope. H just makes a INVALID deduction that the call to H will not return when properly simulated (which it can not do). > > D(D) simulated by H1 calls H(D,D) from its own machine address 00001d1e > returns to its caller at machine address 00001d54. > > *Contrasted with* > > D(D) simulated by H calls H(D,D) from its own machine address 00001d1e > and cannot possibly return to its caller because it would remain stuck > in recursive simulation until aborted. Nope, since H DOES abort and return 0, the CORRECT SIMULATION of this input will do this too (just as H1 did). The fact that a DIFFERENT machine, that isn't what H actually is, would get stuck in an infinite loop is irrelevant, as H isnt that other machine, and looking at the other machine is just invalid logic. > > _D() > [00001d12] 55 push ebp > [00001d13] 8bec mov ebp,esp > [00001d15] 51 push ecx > [00001d16] 8b4508 mov eax,[ebp+08] > [00001d19] 50 push eax > [00001d1a] 8b4d08 mov ecx,[ebp+08] > [00001d1d] 51 push ecx > [00001d1e] e81ff8ffff call 00001542 > [00001d23] 83c408 add esp,+08 > [00001d26] 8945fc mov [ebp-04],eax > [00001d29] 837dfc00 cmp dword [ebp-04],+00 > [00001d2d] 7402 jz 00001d31 > [00001d2f] ebfe jmp 00001d2f > [00001d31] 8b45fc mov eax,[ebp-04] > [00001d34] 8be5 mov esp,ebp > [00001d36] 5d pop ebp > [00001d37] c3 ret > Size in bytes:(0038) [00001d37] > > _main() > [00001d42] 55 push ebp > [00001d43] 8bec mov ebp,esp > [00001d45] 68121d0000 push 00001d12 ; push address of D > [00001d4a] 68121d0000 push 00001d12 ; push address of D > [00001d4f] e8eef6ffff call 00001442 ; call H1(D,D) > [00001d54] 83c408 add esp,+08 > [00001d57] 50 push eax > [00001d58] 6863070000 push 00000763 > [00001d5d] e820eaffff call 00000782 > [00001d62] 83c408 add esp,+08 > [00001d65] 33c0 xor eax,eax > [00001d67] 5d pop ebp > [00001d68] c3 ret > Size in bytes:(0039) [00001d68] > > int D(int (*x)()) > { > int Halt_Status = H(x, x); > if (Halt_Status) > HERE: goto HERE; > return Halt_Status; > } > > int main() > { // The call from D simulated by H1 to H(D,D) return 1. > // The call from D simulated by H to H(D,D) cannot possibly return. > Output("Input_Halts = ", H1(D,D)); > } > > machine stack stack machine assembly > address address data code language > ======== ======== ======== ========= ============= > [00001d42][00102fe9][00000000] 55 push ebp ; begin main() > [00001d43][00102fe9][00000000] 8bec mov ebp,esp > [00001d45][00102fe5][00001d12] 68121d0000 push 00001d12 ; push D > [00001d4a][00102fe1][00001d12] 68121d0000 push 00001d12 ; push D > [00001d4f][00102fdd][00001d54] e8eef6ffff call 00001442 ; call H1(D,D) > > H1: Begin Simulation Execution Trace Stored at:113095 > Address_of_H1:1442 > [00001d12][00113081][00113085] 55 push ebp ; begin D > [00001d13][00113081][00113085] 8bec mov ebp,esp > [00001d15][0011307d][00103051] 51 push ecx > [00001d16][0011307d][00103051] 8b4508 mov eax,[ebp+08] > [00001d19][00113079][00001d12] 50 push eax ; push D > [00001d1a][00113079][00001d12] 8b4d08 mov ecx,[ebp+08] > [00001d1d][00113075][00001d12] 51 push ecx ; push D > [00001d1e][00113071][00001d23] e81ff8ffff call 00001542 ; call H(D,D) > > H: Begin Simulation Execution Trace Stored at:15dabd > Address_of_H:1542 > [00001d12][0015daa9][0015daad] 55 push ebp ; begin D > [00001d13][0015daa9][0015daad] 8bec mov ebp,esp > [00001d15][0015daa5][0014da79] 51 push ecx > [00001d16][0015daa5][0014da79] 8b4508 mov eax,[ebp+08] > [00001d19][0015daa1][00001d12] 50 push eax ; push D > [00001d1a][0015daa1][00001d12] 8b4d08 mov ecx,[ebp+08] > [00001d1d][0015da9d][00001d12] 51 push ecx ; push D > [00001d1e][0015da99][00001d23] e81ff8ffff call 00001542 ; call H(D,D) > H: Recursive Simulation Detected Simulation Stopped (return 0 to caller) > > [00001d23][0011307d][00103051] 83c408 add esp,+08 ; returned to D > [00001d26][0011307d][00000000] 8945fc mov [ebp-04],eax > [00001d29][0011307d][00000000] 837dfc00 cmp dword [ebp-04],+00 > [00001d2d][0011307d][00000000] 7402 jz 00001d31 > [00001d31][0011307d][00000000] 8b45fc mov eax,[ebp-04] > [00001d34][00113081][00113085] 8be5 mov esp,ebp > [00001d36][00113085][00001541] 5d pop ebp > [00001d37][00113089][00001d12] c3 ret ; exit D > H1: End Simulation Input Terminated Normally (return 1 to caller) > > [00001d54][00102fe9][00000000] 83c408 add esp,+08 > [00001d57][00102fe5][00000001] 50 push eax ; H1 return value > [00001d58][00102fe1][00000763] 6863070000 push 00000763 ; string address > [00001d5d][00102fe1][00000763] e820eaffff call 00000782 ; call Output > Input_Halts = 1 > [00001d62][00102fe9][00000000] 83c408 add esp,+08 > [00001d65][00102fe9][00000000] 33c0 xor eax,eax > [00001d67][00102fed][00000018] 5d pop ebp > [00001d68][00102ff1][00000000] c3 ret ; exit main() > Number of Instructions Executed(470247) == 7019 Pages >