Deutsch   English   Français   Italiano  
<vaqiku$34ug$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "Fred. Zwarts" <F.Zwarts@HetNet.nl>
Newsgroups: comp.theory
Subject: Re: DDD emulated by HHH --- (does not refer to prior posts)
Date: Thu, 29 Aug 2024 21:37:01 +0200
Organization: A noiseless patient Spider
Lines: 127
Message-ID: <vaqiku$34ug$1@dont-email.me>
References: <vajdta$2qe9s$1@dont-email.me> <vak3a0$2teq9$1@dont-email.me>
 <vakhnf$302rl$2@dont-email.me> <vamk7l$3d7ki$1@dont-email.me>
 <van3v7$3f6c0$5@dont-email.me> <vap7b1$3sobs$1@dont-email.me>
 <vapvbc$3vumk$5@dont-email.me> <vaqant$22im$1@dont-email.me>
 <vaqbbq$28ni$1@dont-email.me> <vaqcd2$22im$3@dont-email.me>
 <vaqe3n$28ni$4@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 29 Aug 2024 21:37:03 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e5c54d11fe3c3fb33e0534dbbc4e2ad9";
	logging-data="103376"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+P/hz/mZkF25H7D8savtbq"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:QB93zr5voR7h4UXTAT0tDjmED3c=
Content-Language: en-GB
In-Reply-To: <vaqe3n$28ni$4@dont-email.me>
Bytes: 6136

Op 29.aug.2024 om 20:19 schreef olcott:
> On 8/29/2024 12:50 PM, Fred. Zwarts wrote:
>> Op 29.aug.2024 om 19:32 schreef olcott:
>>> On 8/29/2024 12:22 PM, Fred. Zwarts wrote:
>>>> Op 29.aug.2024 om 16:07 schreef olcott:
>>>>> On 8/29/2024 2:17 AM, Mikko wrote:
>>>>>> On 2024-08-28 12:08:06 +0000, olcott said:
>>>>>>
>>>>>>> On 8/28/2024 2:39 AM, Mikko wrote:
>>>>>>>> On 2024-08-27 12:44:31 +0000, olcott said:
>>>>>>>>
>>>>>>>>> On 8/27/2024 3:38 AM, Fred. Zwarts wrote:
>>>>>>>>>> Op 27.aug.2024 om 04:33 schreef olcott:
>>>>>>>>>>> This is intended to be a stand-alone post that does not
>>>>>>>>>>> reference anything else mentioned in any other posts.
>>>>>>>>>>>
>>>>>>>>>>> void DDD()
>>>>>>>>>>> {
>>>>>>>>>>>    HHH(DDD);
>>>>>>>>>>>    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]
>>>>>>>>>>>
>>>>>>>>>>> When we assume that:
>>>>>>>>>>> (a) HHH is an x86 emulator that is in the same memory space 
>>>>>>>>>>> as DDD.
>>>>>>>>>>> (b) HHH emulates DDD according to the semantics of the x86 
>>>>>>>>>>> language.
>>>>>>>>>>>
>>>>>>>>>>> then we can see that DDD emulated by HHH cannot possibly get 
>>>>>>>>>>> past
>>>>>>>>>>> its own machine address 0000217a.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Yes, we see. In fact DDD is not needed at all.
>>>>>>>>>
>>>>>>>>> A straw man fallacy (sometimes written as strawman) is the 
>>>>>>>>> informal fallacy of refuting an argument different from the one 
>>>>>>>>> actually under discussion...
>>>>>>>>> https://en.wikipedia.org/wiki/Straw_man
>>>>>>>>
>>>>>>>> You should also point a link to the equivocation fallacy. You 
>>>>>>>> use it
>>>>>>>> more often than straw man.
>>>>>>>
>>>>>>> Isomorphism is not equivocation
>>>>>>
>>>>>> The use of HHH for many purposes (a specific program, an unpsecified
>>>>>> memeber of a set of programs, a hypothetical program) is.
>>>>>>
>>>>>> Your first posting looked like you were going to apply equivocation
>>>>>> later in the discussion. Now, after several later messages, it seems
>>>>>> that you want to apply the fallacy of "moving the goal posts" 
>>>>>> instead.
>>>>>>
>>>>>
>>>>> void EEE()
>>>>> {
>>>>>    HERE: goto HERE;
>>>>>    return;
>>>>> }
>>>>>
>>>>> HHH correctly predicts what the behavior of EEE would
>>>>> be if this HHH never aborted its emulation of EEE.
>>>>>
>>>>> void DDD()
>>>>> {
>>>>>    HHH(DDD);
>>>>>    return;
>>>>> }
>>>>>
>>>>> HHH correctly predicts what the behavior of DDD would
>>>>> be if this HHH never aborted its emulation of DDD.
>>>> Which is incorrect, because HHH is not allowed to change the input. 
>>>> The simulating HHH may abort, but it may not ignore the fact that 
>>>> the input (the simulated HHH) is coded to abort when it sees the 
>>>> 'special condition'. Otherwise it would decide about a non-input, 
>>>> which is not allowed.
>>>>
>>>
>>> *I told you this too many times so you must be a liar*
>>> No DDD ever reaches its "return" instruction no matter
>>> what-the-Hell that HHH does, 
>>
>> Exactly. Do you finally understand that HHH cannot possibly simulate 
>> itself up to the end?
> 
> *That seems to be a stupid (ignoramus) thing to say*
> 
> DDD forces emulated HHH to remain stuck in recursive
> simulation forcing the emulated HHH to never reach
> its own final halt state.

That is a stupid thing to say. DDD calls HHH, which after a few 
recursions detects that there is a 'special condition', after which HHH 
returns to DDD and DDD returns.
We see this in the direct simulation and in the correct simulation by HHH1.
It is clear that DDD does not force emulated HHH to remain stuck in 
recursive> simulation and does not force the emulated HHH to never reach 
its own final halt state.
It is HHH that aborts prematurely, so that it misses the point that the 
simulated HHH would detect the 'special condition' and halt, after which 
DDD would halt.


> 
> Do you have at least a BS degree in CS? Richard does not.

Irrelevant question, because even a beginner sees that DDD is a halting 
program and does not force HHH to remain stuck.
Moreover, your problem is not DDD, but HHH itself:

        int main() {
          return HHH(main);
        }

It is HHH that halts and decides that it does not halt.