On 4/4/2025 10:49 PM, Richard Heathfield wrote:
On 05/04/2025 00:41, olcott wrote:
*Simulating termination analyzer Principle*
It is always correct for any simulating termination
analyzer to stop simulating and reject any input that
would otherwise prevent its own termination. The
only rebuttal to this is rejecting the notion that
deciders must always halt.
typedef void (*ptr)();
int HHH(ptr P);
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
int main()
{
HHH(DD);
}
In other words, you operate on the principle that deciders
don't have to (and indeed can't) always make a correct decision
on whether an input program halts.
The termination analyzer HHH would be correct
to determine that it must stop simulating DD to
prevent its own non-termination
On 4/5/2025 11:25 AM, dbush wrote:
On 4/5/2025 11:59 AM, olcott wrote:
On 4/5/2025 2:42 AM, Richard Heathfield wrote:
On 05/04/2025 07:14, olcott wrote:
On 4/4/2025 10:49 PM, Richard Heathfield wrote:
On 05/04/2025 00:41, olcott wrote:
*Simulating termination analyzer Principle*
It is always correct for any simulating termination
analyzer to stop simulating and reject any input that
would otherwise prevent its own termination. The
only rebuttal to this is rejecting the notion that
deciders must always halt.
typedef void (*ptr)();
int HHH(ptr P);
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
int main()
{
HHH(DD);
}
In other words, you operate on the principle that deciders
don't have to (and indeed can't) always make a correct
decision on whether an input program halts.
The termination analyzer HHH would be correct
to determine that it must stop simulating DD to
prevent its own non-termination
Fine, but then it fails to do its job. What you are learning
(albeit slowly) is that the termination analyser HHH can't
analyse whether DD terminates. It is therefore not a general
purpose termination analyser.
Introduction to the Theory of Computation 3rd Edition
by Michael Sipser (Author) (best selling textbook)
<MIT Professor Sipser agreed to ONLY these verbatim words
10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would
never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words
10/13/2022>
But not what you think he agreed to:
You have to show that by showing the details of how
what he agreed to is not accurately paraphrased by
*Simulating termination analyzer Principle*
*Simulating termination analyzer Principle*
It is always correct for any simulating termination
analyzer to stop simulating and reject any input that
would otherwise prevent its own termination.
As any C programmer can see DDD simulated by HHH would cause
any correct simulator to get stuck in recursive simulation
On 4/5/2025 2:12 PM, Richard Heathfield wrote:
On 05/04/2025 20:01, olcott wrote:
As any C programmer can see DDD simulated by HHH would cause
any correct simulator to get stuck in recursive simulation
As any C programmer can see, any C compiler is free to reject
your code,
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
return;
}
The above code is correct to the extent that some
HHH is defined somewhere, so it seems that you are
wrong
and trying to change the subject.
On 05/04/2025 20:01, olcott wrote:
[...]
[...] What /is/ surprising is that you
have managed to drag this joke out for so long.
On 4/5/2025 3:30 PM, Richard Heathfield wrote:
On 05/04/2025 20:21, olcott wrote:
On 4/5/2025 2:12 PM, Richard Heathfield wrote:
On 05/04/2025 20:01, olcott wrote:
As any C programmer can see DDD simulated by HHH would cause
any correct simulator to get stuck in recursive simulation
As any C programmer can see, any C compiler is free to reject
your code,
typedef void (*ptr)();
int HHH(ptr P);
void DDD()
{
HHH(DDD);
return;
}
The above code is correct to the extent that some
HHH is defined somewhere, so it seems that you are
wrong
No, you just don't know what I'm talking about. That doesn't
surprise me, of course.
I'm talking about your HHH code. Any conforming compiler can
reject your assembly language inserts.
I am not taking about that code.
This post has only been about a hypothetical
HHH that simulates its input.
You twist and turn like a twisty-turny thing, but every wriggle takes
you further away from The Halting Problem and closer and closer to the
far less interesting Olcott Halting Problem.
I am trying to explain how the actual HHH works
one step at a time.
On 05/04/2025 20:01, olcott wrote:
As any C programmer can see DDD simulated by HHH would cause
any correct simulator to get stuck in recursive simulation
As any C programmer can see, any C compiler is free to reject your code, which makes no attempt whatsoever to analyse the behaviour of the input program.
That, of course, is not surprising. What /is/ surprising is that you
have managed to drag this joke out for so long.
On 4/5/2025 6:35 PM, Richard Heathfield wrote:
On 06/04/2025 00:16, olcott wrote:
I am trying to explain how the actual HHH works
one step at a time.
But it doesn't, so you're wasting your time. The best you'll
manage is to determine the termination status of /some/
programs. That's not in dispute. But all programs? Can't be
done, as has been explained to you ad nauseam.
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
As long as HHH determines the correct halt status
of DD it has refuted ALL of the conventional HP proofs.
Richard Heathfield <rjh@cpax.org.uk> writes:
[...]
No, it hasn't. Only if it can determine the correct halt status for
/any and every/ program will it do that... and it can't, for reasons
already explained many times in some depth.
olcott has largely taken over comp.theory, and his posts have dominated
that newsgroup for years.
Please stop helping him do the same to comp.lang.c.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 10:39:45 |
Calls: | 10,389 |
Calls today: | 4 |
Files: | 14,061 |
Messages: | 6,416,854 |
Posted today: | 1 |