On 11/16/21 9:35 AM, olcott wrote:
On 11/16/2021 5:55 AM, Richard Damon wrote:
On 11/15/21 11:41 PM, olcott wrote:
On 11/15/2021 9:52 PM, Richard Damon wrote:
On 11/15/21 10:39 PM, olcott wrote:
On 11/15/2021 8:54 PM, Richard Damon wrote:
On 11/15/21 9:28 PM, olcott wrote:
#include <stdint.h>
typedef void (*ptr)();
int H(ptr x, ptr y)
{
x(y); // direct execution of P(P)
return 1;
}
// Minimal essence of Linz(1990) Ĥ
// and Strachey(1965) P
int P(ptr x)
{
H(x, x);
return 1;
}
int main(void)
{
H(P, P);
}
Of every possible H that can possibly exist from H[0]...H[N]
(a) Called from the above P.
(b) Simulates or Executes its input.
(c) Aborts this input at some point or not.
No P ever returns any value, thus P never halts.
But, when you run that P as the top level machine,
The you create the strawman error that simlply dodges what I
actually said and forms a rebuttal on the basis of something else
entirely.
The input to H(P,P) never halts for any H that meets (a)(b)(c).
No, YOUR definition of Halting was if the input is directly
executed or purely simulated Halts, then the input is Halting.
Glossary of Terms
computation
The sequence of configurations leading to a halt state will be
called a computation. (Linz:1990:238)
computation that halts
a computation is said to halt whenever it enters a final state.
(Linz:1990:234)
And beig NON-Halting is not halting when allowed to run for unbounded
steps.
In other words we need to actually run the computation until it
halts, or actually show that it will never halt if it was allowed to
run to completion.
You don't do this test.
for every H that meets (a)(b)(c)
execute/no abort
simulate/no abort
execute/abort
simulate/abort
The input to H(P,P) never reaches its final state.
Except it does, when we check THAT INPUT as its actual computation,
that is being directly running the machine it represents or giving
that same input to a pure simulator.
Every possible H that can possibly exist called from the
above P Simulates or Executes its input and Aborts or
does not abort this input.
Possible types of H (called by P) and the behavior of P
(a) execute/no abort (shown above)
(b) simulate/no abort (never gets past first line of P)
(c) execute/abort (never gets past first line of P)
(d) simulate/abort (never gets past first line of P)
Right, in (a) and (b), then you are correcct that P(P) is non-halting,
but those H's never return the answers.
For (c) and (d), that H isn't a pure simulation so it doesn't reveal the right behavior.
On 11/16/21 7:47 PM, olcott wrote:When main() calls H(P,P)
On 11/16/2021 5:45 PM, Richard Damon wrote:
On 11/16/21 9:35 AM, olcott wrote:
On 11/16/2021 5:55 AM, Richard Damon wrote:
On 11/15/21 11:41 PM, olcott wrote:
On 11/15/2021 9:52 PM, Richard Damon wrote:
On 11/15/21 10:39 PM, olcott wrote:
On 11/15/2021 8:54 PM, Richard Damon wrote:
On 11/15/21 9:28 PM, olcott wrote:
#include <stdint.h>
typedef void (*ptr)();
int H(ptr x, ptr y)
{
x(y); // direct execution of P(P)
return 1;
}
// Minimal essence of Linz(1990) Ĥ
// and Strachey(1965) P
int P(ptr x)
{
H(x, x);
return 1;
}
int main(void)
{
H(P, P);
}
Of every possible H that can possibly exist from H[0]...H[N] >>>>>>>>>> (a) Called from the above P.
(b) Simulates or Executes its input.
(c) Aborts this input at some point or not.
No P ever returns any value, thus P never halts.
But, when you run that P as the top level machine,
The you create the strawman error that simlply dodges what I
actually said and forms a rebuttal on the basis of something
else entirely.
The input to H(P,P) never halts for any H that meets (a)(b)(c). >>>>>>>>
No, YOUR definition of Halting was if the input is directly
executed or purely simulated Halts, then the input is Halting.
Glossary of Terms
computation
The sequence of configurations leading to a halt state will be
called a computation. (Linz:1990:238)
computation that halts
a computation is said to halt whenever it enters a final state.
(Linz:1990:234)
And beig NON-Halting is not halting when allowed to run for
unbounded steps.
In other words we need to actually run the computation until it
halts, or actually show that it will never halt if it was allowed
to run to completion.
You don't do this test.
for every H that meets (a)(b)(c)
execute/no abort
simulate/no abort
execute/abort
simulate/abort
The input to H(P,P) never reaches its final state.
Except it does, when we check THAT INPUT as its actual computation,
that is being directly running the machine it represents or giving
that same input to a pure simulator.
Every possible H that can possibly exist called from the
above P Simulates or Executes its input and Aborts or
does not abort this input.
Possible types of H (called by P) and the behavior of P
(a) execute/no abort (shown above)
(b) simulate/no abort (never gets past first line of P)
(c) execute/abort (never gets past first line of P)
(d) simulate/abort (never gets past first line of P)
Right, in (a) and (b), then you are correcct that P(P) is
non-halting, but those H's never return the answers.
For (c) and (d), that H isn't a pure simulation so it doesn't reveal
the right behavior.
In no case of (a)(b)(c)(d) does P reach its final instruction
therefore in every case of (a)(b)(c)(d) H(P,P)==0 is the correct
return value for H whether or not H actually returns any value at all.
Whom-so-ever does not agree with this is:
(a) Insufficiently technically competent.
(b) Dishonest
Except that it does, when measure by the criteria that you actually
defined!!
Simple trace of Pd(Pd),
Pd(Pd) calls Hd(Pd,Pd)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 366 |
Nodes: | 16 (2 / 14) |
Uptime: | 26:14:24 |
Calls: | 7,832 |
Calls today: | 1 |
Files: | 12,933 |
Messages: | 5,771,098 |