Deutsch   English   Français   Italiano  
<uscnu1$14gm6$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!.POSTED!not-for-mail
From: olcott <polcott2@gmail.com>
Newsgroups: comp.theory,sci.logic
Subject: Re: Refutation of the Peter Linz Halting Problem proof 2024-03-05
 --partial agreement--
Date: Thu, 7 Mar 2024 09:53:36 -0600
Organization: A noiseless patient Spider
Lines: 101
Message-ID: <uscnu1$14gm6$1@dont-email.me>
References: <us8shn$7g2d$1@dont-email.me> <us92f0$uvql$4@i2pn2.org>
 <us931e$8gmr$1@dont-email.me> <usa4rk$10ek4$3@i2pn2.org>
 <usa5to$gp0j$1@dont-email.me> <usa8lp$10ek5$5@i2pn2.org>
 <usa9o9$ho7b$1@dont-email.me> <usag21$118jg$1@i2pn2.org>
 <usanbu$klu7$1@dont-email.me> <usas0v$11q96$2@i2pn2.org>
 <usavq1$m7mn$1@dont-email.me> <usb01q$m897$1@dont-email.me>
 <c-GcnbJk3KPt0nT4nZ2dnZfqn_GdnZ2d@brightview.co.uk>
 <87cys6i7da.fsf@bsb.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 7 Mar 2024 15:53:37 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="991a76fa9aa76d17f8f6286f1a0a882d";
	logging-data="1196742"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+8JJldJCkaNMbBg26+Wau4"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:WHimfNlhbtae7re8ckfrrBCCmt4=
Content-Language: en-US
In-Reply-To: <87cys6i7da.fsf@bsb.me.uk>
Bytes: 5912

On 3/7/2024 5:55 AM, Ben Bacarisse wrote:
> Mike Terry <news.dead.person.stones@darjeeling.plus.com> writes:
> 
>> On 06/03/2024 23:59, immibis wrote:
>>> On 7/03/24 00:55, olcott wrote:
>>>> Ĥ.H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.Hqn
>>>> Correctly reports that Ĥ.H ⟨Ĥ⟩ ⟨Ĥ⟩ must abort its simulation.
>>>>
>>>> H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* H.qy
>>>> Correctly reports that H ⟨Ĥ⟩ ⟨Ĥ⟩ need not abort its simulation.
>>> What are the exact steps which the exact same program with the exact same
>>> input uses to get two different results?
>>> I saw x86utm. In x86utm there is a mistake because Ĥ.H is not defined to
>>> do exactly the same steps as H, which means you failed to do the Linz
>>> procedure.
>>
>> Not sure if we're discussing a general H here, or PO's H/Ĥ under his
>> x86utm.  (Ĥ is called D under x86utm.)
>>
>> Under x86utm, Ĥ.H is implemented as a call to H from D, whilst H in
>> implemented as a call to H from main.  So we would expect stack addresses
>> to differ, but for that not to affect the computation.
>>
>> In both cases, H:
>> -  simulates D(D) computation
>> -  spots PO's unsound "infinite recursion" pattern
>> -  announces it has encountered infinite recursion
>> -  returns 0  [non-halting]
>>
>> So Ĥ.H does exactly the same steps as H, and reports the same result, as
>> required for Linz proof. And just as Linz proof proves, the result reported
>> by H is incorrect, since D(D) halts.  I have compared the instructions
>> executed by both H/Ĥ and THEY ARE EXACTLY THE SAME.  (In the region of 1000
>> or so machine instructions, including the handful of simulated
>> instructions.  Obviously stack addresses differ.  If required I could post
>> the output log but its quite long.]
>>
>> So... in this case the exact same program is given the exact same input and
>> gets the exact same result as Linz logic requires, and the outcome is
>> exactly what Linz says.  There is really no mystery here that needs
>> explaining by faulty coding/cheating with simulations on PO's part.
> 
> Yes, this was the crystal clear case that led PO to answer:
> 
> | do you still assert that H(P,P) == false is the "correct" answer even
> | though P(P) halts?
> 
> PO: Yes that is the correct answer even though P(P) halts.
> 
> I think your analysis of the traces was a key part of getting that clear
> statement from him.
> 

H(D,D) could never provide a return value consistent with the direct
execution of D(D) because it must abort its simulation or it cannot
report at all. From the POV of H(D,D) D(D) does not halt.

 From the POV of external observers D(D) does halt. H1(D,D)
is one such external observer.

Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.Hq0 ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.Hqy ∞ // Ĥ applied to ⟨Ĥ⟩ halts
Ĥ.q0 ⟨Ĥ⟩ ⊢* Ĥ.Hq0 ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.Hqn   // Ĥ applied to ⟨Ĥ⟩ does not halt

Since no Turing machine can actually call another the results
that we get from the Linz proof are more applicable.

>> The HH/DD case is different, as that coding is completely broken by misuse
>> of global variables to divert the course of the code under the simulator.

Olcott Machines are totally derived From Turing Machines
thus all of their aspects have been fully understood.

An Olcott machine is merely an ordinary UTM paired
with an arbitrary Turing Machine Description (TMD).

This UTM always appends the TMD to the end of the
TMD's own tape. The TMD is free to access its TMD
or ignore it.

This provides each TMD with the functional equivalent
of knowing their own machine address.

>> But since EVEN WHEN THINGS WORK EXACTLY AS PO WANTS his results are in
>> AGREEMENT with Linz, it seems to me that arguing that his problem is
>> relating to cheating with the simulation is kind of missing the point.  Um,
>> not to say there's much point arguing with PO even if making perfectly
>> "on-point" arguments!  It all makes no difference to PO... :)
> 
> The irony here is that if one cheats it's possible to have H(D,D) (in
> main, say) return 1 and yet have D(D) halt.  This can be done with D
> constructed as usual.  It's only H that needs the cheat.  So to his
> credit, he is not cheating, just totally at sea.
> 

When you understand the details you will understand
that I am correct.

-- 
Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer