Sujet : Re: Termination analyzer defined ---RICHARD IS WRONG !!!
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 18. May 2024, 15:35:43
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v2aec0$2qsgt$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
User-Agent : Mozilla Thunderbird
On 5/18/2024 4:33 AM, Mikko wrote:
On 2024-05-17 15:53:33 +0000, olcott said:
On 5/17/2024 3:58 AM, Mikko wrote:
On 2024-05-16 14:08:50 +0000, olcott said:
>
On 5/16/2024 4:59 AM, Mikko wrote:
On 2024-05-15 14:52:01 +0000, olcott said:
>
On 5/15/2024 2:53 AM, Mikko wrote:
On 2024-05-14 14:10:47 +0000, olcott said:
>
On 5/14/2024 4:28 AM, Mikko wrote:
On 2024-05-13 14:42:05 +0000, olcott said:
>
On 5/13/2024 4:06 AM, Mikko wrote:
On 2024-05-12 17:12:00 +0000, olcott said:
>
On 5/12/2024 10:27 AM, Mikko wrote:
On 2024-05-12 13:59:28 +0000, olcott said:
>
On 5/12/2024 3:45 AM, Mikko wrote:
On 2024-05-11 16:35:48 +0000, olcott said:
>
On 5/11/2024 4:39 AM, Mikko wrote:
On 2024-05-11 00:30:40 +0000, olcott said:
>
A termination analyzer is different than a halt decider in that it need
not correctly determine the halt status of every input. For the purposes
of this paper a termination analyzer only needs to correctly determine
the halt status of one terminating input and one non-terminating input.
The computer science equivalent would be a halt decider with a limited
domain that includes at least one halting and one non-halting input.
>
From https://www.google.fi/search?q=termination+analysis and
https://en.wikipedia.org/wiki/Termination_analysis :
>
"In computer science, termination analysis is program analysis which attempts to determine whether the evaluation of a given program halts for each input. This means to determine whether the input program computes a total function."
>
So the term "termination analysis" is already defined. The derived term
"termination analyzer" means a performer of termination analysis. That
does not agree with the propsed defintion above so a differnt term
should be used.
>
That "termination analysis" is a know term that need not be defined
is demostrated e.g. by
>
https://arxiv.org/pdf/2101.09783
>
which simply assumes that readers know (at least approximately) what
the term means.
>
>
You are doing a great job performing an honest review!
So every time that Richard referred to a {termination analyzer} that
ignores its inputs *Richard was WRONG*
>
More important is that you are wrong whenever you use "termination
analyser" for something that by the conventional meaning isn't.
>
>
A conventional termination analyzer is free to use any algorithm
as long as it analyzes termination.
>
It is not sufficient to analyse something about termination. The
conventional meaning is that a termination analyser does not say
"yes" unless the analysed program terminates with every possible
input.
>
>
A specific program halts with every input is not at all the same
thing as correctly analyzing every program with every input.
>
If you can't find out whether a program halts with every input even
after analyzing it with every input your analysis is not really
good enough for the purpose.
>
Anyway, if an analyzer can never tell whether a program terminates
with every possible input then it is not a termination analyzer.
>
>
My simple termination analyzer easily determines whether or not
the limited class of programs that are in its domain halt on
every input. For example D() only has three classes of inputs
(a) Inputs that halt
(b) Inputs that do not halt
(c) itself.
>
If you can prove that it never gives a wrong "yes" answer
you can call it a "termination analyzer". Even better if
you can prove that it never gives a "yes" answer for an
invalid input.
>
However, it is not useful if it does not say "yes" about any useful
or interesting program.
>
Because it is a termination analyzer it need not work for
all programs. A partial halt decider with a limited domain
seems to be the equivalent theory of computation terminology.
>
A partial halt decider is not a termination analyzer. Their input
spaces are distinct.
>
>
It correctly determines the halt status YES or NO
for a specific limited set of programs and ALL of
the inputs to this limited infinite set of programs.
>
The important difference is that a partial halting decider takes
a pair (progam, input) for input but a halting analyzer takes
a singlet (program).
>
>
One can analyze whether a specific program will halt with a specific
input.
>
However, there is no way to ensure that the answer is ever found.
>
>
For the C version and the Turing machine version of the halting problem
template an answer <is> found.
>
That is a very restricted set of programs that are not very interesting.
>
>
If refuting the halting problem proofs is not very interesting then
what is interesting?
>
It is not sufficient that an answer must be given. There must be a
proof that the wrong answer is never given. For programs outside of
the domain and non-programs given as programs an answer that is
neither "yes" or "no" is permitted.
>
>
*Not at all. Not in the least little bit*
For the H/D pairs comprising the halting problem counter-example all
that needs be shown is that one of YES or NO <is> the correct answer.
That is trivial to show. What is hard is to tell which one is the
correct answer. Especially hard about D.
The halting problem proofs are intentionally formed to be isomorphic
to the liar paradox such that both YES and NO are the wrong answer
from every H.
Two PhD computer science professors wrote papers agreeing with this
assessment. I have had very extensive direct talks with professor
Hehner.
*Objective and Subjective Specifications* Eric C.R. Hehner 2017-7-10
https://www.cs.toronto.edu/~hehner/OSS.pdf*The Halting Paradox Bill Stoddart* 20 December 2017
https://arxiv.org/pdf/1906.05340I am not making an ALL KNOWING computer program that solves the halting
problem. I am making a program that refutes the conventional halting
problem proofs.
A program alone cannot refute a proof.
My proof is step-by-step
typedef int (*ptr)(); // ptr is pointer to int function
00 int H(ptr x, ptr y);
01 int D(ptr x)
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 int main()
10 {
11 H(D,D);
12 return 0;
13 }
It must first be understood that no D of any H/D pair where D
is correctly simulated by H can D possibly reach its own final
state at line 06 and halt.
A valid proof cannot be refuted
at all. The only way to refute a proof is to prove that the proof is
not a proof. Even that does not help much if the proof can be corrected.
My above proof can be refuted by the (categorically impossible)
single valid counter-example.
Besides, the theorem that no Turing machine is a halting decider remains
proven even if one proof is shown to be invalid.
It is very easy to (incorrectly) leap to the conclusion that
I am wrong. Not so much when we use the Socratic method to
validate each and every tiny step of my complete proof.
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer