Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

1.79 x 10^12 furlongs per fortnight -- it's not just a good idea, it's the law!


computers / comp.theory / Re: Technically competent Software engineers can verify this halting problem proof refutation

Re: Technically competent Software engineers can verify this halting problem proof refutation

<q6WdnQOdENMlWSX_nZ2dnUU7_8xh4p2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=34978&group=comp.theory#34978

  copy link   Newsgroups: comp.theory comp.ai.philosophy sci.logic sci.math
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Sun, 26 Jun 2022 15:42:32 -0500
Date: Sun, 26 Jun 2022 15:42:31 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Subject: Re: Technically competent Software engineers can verify this halting
problem proof refutation
Content-Language: en-US
Newsgroups: comp.theory,comp.ai.philosophy,sci.logic,sci.math
References: <EOydnaeszcdfHS__nZ2dnUU7_83NnZ2d@giganews.com>
<87sfnv2e6e.fsf@bsb.me.uk>
<3a337f21-4828-46c4-b5be-87c76cff9db4n@googlegroups.com>
<878rplyhj6.fsf@bsb.me.uk>
<b6163094-01b0-4bb4-a3b1-4e48457527a0n@googlegroups.com>
<87fsjtwvut.fsf@bsb.me.uk>
<b2699d2d-40be-4e9b-9612-efb7121d5a8bn@googlegroups.com>
<87k094uwkw.fsf@bsb.me.uk> <SbudnW2JfoTdICr_nZ2dnUU7_83NnZ2d@giganews.com>
<20220626030328.00007922@reddwarf.jmc>
<R8WdnXqc7LIHqCX_nZ2dnUU7_83NnZ2d@giganews.com>
<20220626121534.00007e30@reddwarf.jmc>
<xridnT9kGf5GFSX_nZ2dnUU7_83NnZ2d@giganews.com>
<20220626200003.00005a2f@reddwarf.jmc>
<g66dneEaUuTaMiX_nZ2dnUU7_83NnZ2d@giganews.com>
<20220626202610.000048d3@reddwarf.jmc>
<3cOdnZP4Ka8cKCX_nZ2dnUU7_83NnZ2d@giganews.com>
<20220626204304.00006847@reddwarf.jmc>
<qsadnZNWDrXtJCX_nZ2dnUU7_8zNnZ2d@giganews.com>
<20220626211525.0000424c@reddwarf.jmc>
<q6WdnQCdENMFXiX_nZ2dnUU7_8xh4p2d@giganews.com>
<20220626214013.00004953@reddwarf.jmc>
From: NoO...@NoWhere.com (olcott)
In-Reply-To: <20220626214013.00004953@reddwarf.jmc>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <q6WdnQOdENMlWSX_nZ2dnUU7_8xh4p2d@giganews.com>
Lines: 367
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-fLqyTadS4jcVIDi4QeDlfli7l0HiLU/Cc8LjwlojpCPO6LSlNhayYOVVwVNRPUlIu8dyEFo5Qt/ef4l!0mjz8vENcJTAH5tIJdTvIIYuoquecU6AL5JF7ZBMqKVZ01rwX3tvVRgEcKF0hROoOX5NyxG7UclC
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 18349
 by: olcott - Sun, 26 Jun 2022 20:42 UTC

On 6/26/2022 3:40 PM, Mr Flibble wrote:
> On Sun, 26 Jun 2022 15:37:43 -0500
> olcott <NoOne@NoWhere.com> wrote:
>
>> On 6/26/2022 3:15 PM, Mr Flibble wrote:
>>> On Sun, 26 Jun 2022 14:54:22 -0500
>>> olcott <NoOne@NoWhere.com> wrote:
>>>
>>>> On 6/26/2022 2:43 PM, Mr Flibble wrote:
>>>>> On Sun, 26 Jun 2022 14:37:36 -0500
>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>
>>>>>> On 6/26/2022 2:26 PM, Mr Flibble wrote:
>>>>>>> On Sun, 26 Jun 2022 14:11:02 -0500
>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>
>>>>>>>> On 6/26/2022 2:00 PM, Mr Flibble wrote:
>>>>>>>>> On Sun, 26 Jun 2022 11:27:06 -0500
>>>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>>>
>>>>>>>>>> On 6/26/2022 6:15 AM, Mr Flibble wrote:
>>>>>>>>>>> On Sun, 26 Jun 2022 05:31:53 -0500
>>>>>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> On 6/25/2022 9:03 PM, Mr Flibble wrote:
>>>>>>>>>>>>> On Sat, 25 Jun 2022 20:58:23 -0500
>>>>>>>>>>>>> olcott <NoOne@NoWhere.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 6/25/2022 6:55 PM, Ben Bacarisse wrote:
>>>>>>>>>>>>>>> Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Friday, 24 June 2022 at 23:16:30 UTC+1, Ben
>>>>>>>>>>>>>>>> Bacarisse wrote:
>>>>>>>>>>>>>>>>> Malcolm McLean <malcolm.ar...@gmail.com> writes:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> "Dry run" means that a human programmer looks at the
>>>>>>>>>>>>>>>>>> code, and determines what it does, without actually
>>>>>>>>>>>>>>>>>> executing it.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Going back, now, to what you think needs to be
>>>>>>>>>>>>>>>>> resolved: | He's dry-run P(P) and established that it
>>>>>>>>>>>>>>>>> doesn't halt. He's invoked H | on it and H reports
>>>>>>>>>>>>>>>>> that it doesn't halt. He's run P(P) and it halts. The
>>>>>>>>>>>>>>>>> obvious conclusion is that PO's dry run (if he has
>>>>>>>>>>>>>>>>> indeed done such a thing) is incorrect.
>>>>>>>>>>>>>>>> Exactly.
>>>>>>>>>>>>>>>> We do our little energy budget on tigers, and find that
>>>>>>>>>>>>>>>> tigers spend more energy than they take in. Well
>>>>>>>>>>>>>>>> potentially this is dynamite. One explanation is that
>>>>>>>>>>>>>>>> the law of conservation of energy is wrong. Except,
>>>>>>>>>>>>>>>> before we countenance that explanation, we need to
>>>>>>>>>>>>>>>> rule out a much simpler explanation. Which is that our
>>>>>>>>>>>>>>>> measurements are wrong.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Obviously.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Similarly, PO has worked out what he thinks P(P) should
>>>>>>>>>>>>>>>> be doing, by dry-running it, and then actually run P(P)
>>>>>>>>>>>>>>>> and obtained a different result. He also found that H
>>>>>>>>>>>>>>>> agreed with the dry run. It's hard to paraphrase his
>>>>>>>>>>>>>>>> conclusion, but it is extensive and far-reaching in its
>>>>>>>>>>>>>>>> implications.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> He is just waffling. There is no conclusion, just a
>>>>>>>>>>>>>>> constant twisting and turning to find some why to
>>>>>>>>>>>>>>> persuade people that the wrong answer is the right one.
>>>>>>>>>>>>>>> He's being doing this for years with various degrees
>>>>>>>>>>>>>>> of obfuscation.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> H does not report the correct result for P(P) and PO is
>>>>>>>>>>>>>>> putting up anything he can think of to keep the
>>>>>>>>>>>>>>> discussion going. It should simply have stopped once
>>>>>>>>>>>>>>> he'd been clear that H(P,P) == 0 is correct "even
>>>>>>>>>>>>>>> though P(P) halts" but the traces and the verbiage is
>>>>>>>>>>>>>>> keeping people keen.
>>>>>>>>>>>>>>>> The behaviour of code when run is different from the
>>>>>>>>>>>>>>>> correct behaviour of the code when simulated. If that's
>>>>>>>>>>>>>>>> true, then it has similar implications for computer
>>>>>>>>>>>>>>>> science that disproving the conservation law has for
>>>>>>>>>>>>>>>> physics.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> When a student comes to me and says that her program to
>>>>>>>>>>>>>>> add 5 and 6 gives 12, I don't, even for a moment,
>>>>>>>>>>>>>>> imagine that the laws of logic and mathematics are in
>>>>>>>>>>>>>>> doubt.
>>>>>>>>>>>>>>>> But the obvious explanation is that the dry-run was
>>>>>>>>>>>>>>>> incorrect. Lots of people have suggested why it is
>>>>>>>>>>>>>>>> incorrect. But they can't actually see the code. PO
>>>>>>>>>>>>>>>> needs to understand that no-one will accept the
>>>>>>>>>>>>>>>> complicated, far-reaching explanation, until the
>>>>>>>>>>>>>>>> simple explanation has been ruled out.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For what it's worth, I don't think there is any "dry
>>>>>>>>>>>>>>> run" going on here at all. PO decide years ago that
>>>>>>>>>>>>>>> H(H_Hat, H_Hat) would be 0 because he knew (correctly)
>>>>>>>>>>>>>>> that H could spot what would happen if H did not
>>>>>>>>>>>>>>> "intervene". Everything since then -- the "it only halt
>>>>>>>>>>>>>>> because...", the "it wouldn't halt if line 15 were
>>>>>>>>>>>>>>> commented out" and the rather less explicitly stated
>>>>>>>>>>>>>>> "H_Hat does not get to its ret instruction because a
>>>>>>>>>>>>>>> non top-level H aborts" are just the various attempt at
>>>>>>>>>>>>>>> after-the-fact justification.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I agree it's never quite so simple because PO is usually
>>>>>>>>>>>>>>> fractally wrong, so he's not correct about almost
>>>>>>>>>>>>>>> everything he says at almost every level. For example,
>>>>>>>>>>>>>>> at one level he now admits that a halt decider is
>>>>>>>>>>>>>>> impossible because H(X,Y) must report "on its input" and
>>>>>>>>>>>>>>> the call X(Y) is not an input! He did this to explain
>>>>>>>>>>>>>>> why H(P,P) is permitted to return 0 "even though P(P)
>>>>>>>>>>>>>>> halts", but it also makes it clear that what he one
>>>>>>>>>>>>>>> thought was that halting problem is not solvable.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> YOU KNOW THAT THIS IS TRUE
>>>>>>>>>>>>>> A halt decider must compute the mapping from its inputs
>>>>>>>>>>>>>> to an accept or reject state on the basis of the actual
>>>>>>>>>>>>>> behavior that is actually specified by these inputs.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> BECAUSE THIS IS PROVABLY TRUE
>>>>>>>>>>>>>> P(P) is provably not the actual behavior of the actual
>>>>>>>>>>>>>> input.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> YOU ARE THE ONE FUDGING WITH THE TRUTH
>>>>>>>>>>>>>
>>>>>>>>>>>>> The issue is what constitutes a pathological input: the
>>>>>>>>>>>>> pathological input at issue here are YOUR PATHOLOGICAL
>>>>>>>>>>>>> LIES, Olcott.
>>>>>>>>>>>>>
>>>>>>>>>>>>> /Flibble
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Computable functions are the basic objects of
>>>>>>>>>>>> study in computability theory.
>>>>>>>>>>>> Computable functions are the formalized
>>>>>>>>>>>> analogue of the intuitive notion of
>>>>>>>>>>>> algorithms, in the sense that a function is
>>>>>>>>>>>> computable if there exists an algorithm
>>>>>>>>>>>> that can do the job of the function, i.e. given
>>>>>>>>>>>> an input of the function domain it
>>>>>>>>>>>> can return the corresponding output.
>>>>>>>>>>>> https://en.wikipedia.org/wiki/Computable_function
>>>>>>>>>>>>
>>>>>>>>>>>> void P(u32 x)
>>>>>>>>>>>> {
>>>>>>>>>>>> if (H(x, x))
>>>>>>>>>>>> HERE: goto HERE;
>>>>>>>>>>>> return;
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> int main()
>>>>>>>>>>>> {
>>>>>>>>>>>> Output("Input_Halts = ", H((u32)P, (u32)P));
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> That you reject that the above proves that H and P have a
>>>>>>>>>>>> pathological relationship to each other seem to be your
>>>>>>>>>>>> lack of technical competence rather than dishonesty.
>>>>>>>>>>>
>>>>>>>>>>> There is nothing wrong with my technical competence however
>>>>>>>>>>> yours *is* suspect.
>>>>>>>>>>>
>>>>>>>>>>> Nobody is denying that P is pathological input as its comes
>>>>>>>>>>> from [Strachey, 1965]'s "Impossible Program";
>>>>>>>>>>
>>>>>>>>>> // rec routine P
>>>>>>>>>> // §L :if T[P] go to L
>>>>>>>>>> // Return §
>>>>>>>>>> // https://academic.oup.com/comjnl/article/7/4/313/354243
>>>>>>>>>> void Strachey_P()
>>>>>>>>>> {
>>>>>>>>>> L:if (T(Strachey_P))
>>>>>>>>>> goto L;
>>>>>>>>>> return;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> int main()
>>>>>>>>>> {
>>>>>>>>>> Output("Input_Halts = ", T(Strachey_P));
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> _Strachey_P()
>>>>>>>>>> [000015b2](01) 55 push ebp
>>>>>>>>>> [000015b3](02) 8bec mov ebp,esp
>>>>>>>>>> [000015b5](05) 68b2150000 push 000015b2 // push
>>>>>>>>>> Strachey_P [000015ba](05) e813fdffff call 000012d2 //
>>>>>>>>>> call T [000015bf](03) 83c404 add esp,+04
>>>>>>>>>> [000015c2](02) 85c0 test eax,eax
>>>>>>>>>> [000015c4](02) 7402 jz 000015c8
>>>>>>>>>> [000015c6](02) ebed jmp 000015b5
>>>>>>>>>> [000015c8](01) 5d pop ebp
>>>>>>>>>> [000015c9](01) c3 ret
>>>>>>>>>> Size in bytes:(0024) [000015c9]
>>>>>>>>>>
>>>>>>>>>> _main()
>>>>>>>>>> [000015d2](01) 55 push ebp
>>>>>>>>>> [000015d3](02) 8bec mov ebp,esp
>>>>>>>>>> [000015d5](05) 68b2150000 push 000015b2 // push
>>>>>>>>>> Strachey_P [000015da](05) e8f3fcffff call 000012d2 //
>>>>>>>>>> call T [000015df](03) 83c404 add esp,+04
>>>>>>>>>> [000015e2](01) 50 push eax
>>>>>>>>>> [000015e3](05) 6833040000 push 00000433
>>>>>>>>>> [000015e8](05) e895eeffff call 00000482
>>>>>>>>>> [000015ed](03) 83c408 add esp,+08
>>>>>>>>>> [000015f0](02) 33c0 xor eax,eax
>>>>>>>>>> [000015f2](01) 5d pop ebp
>>>>>>>>>> [000015f3](01) c3 ret
>>>>>>>>>> Size in bytes:(0034) [000015f3]
>>>>>>>>>>
>>>>>>>>>> machine stack stack machine assembly
>>>>>>>>>> address address data code language
>>>>>>>>>> ======== ======== ======== ========= =============
>>>>>>>>>> [000015d2][001025c6][00000000] 55 push ebp
>>>>>>>>>> [000015d3][001025c6][00000000] 8bec mov ebp,esp
>>>>>>>>>> [000015d5][001025c2][000015b2] 68b2150000 push 000015b2 //
>>>>>>>>>> push Strachey_P [000015da][001025be][000015df] e8f3fcffff
>>>>>>>>>> call 000012d2 // call T
>>>>>>>>>>
>>>>>>>>>> Begin Simulation Execution Trace Stored at:21267a
>>>>>>>>>> Address_of_T:12d2
>>>>>>>>>> [000015b2][0021266a][0021266e] 55 push ebp
>>>>>>>>>> [000015b3][0021266a][0021266e] 8bec mov ebp,esp
>>>>>>>>>> [000015b5][00212666][000015b2] 68b2150000 push 000015b2 //
>>>>>>>>>> push Strachey_P [000015ba][00212662][000015bf] e813fdffff
>>>>>>>>>> call 000012d2 // call T Infinitely Recursive Simulation
>>>>>>>>>> Detected Simulation Stopped
>>>>>>>>>>
>>>>>>>>>> T knows its own machine address and on this basis it can
>>>>>>>>>> easily examine its stored execution_trace of Strachey_P (see
>>>>>>>>>> above) to determine: (a) Strachey_P is calling T with the
>>>>>>>>>> same arguments that T was called with. (b) No instructions
>>>>>>>>>> in Strachey_P could possibly escape this otherwise
>>>>>>>>>> infinitely recursive emulation.
>>>>>>>>>
>>>>>>>>> There is no recursion in [Strachey, 1965] or the proofs based
>>>>>>>>> on it that you are attempting to refute. Fail.
>>>>>>>>>
>>>>>>>>> /Flibble
>>>>>>>>>
>>>>>>>>
>>>>>>>> In other words you are saying that because a non-simulating
>>>>>>>> halt decider (that has no recursive emulation) cannot correctly
>>>>>>>> determine the halt status of its input that a simulating halt
>>>>>>>> decider (that has recursive emulation) cannot correctly
>>>>>>>> determine the halt status of its input.
>>>>>>>
>>>>>>> We have already established that your simulating halt decider
>>>>>>> gets the answer wrong if P calls H but isn't pathological.
>>>>>>>
>>>>>>
>>>>>> We have not established that at all.
>>>>>
>>>>> Yes we have:
>>>>>
>>>>> void Px(u32 x)
>>>>> {
>>>>> H(x, x);
>>>>> return;
>>>>> }
>>>>>
>>>>> int main()
>>>>> {
>>>>> Output("Input_Halts = ", H((u32)Px, (u32)Px));
>>>>> }
>>>>>
>>>>> ...[000013e8][00102357][00000000] 83c408 add esp,+08
>>>>> ...[000013eb][00102353][00000000] 50 push eax
>>>>> ...[000013ec][0010234f][00000427] 6827040000 push 00000427
>>>>> ---[000013f1][0010234f][00000427] e880f0ffff call 00000476
>>>>> Input_Halts = 0
>>>>> ...[000013f6][00102357][00000000] 83c408 add esp,+08
>>>>> ...[000013f9][00102357][00000000] 33c0 xor eax,eax
>>>>> ...[000013fb][0010235b][00100000] 5d pop ebp
>>>>> ...[000013fc][0010235f][00000004] c3 ret
>>>>> Number of Instructions Executed(16120)
>>>>>
>>>>> As can be seen above Olcott's H decides that Px does not halt but
>>>>> it is obvious that Px should always halt if H is a valid halt
>>>>> decider that always returns a decision to its caller (Px).
>>>>> Olcott's H does not return a decision to its caller (Px) and is
>>>>> thus invalid.
>>>>>> H1(P,P)==1 is the non-pathological instance.
>>>>>
>>>>> See above.
>>>>>
>>>>>>
>>>>>>>>
>>>>>>>> In other words if there are no black dogs in the kitchen this
>>>>>>>> proves that there are no white cats in the living room.
>>>>>>>
>>>>>>> You are the one trying to redefine H to be something else.
>>>>>>>
>>>>>>> /Flibble
>>>>>>>
>>>>>>
>>>>>> Not something else at all.
>>>>>>
>>>>>> It is merely the case that no one besides me every bothered to
>>>>>> fully investigate the effects of applying a simulating halt
>>>>>> decider to the wide open (any pure function of its inputs will
>>>>>> do) specification of the halting problem proofs.
>>>>>
>>>>> A simulating halt decider is invalid as it cannot return an answer
>>>>> of non-halting in finite time for all non-halting inputs as there
>>>>> is no proven algorithm that can detect non-halting behaviour for
>>>>> the general case.
>>>>>
>>>>> /Flibble
>>>>>
>>>>>
>>>>
>>>> We are back to your lack of sufficient software engineering skill.
>>>> You still don't understand that everything after P's function call
>>>> to H(P,P) is unreachable by P from:
>>>>
>>>> int main()
>>>> {
>>>> Output("Input_Halts = ", H1((u32)P, (u32)P));
>>>> }
>>>>
>>>> This means that erasing the infinite loop can have no effect.
>>>> Here is the actual non-pathological input to H1(P,P):
>>>>
>>>> void P(u32 x)
>>>> {
>>>> if (H(x, x))
>>>> HERE: goto HERE;
>>>> return;
>>>> }
>>>>
>>>> int main()
>>>> {
>>>> Output("Input_Halts = ", H1((u32)P, (u32)P));
>>>> }
>>>>
>>>> H1(P,P)==1.
>>>
>>> The only reason erasing the infinite loop has no effect is because
>>> your H aborts the simulation which is an invalid thing to do.
>>>
>>> /Flibble
>>>
>>
>> A simulating halt decider must always abort every simulation that
>> would otherwise never stop running.
>>
>> It does the same thing for:
>> (a) Infinite loops
>> (b) Infinite recursion
>> (c) Infinitely recursive emulation
>
> It is wrong to do that. Why? Because you have no way of knowing if the
> simulation would never stop running as there is no known algorithm for
> detecting non-halting behaviour for the general case.
>
> /Flibble
>

That is no rebuttal what-so-ever that it is incorrect on the cases that
it does decide. Refuting the HP proofs only requires correctly deciding
this one single case: H(P,P);

--
Copyright 2022 Pete Olcott

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

SubjectRepliesAuthor
o Technically competent Software engineers can verify this halting

By: olcott on Wed, 22 Jun 2022

211olcott
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor