Sujet : Re: Termination analyzer defined ---RICHARD IS WRONG !!!
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 15. May 2024, 08:56:10
Autres entêtes
Organisation : -
Message-ID : <v21pqq$okqv$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Unison/2.2
On 2024-05-14 14:18:40 +0000, olcott said:
On 5/14/2024 4:34 AM, Mikko wrote:
On 2024-05-13 18:07:37 +0000, Jeff Barnett said:
On 5/13/2024 3:06 AM, Mikko wrote:
Anyway, if an analyzer can never tell whether a program terminates
with every possible input then it is not a termination analyzer.
I don't think the above is true in the way you meant it. Recall that the collection of all Turing machines with blank input tapes is the same set of computations as the collection with arbitrary input tapes. It's always possible to take any specific machine, T, and initial tape, I, and produce machine T' with blank initial input tape that is equivalent: T' initially writes I on its tape (say one character output per state in sequence) then continues with the set of states that comprises T.
So it is obvious that a termination analyzer (AKA a halt decider) restricted to blank tape problems will do quite nicely and it is also quite obvious that no such entity exists.
You only discuss halting decisions with specific inputs. THerefore you say
nothing about termination analyzers and don't show any mistake in my comment.
00 int H(ptr x, ptr x) // ptr is pointer to int function
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 }
In any case you diverged away form the whole point of this thread.
Richard is wrong when he says that there exists an H/D pair such
that D simulated by H ever reaches past its own line 03.
The main topic (per OP) is the definition of "termination analyzer".
Whether someone is wrong about aomeone else is a secondary topic if
a topic at all, and pretty poitless anyway.
-- Mikko