Deutsch English Français Italiano |
<v503fg$ggen$1@i2pn2.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.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: Simulating termination analyzers for dummies Date: Wed, 19 Jun 2024 22:17:20 -0400 Organization: i2pn2 (i2pn.org) Message-ID: <v503fg$ggen$1@i2pn2.org> References: <v4oaqu$f9p5$1@dont-email.me> <v4os9e$i70m$1@dont-email.me> <v4p9mb$lavj$1@dont-email.me> <v4pdph$l7lf$1@dont-email.me> <v4pepj$ln46$15@dont-email.me> <v4pgk3$l7le$2@dont-email.me> <v4phhl$mub6$2@dont-email.me> <v4piea$l7le$5@dont-email.me> <v4pmb8$nmvq$1@dont-email.me> <v4rekj$180pg$1@dont-email.me> <v4rv45$1blnm$1@dont-email.me> <v4s8k7$1dcrb$1@dont-email.me> <v4s9cj$1dk9i$1@dont-email.me> <v4sa6j$1dcrb$3@dont-email.me> <v4scfo$1eb2f$1@dont-email.me> <v4u3mr$1rrod$2@dont-email.me> <v4ukq9$1vpm0$2@dont-email.me> <v4vsqt$ggem$1@i2pn2.org> <v4vu1e$27o1c$1@dont-email.me> <v5019d$ggem$6@i2pn2.org> <v502jc$2ccjk$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 20 Jun 2024 02:17:20 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="541143"; mail-complaints-to="usenet@i2pn2.org"; posting-account="313f9oxxGNkdP2yPgR/QLRVLUbtZnSzmlNtjlXOo6sw"; User-Agent: Mozilla Thunderbird In-Reply-To: <v502jc$2ccjk$1@dont-email.me> Content-Language: en-US X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 10483 Lines: 202 On 6/19/24 10:02 PM, olcott wrote: > On 6/19/2024 8:39 PM, Richard Damon wrote: >> On 6/19/24 8:44 PM, olcott wrote: >>> On 6/19/2024 7:23 PM, Richard Damon wrote: >>>> On 6/19/24 9:00 AM, olcott wrote: >>>>> On 6/19/2024 3:08 AM, Fred. Zwarts wrote: >>>>>> Op 18.jun.2024 om 18:26 schreef olcott: >>>>>>> On 6/18/2024 10:47 AM, Fred. Zwarts wrote: >>>>>>>> Op 18.jun.2024 om 17:33 schreef olcott: >>>>>>>>> On 6/18/2024 10:20 AM, Fred. Zwarts wrote: >>>>>>>>> >>>>>>>>> It is a verified fact that serious C people have recently >>>>>>>>> agreed to the following verbatim statement in the C group. >>>>>>> >>>>>>> http://al.howardknight.net/?STYPE=msgid&MSGI=%3Cv4pg5p%24morv%241%40raubtier-asyl.eternal-september.org%3E+ >>>>>>> >>>>>>>>> You either lack this degree of skill in C or are only >>>>>>>>> interested in playing head games. >>>>>>>> >>>>>>>> I have seen the response. It was most certainly not a serious >>>>>>>> reply. >>>>>>>> But you know apparently to little of C to understand that. >>>>>>>> Probably, because you are unable to escape from rebuttal mode, >>>>>>>> even if the truth is obvious. >>>>>>>> >>>>>>> >>>>>>> I have known C since K&R was the standard and met >>>>>>> Bjarne Stroustrup when he came to our university >>>>>>> to promote his new C++ programming language. >>>>>>> >>>>>>> *You seem to be willfully ignorant* >>>>>>> >>>>>>>> It was your own proof that showed that in >>>>>>>> >>>>>>>> int main() >>>>>>>> { >>>>>>>> return H(main); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> main halts, whereas H reported non-halting. So, it you were >>>>>>>> honest you would stop claiming that H is correct. >>>>>>>> >>>>>>> >>>>>>> That is merely a more difficult to understand version of this >>>>>>> same pathological relationship. >>>>>>> >>>>>>> int main() >>>>>>> { >>>>>>> Output("Input_Halts = ", HH0(main)); >>>>>>> } >>>>>>> >>>>>>> _main() >>>>>>> [000020c2] 55 push ebp >>>>>>> [000020c3] 8bec mov ebp,esp >>>>>>> [000020c5] 68c2200000 push 000020c2 ; push main >>>>>>> [000020ca] e833f4ffff call 00001502 ; call HH0 >>>>>>> [000020cf] 83c404 add esp,+04 >>>>>>> [000020d2] 50 push eax >>>>>>> [000020d3] 6843070000 push 00000743 >>>>>>> [000020d8] e885e6ffff call 00000762 >>>>>>> [000020dd] 83c408 add esp,+08 >>>>>>> [000020e0] eb04 jmp 000020e6 >>>>>>> [000020e2] 33c0 xor eax,eax >>>>>>> [000020e4] eb02 jmp 000020e8 >>>>>>> [000020e6] 33c0 xor eax,eax >>>>>>> [000020e8] 5d pop ebp >>>>>>> [000020e9] c3 ret >>>>>>> Size in bytes:(0040) [000020e9] >>>>>>> >>>>>>> machine stack stack machine assembly >>>>>>> address address data code language >>>>>>> ======== ======== ======== ========= ============= >>>>>>> [000020c2][001036c3][00000000] 55 push ebp >>>>>>> [000020c3][001036c3][00000000] 8bec mov ebp,esp >>>>>>> [000020c5][001036bf][000020c2] 68c2200000 push 000020c2 ; push main >>>>>>> [000020ca][001036bb][000020cf] e833f4ffff call 00001502 ; call HH0 >>>>>>> New slave_stack at:103767 >>>>>>> >>>>>>> Begin Local Halt Decider Simulation Execution Trace Stored >>>>>>> at:11376f >>>>>>> [000020c2][0011375f][00113763] 55 push ebp ; begin main >>>>>>> [000020c3][0011375f][00113763] 8bec mov ebp,esp >>>>>>> [000020c5][0011375b][000020c2] 68c2200000 push 000020c2 ; push main >>>>>>> [000020ca][00113757][000020cf] e833f4ffff call 00001502 ; call HH0 >>>>>>> New slave_stack at:14e18f >>>>>>> [000020c2][0015e187][0015e18b] 55 push ebp ; begin main >>>>>>> [000020c3][0015e187][0015e18b] 8bec mov ebp,esp >>>>>>> [000020c5][0015e183][000020c2] 68c2200000 push 000020c2 ; push main >>>>>>> [000020ca][0015e17f][000020cf] e833f4ffff call 00001502 ; call HH0 >>>>>>> Local Halt Decider: Infinite Recursion Detected Simulation Stopped >>>>>>> >>>>>>> [000020cf][001036c3][00000000] 83c404 add esp,+04 >>>>>>> [000020d2][001036bf][00000000] 50 push eax >>>>>>> [000020d3][001036bb][00000743] 6843070000 push 00000743 >>>>>>> [000020d8][001036bb][00000743] e885e6ffff call 00000762 >>>>>>> Input_Halts = 0 >>>>>>> [000020dd][001036c3][00000000] 83c408 add esp,+08 >>>>>>> [000020e0][001036c3][00000000] eb04 jmp 000020e6 >>>>>>> [000020e6][001036c3][00000000] 33c0 xor eax,eax >>>>>>> [000020e8][001036c7][00000018] 5d pop ebp >>>>>>> [000020e9][001036cb][00000000] c3 ret ; exit main >>>>>>> Number of Instructions Executed(10070) == 150 Pages >>>>>>> >>>>>> >>>>>> It is easier to understand because a print statement was added. >>>>>> You proved that it halts, but H0 reports non-halting. >>>>>> So, it produces a false negative. >>>>>> So, now it has been proved that H, H0, etc produce false >>>>>> negatives, when used to determine halting behaviour, please, stop >>>>>> to call them halt-deciders, or termination-deciders. >>>>>> They might be "simulation deciders". When returning true, the >>>>>> simulation was correct, when false, the full simulation was not >>>>>> possible. >>>>> >>>>> I don't want to discuss your screwy example because I >>>>> can't use screwy examples in my paper. >>>>> >>>>> void DDD() >>>>> { >>>>> H0(DDD); >>>>> } >>>>> >>>>> _DDD() >>>>> [000020a2] 55 push ebp ; housekeeping >>>>> [000020a3] 8bec mov ebp,esp ; housekeeping >>>>> [000020a5] 68a2200000 push 000020a2 ; push DDD >>>>> [000020aa] e8f3f9ffff call 00001aa2 ; call H0 >>>>> [000020af] 83c404 add esp,+04 ; housekeeping >>>>> [000020b2] 5d pop ebp ; housekeeping >>>>> [000020b3] c3 ret ; never gets here >>>>> Size in bytes:(0018) [000020b3] >>>>> >>>>> Exactly which step of DDD emulated by H0 was emulated >>>>> incorrectly such that this emulation would be complete? >>>>> AKA DDD emulated by H0 reaches machine address [000020b3] >>>>> >>>>> >>>> >>>> Why does H0 NEED to be able to correctly simulate its input? >>>> >>> >>> Decider must compute the mapping from their finite string >>> input to the actual behavior that this finite string specifies. >>> They are not free to imagine the behavior that the authors of >>> textbooks expect. >> >> AND THE DEFINITION OF THAT BEHAVIOR IS THE BEHAVIOR OF THE DIRECT >> EXECUTION OF THE PROGRAM THE INPUT REPRESENTS. >> >> Yes, the DO need to follow the behavior that the author of the problem >> defined. >> >> You are just showing you think it is ok to not follow the REQURIEMENTS >> and just LIE about what you are doing. >> > The finite string input does not communicate the behavior > that the textbook authors expect it to communicate. > The finite string certainly DOES communicate what is needed to determine the behavior, or it wasn't a correct representation. For instance, the x86 code of the full program DDD gives enough information to fully determine the bahavior of the program the input represents. If you don't give the full code, then you LIED in saying that DDD was ========== REMAINDER OF ARTICLE TRUNCATED ==========