Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Eliminating the pathological self-reference error of the halting theorem (V7)(Kaz)

9 views
Skip to first unread message

olcott

unread,
Jun 12, 2021, 5:30:35 PM6/12/21
to
On 5/23/2021 9:59 AM, Kaz Kylheku wrote:
> On 2021-05-22, olcott <No...@NoWhere.com> wrote:
>> On 5/22/2021 9:56 AM, Kaz Kylheku wrote:
>>> The halting proof is a form of diagonal argument. It says that the
>>> diagonal entries all fail to decide.
>>>
>>> Cases F H G <---- deecciders
>>>
>>> F^ [ F(^F,^F) ] G(^F, ^F) H(^F, ^F)
>>> G^ F(^G,^G) [ G(^G, ^G) ] H(^G, ^G)
>>> H^ F(^H,^H) G(^H, ^H) [ H(^H, ^H) ]
>>>
>>> Only the diagonal [ ] entriess are relevant. When you substitute
>>> a decider in the test case, to obtain another test case, you
>>> move vertically through the table, which takes you off the diagonal.
>>>
>>> When you replacee the decider being applied to the test case,
>>> you move horizontally; again off the diagonal.
>>>
>>> To stick to the diagonal, you must make both substitutions
>>> in parallel. E.g. when yu change from the H^ case which "attacks" the H
>>> decider to the G^ test case which attacks the G decider,
>>> it is that attacked G decider which cannot decide that case.
>>> You must go from H(^H, ^H) to G(^G, ^G).
>>>
>>> Until you thoroughly internalize the above, you do not
>>> have a grasp on halting.
>>>
>>
>> I understand where you are coming from. I am coming from somewhere else.
>> If you analyze what I am saying using conventional analysis then what I
>> am saying is incorrect.
>>
>> To see that what I am saying <is> correct you must switch to
>> unconventional analysis.
>
> The Turing model of computation, and the halting question and its
> proofs are entirely contained within "conventional analysis".
>
> You're using the language of conventional analysis to refer to
> its concepts and constructs, and to dispute its results.
>
> If you want to use "unconventional analysis", you must rigorously pin
> down what that is, before you even approach the halting problem,
> and present that framework upfront.
>
> Within that framework, you must construct that framework's own model of
> computation. Then pursue that framework's version of the halting
> problem within that framework, and not make any claims with regard to
> conventional Turing halting (which will automatically make you look
> wrong).
>
> You can use similar language like "machine", "halts", and so on, if you
> make it clear up front that these words are in your own framework and do
> not have their conventional meaning.
>
> You also face this problem: what good is your alternative analysis?
> Conventional analysis is reliable and powerful. Can we apply your
> alternative analysis to a broad area of problems and get good results?
>
>> Because we know that the only difference in the behavior of a simulating
>> halt decider and a simulator is that the simulating halt decider stops
>> simulating some of its inputs we can examine the behavior of these
>> inputs in a simulator to determine whether or not a simulating halt
>> decider would stop simulating these inputs.
>
> Sure, but the difference in behavior means we are jumping to a different
> column of the input-decider matrix and are no longer on the diagonal.
> To return to the diagonal while staying in the same column, we must
> switch to a different row: the row for the test case which is based on
> that column's decider. Where row and column match, we have an incorrect
> or nonterminating halting decision, according to this conventional analysis.
>
> Any reasoning that leads you, through substitutions, to discovering a
> good halting decision, but which is off the diagonal trace, has led you
> to an irrelevant configuration. The proof says only that the
> configurations on the diagonal are incorrect or non-halting. The
> proof does not make any assertions about non-diagonal configuations,
> therefore those configurations are not counterexamples to the proof's
> claims.
>
> The undecidability of halting is precisely the claim that the entire
> diagonal consists of incorrect answers or non-halting. Since for every
> decider there is a diagonal entry, every decider is associated with a
> test case it does not handle.

void P(u32 x)
{
u32 Input_Halts = H(x, x);
if (Input_Halts)
HERE: goto HERE;
}

int main()
{
H((u32)P, (u32)P);
}

https://en.wikipedia.org/wiki/Halting_problem#Sketch_of_proof

Now that I have studied the diagonalization method much more thoroughly
I can say that its error is that is assuming that H must return a value
to P.

It fails to consider this possibility:

(1) The simulating halt decider H aborts the simulation of its input P
before ever returning any value to P.

(2) It does this on the the basis that P is calling H in infinite
recursion.


>
> If every decider has at least one test case it does not handle, then
> there does not exist a universal (= handles all cases) decider:
> there is no algorithm that decides all cases of halting.
>


--
Copyright 2021 Pete Olcott

"Great spirits have always encountered violent opposition from mediocre
minds." Einstein
0 new messages