On 7/30/2025 6:00 PM, Mr Flibble wrote:
Here is an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as
per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via
a sNaP (signaling Not a Program) signal (analogous to IEEE 754's
sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
/Flibble
Alternatively halt deciders never were accountable
for the direct execution of their inputs because
no Turing machine can take a directly executing
Turing machine as an input.
Halt deciders are only accountable for the behavior
that their input finite string Turing machine
description specifies.
This is only different than the direct execution
of the underlying machine when the input calls
its own decider (in recursive simulation).
Here is an idea for a signaling simulating halt decider that forks the simulation into two branches if the input calls the halt decider as
per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via
a sNaP (signaling Not a Program) signal (analogous to IEEE 754's
sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as per
[Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via a
sNaP (signaling Not a Program) signal (analogous to IEEE 754's sNaN
(signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the following
case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt decider
to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded differently the identification of the pathology may fail and H may fail
to return.
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as per
[Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via a
sNaP (signaling Not a Program) signal (analogous to IEEE 754's sNaN
(signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the following
case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt decider
to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may fail
to return.
There is no copy.
/Flibble
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as per
[Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via a
sNaP (signaling Not a Program) signal (analogous to IEEE 754's sNaN
(signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the following
case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt decider
to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may fail
to return.
There is no copy.
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks
the simulation into two branches if the input calls the halt decider
as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to
IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category
error at the heart of the halting problem's "Impossible Program"
definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being the
result of the category error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may
fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his
system isn't Turing Complete because he claims you can't make a copy of
his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
On 2025-07-31 16:19:37 +0000, Mr Flibble said:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks
the simulation into two branches if the input calls the halt decider
as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to
IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category
error at the heart of the halting problem's "Impossible Program"
definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being the
result of the category error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may
fail to return.
There is no copy.
There is when the code is copied.
On Thu, 31 Jul 2025 19:19:00 -0400, Richard Damon wrote:
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks
the simulation into two branches if the input calls the halt decider >>>>> as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation >>>>> into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches >>>>> in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to
IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will >>>>> be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category
error at the heart of the halting problem's "Impossible Program"
definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being the >>>>> result of the category error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may
fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his
system isn't Turing Complete because he claims you can't make a copy of
his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
The type stratification as highlighted by the category error prevents a
copy of H being made and used by P.
/Flibble
Alternatively halt deciders never were accountable
for the direct execution of their inputs because
no Turing machine can take a directly executing
Turing machine as an input.
Halt deciders are only accountable for the behavior
that their input finite string Turing machine
description specifies.
This is only different than the direct execution
of the underlying machine when the input calls
its own decider (in recursive simulation).
--
Copyright 2025 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer
On 8/1/25 8:00 AM, Mr Flibble wrote:
On Thu, 31 Jul 2025 19:19:00 -0400, Richard Damon wrote:
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks >>>>>> the simulation into two branches if the input calls the halt
decider as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the
simulation into a non-halting branch (returning 0 to P) and a
halting branch (returning 1 to P) and continues the simulation of
these two branches in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to >>>>>> IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that
will be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP. >>>>>>
This approach is valid if we recognise the presence of a category
error at the heart of the halting problem's "Impossible Program"
definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being
the result of the category error manifesting.
This method depends on the possibility of identifying a call to H.
If the input has a copy of H that is functionally equivalent but
encoded differently the identification of the pathology may fail and >>>>> H may fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his
system isn't Turing Complete because he claims you can't make a copy
of his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
The type stratification as highlighted by the category error prevents a
copy of H being made and used by P.
/Flibble
But it isn't a category error, because you can't actually define the categories in a usable manner, and they don't actually exist.
Rememver, Olcott is claiming to be working in a system equivalent to
Turing Machines, There is no restrictions in systems equivalent of
Turing Machines about making a copy of any given program.
So, all you are doing is admitting that you want to work in a system
weaker that Turing Machines, for which the halting problem has been
shown in many systems to be solvable, so your ideas aren't really
interesting until you show something new about them.
Here is an idea for a signaling simulating halt decider that forks the simulation into two branches if the input calls the halt decider as
per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P ....
.... it forks the simulation into a non-halting branch (returning 0 to
P) and a halting branch (returning 1 to P) and continues the
simulation of these two branches in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via
a sNaP (signaling Not a Program) signal (analogous to IEEE 754's
sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
/Flibble
There is no category error in the halting problem. It's a simple
question "does this program halt or does it not halt?". The halting
problem has no "impossible program", and doesn't define one.
On Fri, 01 Aug 2025 13:14:11 +0000, Alan Mackenzie wrote:
There is no category error in the halting problem. It's a simple
question "does this program halt or does it not halt?". The halting
problem has no "impossible program", and doesn't define one.
That is not true so you are either:
(a) a liar;
(b) delusional;
(c) stupid;
(d) ignorant of the facts for some reason.
It is multiple choice however more than one answer may be correct.
/Flibble
Mr Flibble <flibble@red-dwarf.jmc.corp> wrote:
Here is an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as per
[Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P ....
How's it going to do that? It would need to detect anything which has
the same functionality as H, and I think this is a provably insoluble
task.
.... it forks the simulation into a non-halting branch (returning 0 to
P) and a halting branch (returning 1 to P) and continues the simulation
of these two branches in parallel.
If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via a
sNaP (signaling Not a Program) signal (analogous to IEEE 754's sNaN
(signaling Not a Number) signal)
That's misleading. P _is_ a program. The fact that your simulators may
have trouble with it is a property of the simulators, not of P.
Also, what happens in the general case, where neither branch can be determined to halt or not to halt? You seem to be begging the question
as to whether halting deciders can exist, assuming (wrongly) the answer
to be yes as part of your "proof".
If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the following
case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt decider
to return three rather than the tradition two results:
That's not "exending it", that's defining something entirely different
and less useful.
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
What you've constructed (assuming it's possible) is a partial halting decider. It's a machine which can return either yes, no, or don't know.
Or it might run for ever and never return an answer.
This approach is valid if we recognise the presence of a category error
at the heart of the halting problem's "Impossible Program" definition:
a circular self referential infinitely recursive conflation between a
decider and its input: the sNaP signal being the result of the category
error manifesting.
There is no category error in the halting problem. It's a simple
question "does this program halt or does it not halt?". The halting
problem has no "impossible program", and doesn't define one.
It is only in one of several approaches to proving the HP that the badly named notion of "impossible program" comes up. Again, this program is
just an ordinary program, and there's nothing impossible about it. It
has a particular relationship with some purported halt decider, but
remains a program. This relationship is enough to show that the
purported decider isn't a decider at all.
/Flibble
On Fri, 01 Aug 2025 08:27:39 -0400, Richard Damon wrote:
On 8/1/25 8:00 AM, Mr Flibble wrote:
On Thu, 31 Jul 2025 19:19:00 -0400, Richard Damon wrote:
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks >>>>>>> the simulation into two branches if the input calls the halt
decider as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the
simulation into a non-halting branch (returning 0 to P) and a
halting branch (returning 1 to P) and continues the simulation of >>>>>>> these two branches in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to >>>>>>> IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that >>>>>>> will be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input: >>>>>>>
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP. >>>>>>>
This approach is valid if we recognise the presence of a category >>>>>>> error at the heart of the halting problem's "Impossible Program" >>>>>>> definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being >>>>>>> the result of the category error manifesting.
This method depends on the possibility of identifying a call to H. >>>>>> If the input has a copy of H that is functionally equivalent but
encoded differently the identification of the pathology may fail and >>>>>> H may fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his
system isn't Turing Complete because he claims you can't make a copy
of his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
The type stratification as highlighted by the category error prevents a
copy of H being made and used by P.
/Flibble
But it isn't a category error, because you can't actually define the
categories in a usable manner, and they don't actually exist.
Rememver, Olcott is claiming to be working in a system equivalent to
Turing Machines, There is no restrictions in systems equivalent of
Turing Machines about making a copy of any given program.
So, all you are doing is admitting that you want to work in a system
weaker that Turing Machines, for which the halting problem has been
shown in many systems to be solvable, so your ideas aren't really
interesting until you show something new about them.
No, I am working in a STRONGER system than the system espoused by the
Halting Problem as my system actually enables rather than inhibits program verification.
/Flibble
On Fri, 01 Aug 2025 13:14:11 +0000, Alan Mackenzie wrote:
There is no category error in the halting problem. It's a simple
question "does this program halt or does it not halt?". The halting
problem has no "impossible program", and doesn't define one.
That is not true so you are either:
(a) a liar;
(b) delusional;
(c) stupid;
(d) ignorant of the facts for some reason.
It is multiple choice however more than one answer may be correct.
/Flibble
On 8/1/25 8:44 AM, Mr Flibble wrote:
On Fri, 01 Aug 2025 08:27:39 -0400, Richard Damon wrote:
On 8/1/25 8:00 AM, Mr Flibble wrote:
On Thu, 31 Jul 2025 19:19:00 -0400, Richard Damon wrote:
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that
forks the simulation into two branches if the input calls the
halt decider as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the
simulation into a non-halting branch (returning 0 to P) and a
halting branch (returning 1 to P) and continues the simulation of >>>>>>>> these two branches in parallel.
If the non-halting branch is determined to halt AND the halting >>>>>>>> branch is determined to not halt then pathology is detected and >>>>>>>> reported via a sNaP (signaling Not a Program) signal (analogous >>>>>>>> to IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that >>>>>>>> will be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input: >>>>>>>>
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt >>>>>>>> decider to return three rather than the tradition two results: >>>>>>>>
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling
sNaP.
This approach is valid if we recognise the presence of a category >>>>>>>> error at the heart of the halting problem's "Impossible Program" >>>>>>>> definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being >>>>>>>> the result of the category error manifesting.
This method depends on the possibility of identifying a call to H. >>>>>>> If the input has a copy of H that is functionally equivalent but >>>>>>> encoded differently the identification of the pathology may fail >>>>>>> and H may fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his
system isn't Turing Complete because he claims you can't make a copy >>>>> of his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
The type stratification as highlighted by the category error prevents
a copy of H being made and used by P.
/Flibble
But it isn't a category error, because you can't actually define the
categories in a usable manner, and they don't actually exist.
Rememver, Olcott is claiming to be working in a system equivalent to
Turing Machines, There is no restrictions in systems equivalent of
Turing Machines about making a copy of any given program.
So, all you are doing is admitting that you want to work in a system
weaker that Turing Machines, for which the halting problem has been
shown in many systems to be solvable, so your ideas aren't really
interesting until you show something new about them.
No, I am working in a STRONGER system than the system espoused by the
Halting Problem as my system actually enables rather than inhibits
program verification.
/Flibble
No, it is WEAKER, as you are restricting what a "program" can do.
You are trying to make program verification easier by limiting what a
program can do, that makes programs WEAKER.
It may make knowledge about them better, but their capabilities are
less.
On Fri, 01 Aug 2025 09:54:18 -0400, Richard Damon wrote:
On 8/1/25 8:44 AM, Mr Flibble wrote:
On Fri, 01 Aug 2025 08:27:39 -0400, Richard Damon wrote:
On 8/1/25 8:00 AM, Mr Flibble wrote:
On Thu, 31 Jul 2025 19:19:00 -0400, Richard Damon wrote:
On 7/31/25 12:19 PM, Mr Flibble wrote:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that >>>>>>>>> forks the simulation into two branches if the input calls the >>>>>>>>> halt decider as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the
simulation into a non-halting branch (returning 0 to P) and a >>>>>>>>> halting branch (returning 1 to P) and continues the simulation of >>>>>>>>> these two branches in parallel.
If the non-halting branch is determined to halt AND the halting >>>>>>>>> branch is determined to not halt then pathology is detected and >>>>>>>>> reported via a sNaP (signaling Not a Program) signal (analogous >>>>>>>>> to IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that >>>>>>>>> will be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the >>>>>>>>> following case whereby the result of H is discarded by the input: >>>>>>>>>
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt >>>>>>>>> decider to return three rather than the tradition two results: >>>>>>>>>
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling >>>>>>>>> sNaP.
This approach is valid if we recognise the presence of a category >>>>>>>>> error at the heart of the halting problem's "Impossible Program" >>>>>>>>> definition: a circular self referential infinitely recursive >>>>>>>>> conflation between a decider and its input: the sNaP signal being >>>>>>>>> the result of the category error manifesting.
This method depends on the possibility of identifying a call to H. >>>>>>>> If the input has a copy of H that is functionally equivalent but >>>>>>>> encoded differently the identification of the pathology may fail >>>>>>>> and H may fail to return.
There is no copy.
/Flibble
There is SUPPOSED to be one. Olcott misses it because he admits his >>>>>> system isn't Turing Complete because he claims you can't make a copy >>>>>> of his decider, even though he then does so to make HHH1.
That just shows he is just a pathological liar.
The type stratification as highlighted by the category error prevents >>>>> a copy of H being made and used by P.
/Flibble
But it isn't a category error, because you can't actually define the
categories in a usable manner, and they don't actually exist.
Rememver, Olcott is claiming to be working in a system equivalent to
Turing Machines, There is no restrictions in systems equivalent of
Turing Machines about making a copy of any given program.
So, all you are doing is admitting that you want to work in a system
weaker that Turing Machines, for which the halting problem has been
shown in many systems to be solvable, so your ideas aren't really
interesting until you show something new about them.
No, I am working in a STRONGER system than the system espoused by the
Halting Problem as my system actually enables rather than inhibits
program verification.
/Flibble
No, it is WEAKER, as you are restricting what a "program" can do.
You are trying to make program verification easier by limiting what a
program can do, that makes programs WEAKER.
It may make knowledge about them better, but their capabilities are
less.
A system which allows verification of programs is stronger than a system which does not.
/Flibble
On Fri, 01 Aug 2025 09:48:35 +0300, Mikko wrote:
On 2025-07-31 16:19:37 +0000, Mr Flibble said:
On Thu, 31 Jul 2025 11:46:55 +0300, Mikko wrote:
On 2025-07-30 23:00:21 +0000, Mr Flibble said:
Here is an idea for a signaling simulating halt decider that forks
the simulation into two branches if the input calls the halt decider >>>>> as per [Strachey 1965]'s "Impossible Program":
void P(void (*x)())
{
if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}
int main()
{
std::cout << "Input halts: " << H(P, P) << std::endl;
}
When the simulator detects the call to H in P it forks the simulation >>>>> into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches >>>>> in parallel.
If the non-halting branch is determined to halt AND the halting
branch is determined to not halt then pathology is detected and
reported via a sNaP (signaling Not a Program) signal (analogous to
IEEE 754's sNaN (signaling Not a Number) signal)
If EITHER branch is determined to be correctly decided then that will >>>>> be the decision of the halting decider.
Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:
void Px(void (*x)())
{
(void) H(x, x);
return;
}
Obviously this necessitates extending the definition of a halt
decider to return three rather than the tradition two results:
1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.
This approach is valid if we recognise the presence of a category
error at the heart of the halting problem's "Impossible Program"
definition: a circular self referential infinitely recursive
conflation between a decider and its input: the sNaP signal being the >>>>> result of the category error manifesting.
This method depends on the possibility of identifying a call to H. If
the input has a copy of H that is functionally equivalent but encoded
differently the identification of the pathology may fail and H may
fail to return.
There is no copy.
There is when the code is copied.
The code of H cannot be copied and used by P due to type stratification as highlighted by the category error.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (0 / 16) |
Uptime: | 158:38:52 |
Calls: | 10,384 |
Calls today: | 1 |
Files: | 14,056 |
Messages: | 6,416,486 |