Deutsch   English   Français   Italiano  
<cab3ejlmfaj5qc8dv1p6h669cr5grjkobe@4ax.com>

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

Path: ...!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.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: Defining a correct simulating halt decider
Date: Fri, 13 Sep 2024 11:47:07 +0200
Organization: A noiseless patient Spider
Lines: 150
Message-ID: <vc11mu$q5lr$1@dont-email.me>
References: <vb4plc$2tqeg$1@dont-email.me> <vb6o5t$3a95s$1@dont-email.me>
 <vb71a3$3b4ub$4@dont-email.me> <vbbmuc$8nbb$1@dont-email.me>
 <vbcbe4$bdtb$3@dont-email.me> <vbeoge$q2ph$1@dont-email.me>
 <vbeprp$punj$7@dont-email.me>
 <c600a691fab10473128eed2a1fad2a429ad4733f@i2pn2.org>
 <vbh2sp$19ov0$1@dont-email.me> <vbhm3c$1c7u5$12@dont-email.me>
 <vbkdph$1v80k$1@dont-email.me> <vbne7e$2g6vo$6@dont-email.me>
 <vbpbps$2uib0$1@dont-email.me> <vbs055$3im2p$4@dont-email.me>
 <vbsg6n$3mme2$3@dont-email.me> <vbt5us$3rasr$1@dont-email.me>
 <vbu7g1$5eiu$1@dont-email.me> <vbui3e$7g4h$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 13 Sep 2024 11:47:10 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="590d2c8a83738fa85d3ea7a23044b544";
	logging-data="857787"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+QgTM8BorNisyvtfKN5VBz"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:/V0n6SEQ7ZPzXvPBldxVeD7oH4E=
In-Reply-To: <vbui3e$7g4h$2@dont-email.me>
Content-Language: en-GB
Bytes: 7295

Op 12.sep.2024 om 13:08 schreef olcott:
> On 9/12/2024 3:07 AM, Mikko wrote:
>> On 2024-09-11 22:35:07 +0000, olcott said:
>>
>>> On 9/11/2024 11:23 AM, Fred. Zwarts wrote:
>>>> Op 11.sep.2024 om 13:49 schreef olcott:
>>>>> On 9/10/2024 6:50 AM, Fred. Zwarts wrote:
>>>>>> Op 09.sep.2024 om 20:19 schreef olcott:
>>>>>>> On 9/8/2024 9:53 AM, Mikko wrote:
>>>>>>>> On 2024-09-07 13:57:00 +0000, olcott said:
>>>>>>>>
>>>>>>>>> On 9/7/2024 3:29 AM, Mikko wrote:
>>>>>>>>>> On 2024-09-07 05:12:19 +0000, joes said:
>>>>>>>>>>
>>>>>>>>>>> Am Fri, 06 Sep 2024 06:42:48 -0500 schrieb olcott:
>>>>>>>>>>>> On 9/6/2024 6:19 AM, Mikko wrote:
>>>>>>>>>>>>> On 2024-09-05 13:24:20 +0000, olcott said:
>>>>>>>>>>>>>> On 9/5/2024 2:34 AM, Mikko wrote:
>>>>>>>>>>>>>>> On 2024-09-03 13:00:50 +0000, olcott said:
>>>>>>>>>>>>>>>> On 9/3/2024 5:25 AM, Mikko wrote:
>>>>>>>>>>>>>>>>> On 2024-09-02 16:38:03 +0000, olcott said:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> A halt decider is a Turing machine that computes the 
>>>>>>>>>>>>>>>>>> mapping from
>>>>>>>>>>>>>>>>>> its finite string input to the behavior that this 
>>>>>>>>>>>>>>>>>> finite string
>>>>>>>>>>>>>>>>>> specifies.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> A halt decider needn't compute the full behaviour, only 
>>>>>>>>>>>>>>>>> whether
>>>>>>>>>>>>>>>>> that behaviour is finite or infinite.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> New slave_stack at:1038c4 Begin Local Halt Decider 
>>>>>>>>>>>>>>>> Simulation
>>>>>>>>>>>
>>>>>>>>>>>>>>>> Local Halt Decider: Infinite Recursion Detected 
>>>>>>>>>>>>>>>> Simulation Stopped
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hence  HHH(DDD)==0 is correct
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Nice to see that you don't disagree with what said.
>>>>>>>>>>>>>>> Unvortunately I can't agree with what you say.
>>>>>>>>>>>>>>> HHH terminates,
>>>>>>>>>>>>>>> os DDD obviously terminates, too. No valid
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> DDD emulated by HHH never reaches it final halt state.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If that iis true it means that HHH called by DDD does not 
>>>>>>>>>>>>> return and
>>>>>>>>>>>>> therefore is not a ceicder.
>>>>>>>>>>>> The directly executed HHH is a decider.
>>>>>>>>>>> What does simulating it change about that?
>>>>>>>>>>
>>>>>>>>>> If the simulation is incorrect it may change anything.
>>>>>>>>>>
>>>>>>>>> PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
>>>>>>>>> PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
>>>>>>>>> PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
>>>>>>>>> PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
>>>>>>>>> PATHOLOGICAL RELATIONSHIPS CHANGE BEHAVIOR
>>>>>>>>
>>>>>>>> However, a correct simultation faithfully imitates the original
>>>>>>>> behaviour.
>>>>>>>>
>>>>>>>
>>>>>>> _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]
>>>>>>>
>>>>>>> A correct emulation obeys the x86 machine code even
>>>>>>> if this machine code catches the machine on fire.
>>>>>>>
>>>>>>> It is impossible for an emulation of DDD by HHH to
>>>>>>> reach machine address 00002183 AND YOU KNOW IT!!!
>>>>>>>
>>>>>>
>>>>>> It seems olcott also knows that HHH fails to reach the machine 
>>>>>> address 00002183, because it stop the simulation too soon.
>>>>>
>>>>> No the issue is the you insist on remaining too stupid
>>>>> to understand unreachable code.
>>>>>
>>>>> void Infinite_Recursion()
>>>>> {
>>>>>    Infinite_Recursion();
>>>>>    OutString("Can't possibly get here!");
>>>>
>>>> Olcott keeps dreaming of infinite recursions, even when HHH aborts 
>>>> after two cycles. Two is not infinite.
>>>>
>>>
>>> Yet in this same way Infinite_Recursion() itself
>>> it not infinite when HHH aborts it in two cycles.
>>>
>>> What makes Infinite_Recursion() non-halting even
>>> when it stops being emulated is that it cannot
>>> possibly reach past its own first instruction.
>>
>> That
>>
>>   int main(void) {
>>
>>     Infinite_Recursion();
>>     return 0;
>>
>>   }
>>
>> never returns makes Infinite_Recursion non-halting.
>>
> 
>     void DDD()
>     {
>       HHH(DDD);
>       return;
>     }
> 
>     int main(void) {
>       HHH(DDD);
>       return 0;
>     }
> 
> The fact that DDD emulated by HHH never returns
> makes DDD() non-halting.
> 

Only by twisting the meaning of the term non-halting. The simulation 
does not reach the end, because it stopped the simulation too soon. 
Therefore, it prevents the program to halt. The early abort does not 
prove anything about the halting behaviour of the program described by 
the finite string. It only shows the failure of HHH to reach the end.
That this program has halting behaviour is proven by the semantics of 
the x86 language, which allows only one behaviour for the program 
described by this finite string. The direct execution, the simulation by 
the unmodified world class simulator and even by HHH1 show what this 
behaviour is: a halting program.
But HHH fails to reach the end of the simulation, because of a bug in 
its algorithm to detect an infinite recursion pattern. Therefore it 
produces false negatives, as proved in:

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

where HHH halts but decides that it does not halt.