| Deutsch English Français Italiano |
|
<vpklrk$21jn9$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!eternal-september.org!.POSTED!not-for-mail
From: Mikko <mikko.levanto@iki.fi>
Newsgroups: comp.theory
Subject: Re: Anyone with sufficient knowledge of C knows that DD specifies non-terminating behavior to HHH
Date: Tue, 25 Feb 2025 16:59:00 +0200
Organization: -
Lines: 184
Message-ID: <vpklrk$21jn9$1@dont-email.me>
References: <vo6420$3mpmf$1@dont-email.me> <vojs0e$2oikq$4@dont-email.me> <vokdha$2rcqi$1@dont-email.me> <vom1fr$34osr$1@dont-email.me> <von0iq$3d619$1@dont-email.me> <vondj5$3ffar$1@dont-email.me> <vopke4$3v10c$1@dont-email.me> <vosn00$jd5m$1@dont-email.me> <f9a0a18d52ac35171173e0c60c9062e03343ad68@i2pn2.org> <vote0u$nf28$1@dont-email.me> <3b8a5f4be53047b2a6c03f9678d0253e137d3c40@i2pn2.org> <votn1l$pb7c$1@dont-email.me> <5cd9bc55c484f10efd7818ecadf169a11fcc58e1@i2pn2.org> <votq5o$ppgs$1@dont-email.me> <vouu57$12hqt$3@dont-email.me> <vp1jkg$1kstl$1@dont-email.me> <vp1qp1$1m05h$2@dont-email.me> <vp46l6$26r1n$1@dont-email.me> <vp5t55$2gt2s$1@dont-email.me> <vp6pmb$2opvi$1@dont-email.me> <vp8700$30tdq$1@dont-email.me> <vp9ct8$3af6t$1@dont-email.me> <vpav34$3jct4$1@dont-email.me> <vpc3u9$3skb7$1@dont-email.me> <vpcsvk$irt$2@dont-email.me> <vpev2e$fgop$1@dont-email.me> <vpfmpp$j7qb$6@dont-email.me> <vphbnb$10gus$1@dont-email.me> <vpivp4$1fvqe$6@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 25 Feb 2025 15:59:00 +0100 (CET)
Injection-Info: dont-email.me; posting-host="48c5b33a3ab8096369972397d341e038";
logging-data="2150121"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18FzQDym1XiMynxBaibIxpM"
User-Agent: Unison/2.2
Cancel-Lock: sha1:MMn/8nGWu0I5yaE91vulYOqWfY4=
Bytes: 10258
On 2025-02-24 23:36:04 +0000, olcott said:
> On 2/24/2025 2:47 AM, Mikko wrote:
>> On 2025-02-23 17:44:25 +0000, olcott said:
>>
>>> On 2/23/2025 4:59 AM, Mikko wrote:
>>>> On 2025-02-22 16:11:31 +0000, olcott said:
>>>>
>>>>> On 2/22/2025 3:04 AM, Mikko wrote:
>>>>>> On 2025-02-21 22:35:16 +0000, olcott said:
>>>>>>
>>>>>>> On 2/21/2025 2:18 AM, Mikko wrote:
>>>>>>>> On 2025-02-20 21:31:44 +0000, olcott said:
>>>>>>>>
>>>>>>>>> On 2/20/2025 2:38 AM, Mikko wrote:
>>>>>>>>>> On 2025-02-20 00:31:33 +0000, olcott said:
>>>>>>>>>>
>>>>>>>>>>> On 2/19/2025 3:01 AM, Mikko wrote:
>>>>>>>>>>>> On 2025-02-18 11:26:25 +0000, olcott said:
>>>>>>>>>>>>
>>>>>>>>>>>>> On 2/18/2025 3:24 AM, Mikko wrote:
>>>>>>>>>>>>>> On 2025-02-17 09:05:42 +0000, Fred. Zwarts said:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Op 16.feb.2025 om 23:51 schreef olcott:
>>>>>>>>>>>>>>>> On 2/16/2025 4:30 PM, joes wrote:
>>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 15:58:14 -0600 schrieb olcott:
>>>>>>>>>>>>>>>>>> On 2/16/2025 2:02 PM, joes wrote:
>>>>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 13:24:14 -0600 schrieb olcott:
>>>>>>>>>>>>>>>>>>>> On 2/16/2025 10:35 AM, joes wrote:
>>>>>>>>>>>>>>>>>>>>> Am Sun, 16 Feb 2025 06:51:12 -0600 schrieb olcott:
>>>>>>>>>>>>>>>>>>>>>> On 2/15/2025 2:49 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-14 12:40:04 +0000, olcott said:
>>>>>>>>>>>>>>>>>>>>>>>> On 2/14/2025 2:58 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-14 00:07:23 +0000, olcott said:
>>>>>>>>>>>>>>>>>>>>>>>>>> On 2/13/2025 3:20 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-13 04:21:34 +0000, olcott said:
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2/12/2025 4:04 AM, Mikko wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2025-02-11 14:41:38 +0000, olcott said:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> DD correctly simulated by HHH cannot possibly terminate normally.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> That claim has already shown to be false. Nothing above shows that
>>>>>>>>>>>>>>>>>>>>>>> HHH does not return 0. If it does DD also returns 0.
>>>>>>>>>>>>>>>>>>>>>> When we are referring to the above DD simulated by HHH and not
>>>>>>>>>>>>>>>>>>>>>> trying to get away with changing the subject to some other DD
>>>>>>>>>>>>>>>>>>>>>> somewhere else
>>>>>>>>>>>>>>>>>>>>> such as one that calls a non-aborting version of HHH
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> then anyone with sufficient knowledge of C programming knows that no
>>>>>>>>>>>>>>>>>>>>>> instance of DD shown above simulated by any corresponding instance
>>>>>>>>>>>>>>>>>>>>>> of HHH can possibly terminate normally.
>>>>>>>>>>>>>>>>>>>>> Well, then that corresponding (by what?) HHH isn’t a decider.
>>>>>>>>>>>>>>>>>>>> I am focusing on the isomorphic notion of a termination analyzer.
>>>>>>>>>>>>>>>>>>> (There are other deciders that are not termination analysers.)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> A simulating termination analyzer correctly rejects any input that
>>>>>>>>>>>>>>>>>>>> must be aborted to prevent its own non-termination.
>>>>>>>>>>>>>>>>>>> Yes, in particular itself is not such an input, because we *know* that
>>>>>>>>>>>>>>>>>>> it halts, because it is a decider. You can’t have your cake and eat it
>>>>>>>>>>>>>>>>>>> too.
>>>>>>>>>>>>>>>>>> I am not even using the confusing term "halts".
>>>>>>>>>>>>>>>>>> Instead I am using in its place "terminates normally".
>>>>>>>>>>>>>>>>>> DD correctly simulated by HHH cannot possibly terminate normally.
>>>>>>>>>>>>>>>>> What’s confusing about „halts”? I find it clearer as it does not imply
>>>>>>>>>>>>>>>>> an ambiguous „abnormal termination”. How does HHH simulate DD
>>>>>>>>>>>>>>>>> terminating abnormally, then? Why doesn’t it terminate abnormally
>>>>>>>>>>>>>>>>> itself?
>>>>>>>>>>>>>>>>> You can substitute the term: the input DD to HHH does not need to be
>>>>>>>>>>>>>>>>> aborted, because the simulated decider terminates.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> typedef void (*ptr)();
>>>>>>>>>>>>>>>> int HHH(ptr P);
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> int DD()
>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>> int Halt_Status = HHH(DD);
>>>>>>>>>>>>>>>> if (Halt_Status)
>>>>>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>>>>>> return Halt_Status;
>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> int main()
>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>> HHH(DD);
>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Every simulated input that must be aborted to
>>>>>>>>>>>>>>>> prevent the non-termination of HHH is stipulated
>>>>>>>>>>>>>>>> to be correctly rejected by HHH as non-terminating.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> A very strange and invalid stipulation.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It merely means that the words do not have their ordinary meaning.
>>>>>>>>>>
>>>>>>>>>> Those two comments are not discussed below.
>>>>>>>>>>
>>>>>>>>>>>>> Unless HHH(DD) aborts its simulation of DD itself cannot possibly
>>>>>>>>>>>>> terminate normally.
>>>>>>>>>>>>
>>>>>>>>>>>> That cannot be determined without examination of HHH, which is not in the
>>>>>>>>>>>> scope of OP.
>>>>>>>>>>>
>>>>>>>>>>> I have given everyone here all of the complete source
>>>>>>>>>>> code for a few years
>>>>>>>>>>
>>>>>>>>>> True but irrelevant. OP did not specify that HHH means that particular
>>>>>>>>>> code.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Every post that I have been talking about for two or
>>>>>>>>> more years has referred to variations of that same code.
>>>>>>>>
>>>>>>>> OP had a pointer of that code but didn's state that that code is a part
>>>>>>>> of the problem. OP did not spacify any range for variation.
>>>>>>>>
>>>>>>>
>>>>>>> I have only been talking about variations of the same code
>>>>>>> as HHH(DD) for two years. Do you understand that one sentence?
>>>>>>
>>>>>> I understnd the sentence except the word "variations". What is the
>>>>>> range of "variations"?
>>>>>>
>>>>>
>>>>> Good you are being completely reasonable.
>>>>> There are at least two algorithms the current
>>>>> one that was also the original one is easiest to
>>>>> understand. This algorithm essentially spots the
>>>>> equivalent of infinite recursion. The code provides
>>>>> all of the details.
>>>>>
>>>>>> Anyway OP did not specify that HHH is restricted to those "variations".
>>>>>> Another undefined word of OP is "cannot". About a person it may mean
>>>>>> that one does not do what one wants to do but a program does not want.
>>>>>>
>>>>>
>>>>> HHH is exactly as specified. Assuming otherwise is silly.
>>>>
>>>> The words "as specified" when nothing is specified are not a good use
>>>> of the language.
>>>>
>>>
>>> _DD()
>>> [00002133] 55 push ebp ; housekeeping
>>> [00002134] 8bec mov ebp,esp ; housekeeping
>>> [00002136] 51 push ecx ; make space for local
>>> [00002137] 6833210000 push 00002133 ; push DD
>>> [0000213c] e882f4ffff call 000015c3 ; call HHH(DD)
>>> [00002141] 83c404 add esp,+04
>>> [00002144] 8945fc mov [ebp-04],eax
>>> [00002147] 837dfc00 cmp dword [ebp-04],+00
>>> [0000214b] 7402 jz 0000214f
>>> [0000214d] ebfe jmp 0000214d
>>> [0000214f] 8b45fc mov eax,[ebp-04]
>>> [00002152] 8be5 mov esp,ebp
>>> [00002154] 5d pop ebp
>>> [00002155] c3 ret
>>> Size in bytes:(0035) [00002155]
>>>
>>> When DD is correctly simulated by HHH according to the behavior
>>> that the above machine code specifies then the call from DD
>>> to HHH(DD) cannot possibly return making it impossible for DD
>>> emulated by HHH to terminate normally.
>>
>> That code does not specify whether HHH ever returns or what value
>> HHH returns if it does.
>>
>
> When HHH is known to emulate the above code with an x86
> emulator THEN
Although OP says that HHH simulates it does not specify what is
simulated.
> the above machine code specifies then the call from DD
> to HHH(DD) cannot possibly return making it impossible for DD
> emulated by HHH to terminate normally.
That cannot be inferred from anything OP shows. Anyway, it does not
matter what HHH should return if it does not return it.
========== REMAINDER OF ARTICLE TRUNCATED ==========