On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb: >>>> On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb: >>>>> On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect* https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
 HHH(DDD);
 return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
*Fully operational code is here* https://github.com/plolcott/x86utm/blob/master/Halt7.c
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
 This program does not compile, so it cannot be executed.
 Halting problem solved.
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect* https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
 HHH(DDD);
 return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Each of the directly executed HHH emulator/analyzers that returns
0 correctly reports the above non-terminating behavior of its input.
*Fully operational code is here* https://github.com/plolcott/x86utm/blob/master/Halt7.c https://github.com/plolcott/x86utm
*Here is the original (not dumbed down) version*
from line 1345 of the above source file
int DD(int (*x)())
{
 int Halt_Status = H(x, x);
 if (Halt_Status)
   HERE: goto HERE;
 return Halt_Status;
}
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
This program does not compile, so it cannot be executed.
Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
239 | PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
| ^
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
  This program does not compile, so it cannot be executed.
  Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all.
MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
  239 |    PushBack(*execution_trace, (u32)*decoded,
sizeof(Decoded_Line_Of_Code));
      |                               ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects 32- bit.
On 10/14/2024 5:36 PM, Mike Terry wrote:
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
This program does not compile, so it cannot be executed.
Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
239 | PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
| ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects 32- bit.
Ahhhh.... Let me try again for x86 in MSVC. Well:
_______________________
Severity Code Description Project File Line Suppression State Details
Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error (active) E0167 argument of type "void (*)(u32 N)" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error (active) E0167 argument of type "ptr2" (aka "int (*)()") is incompatible with parameter
of type "ptr" (aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active) E0167 argument of type "ptr2" (aka "int (*)()") is incompatible with parameter
of type "ptr" (aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active) E0167 argument of type "int (*)(int (*M)())" is incompatible with parameter of
type "int (*)()" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type "ptr"
(aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [49]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [44]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [41]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [25]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [51]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [50]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [15]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [14]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [12]' to
'char *' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'void (__cdecl *)(u32)'
to 'ptr' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)'
to 'ptr' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251 Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)'
to 'ptr' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302 Error C2664 'u32 H0(ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'ptr2' to 'ptr'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
'ptr' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
'ptr' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error C2664 'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
**,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [5]' to 'char *'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
Error C2664 'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
**,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [4]' to 'char *'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
Error C2197 'ptr': too many arguments for call ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error C2197 'ptr': too many arguments for call ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error C2197 'ptr': too many arguments for call ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error C2664 'int D(int (__cdecl *)(void))': cannot convert argument 1 from 'int (__cdecl
*)(int (__cdecl *)(void))' to 'int (__cdecl *)(void)' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
_______________________
On 15/10/2024 04:57, Chris M. Thomasson wrote:
On 10/14/2024 5:36 PM, Mike Terry wrote:
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
This program does not compile, so it cannot be executed.
Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
239 | PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
| ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects 32- bit.
Ahhhh.... Let me try again for x86 in MSVC. Well:
_______________________
Severity Code Description Project File Line Suppression State Details
Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177
Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239
Error (active) E0140 too many arguments in function call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320
Error (active) E0167 argument of type "void (*)(u32 N)" is incompatible with parameter of
type "ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262
Error (active) E0167 argument of type "ptr2" (aka "int (*)()") is incompatible with
parameter of type "ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
Error (active) E0167 argument of type "ptr2" (aka "int (*)()") is incompatible with
parameter of type "ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
Error (active) E0167 argument of type "int (*)(int (*M)())" is incompatible with parameter
of type "int (*)()" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
Error (active) E0167 argument of type "int (*)()" is incompatible with parameter of type
"ptr" (aka "void (*)()") ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 >> Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type
"char *" ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [49]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 >> Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100
Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124
Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [44]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 >> Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [41]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 >> Error C2664 'void OutputString(char *)': cannot convert argument 1 from 'const char [25]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337
Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [51]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093
Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [50]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117
Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 >> Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 >> Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [15]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094
Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [14]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118
Error C2664 'void Output(char *,u32)': cannot convert argument 1 from 'const char [12]' to
'char *' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 >> Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'void (__cdecl
*)(u32)' to 'ptr' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262
Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl
*)(void)' to 'ptr' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251
Error C2664 'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl
*)(void)' to 'ptr' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302
Error C2664 'u32 H0(ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'ptr2' to 'ptr'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
'ptr' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
Error C2664 'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
'ptr' ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
Error C2664 'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
**,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [5]' to 'char *'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
Error C2664 'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
**,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [4]' to 'char *'
ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
Error C2197 'ptr': too many arguments for call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177
Error C2197 'ptr': too many arguments for call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239
Error C2197 'ptr': too many arguments for call ct_thread_playground
D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320
Error C2664 'int D(int (__cdecl *)(void))': cannot convert argument 1 from 'int (__cdecl
*)(int (__cdecl *)(void))' to 'int (__cdecl *)(void)' ct_thread_playground >> D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
_______________________
You seem to be compiling the wrong program. The source code is halt7.c and has nothing to do with
ct_threads.
Mike.
_______________________
You seem to be compiling the wrong program. The source code is halt7.c
and has nothing to do with ct_threads.
ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted,unsigned int * * execution_trace, Decoded * * decoded, unsigned int * code_end, unsigned int P, x86_Registers * * master_state, x86_Registers
On 10/15/2024 9:06 AM, Mike Terry wrote:
[...]
_______________________
You seem to be compiling the wrong program. The source code is
halt7.c and has nothing to do with ct_threads.
Shit happens Mike, sorry about that. Anyway, it compiles with C for x86:
https://i.ibb.co/1bKYQMv/image.png
but crashes during a run:
https://i.ibb.co/T0f1Wjg/image.png
The call stack for the error is:
   ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted, unsigned int * * execution_trace, Decoded * * decoded, unsigned int * code_end, unsigned int P, x86_Registers * * master_state, x86_Registers* * slave_state, unsigned int * * slave_stack) Line 544   C
    ct_thread_playground.exe!H(void(*)() P, void(*)() I) Line 701   C
    ct_thread_playground.exe!D(int(*)() M) Line 1369   C
    ct_thread_playground.exe!main(...) Line 1376   C
    ct_thread_playground.exe!invoke_main() Line 78   C++
    ct_thread_playground.exe!__scrt_common_main_seh() Line 288   C++
    ct_thread_playground.exe!__scrt_common_main() Line 331   C++
    ct_thread_playground.exe!mainCRTStartup(void * __formal) Line 17   C++
    kernel32.dll!74d17ba9()   Unknown
    [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
    ntdll.dll!76fdc0cb()   Unknown
    ntdll.dll!76fdc04f()   Unknown
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Each of the directly executed HHH emulator/analyzers that returns
0 correctly reports the above non-terminating behavior of its input.
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
https://github.com/plolcott/x86utm
*Here is the original (not dumbed down) version*
from line 1345 of the above source file
int DD(int (*x)())
{
  int Halt_Status = H(x, x);
  if (Halt_Status)
    HERE: goto HERE;
  return Halt_Status;
}
Can you put up a full blown MSVC solution that works on GitHub?
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
   foobar();
}
?
On 10/15/2024 9:06 AM, Mike Terry wrote:
[...]
_______________________
You seem to be compiling the wrong program. The source code is halt7.c and has nothing to do with
ct_threads.
Shit happens Mike, sorry about that. Anyway, it compiles with C for x86:
https://i.ibb.co/1bKYQMv/image.png
but crashes during a run:
https://i.ibb.co/T0f1Wjg/image.png
The call stack for the error is:
ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted, unsigned int * *execution_trace, Decoded * * decoded, unsigned int * code_end, unsigned int P, x86_Registers * *
master_state, x86_Registers * * slave_state, unsigned int * * slave_stack) Line 544 C
ct_thread_playground.exe!H(void(*)() P, void(*)() I) Line 701 C
ct_thread_playground.exe!D(int(*)() M) Line 1369 C
ct_thread_playground.exe!main(...) Line 1376 C
ct_thread_playground.exe!invoke_main() Line 78 C++
ct_thread_playground.exe!__scrt_common_main_seh() Line 288 C++
ct_thread_playground.exe!__scrt_common_main() Line 331 C++
ct_thread_playground.exe!mainCRTStartup(void * __formal) Line 17 C++
kernel32.dll!74d17ba9() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!76fdc0cb() Unknown
ntdll.dll!76fdc04f() Unknown
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb: >>>>>>> On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
HHH(DDD);
return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
foobar();
}
? >
On 15/10/2024 20:40, Chris M. Thomasson wrote:
On 10/15/2024 9:06 AM, Mike Terry wrote:
[...]
_______________________
You seem to be compiling the wrong program. The source code is
halt7.c and has nothing to do with ct_threads.
Shit happens Mike, sorry about that. Anyway, it compiles with C for x86:
https://i.ibb.co/1bKYQMv/image.png
but crashes during a run:
https://i.ibb.co/T0f1Wjg/image.png
The call stack for the error is:
;Â Â Â ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted, >> unsigned int * * execution_trace, Decoded * * decoded, unsigned int *code_end, unsigned int P, x86_Registers * * master_state,
x86_Registers * * slave_state, unsigned int * * slave_stack) Line
544Â Â Â C
     ct_thread_playground.exe!H(void(*)() P, void(*)() I) Line 701   C
     ct_thread_playground.exe!D(int(*)() M) Line 1369   C
     ct_thread_playground.exe!main(...) Line 1376   C
     ct_thread_playground.exe!invoke_main() Line 78   C++
     ct_thread_playground.exe!__scrt_common_main_seh() Line 288   C++
     ct_thread_playground.exe!__scrt_common_main() Line 331   C++ >>      ct_thread_playground.exe!mainCRTStartup(void * __formal) Line
17Â Â Â C++
     kernel32.dll!74d17ba9()   Unknown
     [Frames below may be incorrect and/or missing, no symbols loaded >> for kernel32.dll]
     ntdll.dll!76fdc0cb()   Unknown
     ntdll.dll!76fdc04f()   Unknown
It looks like you've compiled halt7.c and linked it to form an
executable, then you're running that executable as an OS process?
That's not what you need to do.
halt7.c needs to be compiled to halt7.obj (assuming Windows) which is a
COFF file. You've done that bit. The halt7.obj file is passed as a parameter to PO's x86utm.exe, whichx reads the COFF file as input data,
and provides a virtual x86 environment in which to "run" the obj code.
I'm actually a bit surprised that you were able to link halt7.obj to
create an executable!
So if you want to try out the code in halt7.c, you will need to build x86utm.exe, which provides the virtual environment in which it "runs".
The source on Github has all the source, including the PO-written code
and the code coming from libx86emu, which is the x86 emulation software
PO uses. There is a MSVS project file to do the build, or you could compile/link the files manually if you had to. There are 6 C
compilation units (from libx86emu) and 1 C++ compilation unit
(x86utm.xpp). I think the code is written as 32-bit. (Obviously you
need the header files also on Github.)
So the process you will run in your debugger is x86utm.exe. That makes
it tricky to "step through" halt7.c code, since halt7.c code is just
data being manipulated within the x86utm process.
The reason you can't just link halt7.c to an OS executable and run it is that it is full of calls to "primitive" ops like Allocate() and
DebugStep() which are intercepted by x86utm.exe and processed within x86utm. Like a supervisor call mechanism.
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns, so DDD() halts. foobar() will never halt (ignoring physical resource constraints like running out of stack). foobar() undergoes infinite recursive call. DDD() exhibits /finite/ recursive emulation, then halts.
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
 This program does not compile, so it cannot be executed.
 Halting problem solved.
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
   foobar();
}
?
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
 This program does not compile, so it cannot be executed.
 Halting problem solved.
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Each of the directly executed HHH emulator/analyzers that returns
0 correctly reports the above non-terminating behavior of its input.
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
https://github.com/plolcott/x86utm
*Here is the original (not dumbed down) version*
from line 1345 of the above source file
int DD(int (*x)())
{
  int Halt_Status = H(x, x);
  if (Halt_Status)
    HERE: goto HERE;
  return Halt_Status;
}
Can you put up a full blown MSVC solution that works on GitHub?
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
  This program does not compile, so it cannot be executed.
  Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all.
MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
  239 |    PushBack(*execution_trace, (u32)*decoded,
sizeof(Decoded_Line_Of_Code));
      |                               ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects 32- bit.
Mike.
On 10/14/2024 5:36 PM, Mike Terry wrote:
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
  This program does not compile, so it cannot be executed.
  Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all.
MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
  239 |    PushBack(*execution_trace, (u32)*decoded,
sizeof(Decoded_Line_Of_Code));
      |                               ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects
32- bit.
Ahhhh.... Let me try again for x86 in MSVC. Well:
_______________________
Severity   Code   Description   Project   File   Line Suppression State   Details
Error (active)Â Â Â E0140Â Â Â too many arguments in function call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error (active)Â Â Â E0140Â Â Â too many arguments in function call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error (active)Â Â Â E0140Â Â Â too many arguments in function call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error (active)Â Â Â E0167Â Â Â argument of type "void (*)(u32 N)" is incompatible with parameter of type "ptr" (aka "void (*)()") ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error (active)Â Â Â E0167Â Â Â argument of type "ptr2" (aka "int (*)()") is
incompatible with parameter of type "ptr" (aka "void (*)()") ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active)Â Â Â E0167Â Â Â argument of type "ptr2" (aka "int (*)()") is
incompatible with parameter of type "ptr" (aka "void (*)()") ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active)Â Â Â E0167Â Â Â argument of type "int (*)(int (*M)())" is incompatible with parameter of type "int (*)()"Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
Error (active)Â Â Â E0167Â Â Â argument of type "int (*)()" is incompatible
with parameter of type "ptr" (aka "void (*)()")Â Â Â ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error (active)   E0167   argument of type "const char *" is incompatible with parameter of type "char *"   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [49]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [48]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [48]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [44]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [41]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error   C2664   'void OutputString(char *)': cannot convert argument 1
from 'const char [25]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [51]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [50]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [15]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [14]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error   C2664   'void Output(char *,u32)': cannot convert argument 1 from 'const char [12]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error   C2664   'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'void (__cdecl *)(u32)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error   C2664   'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251 Error   C2664   'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302 Error   C2664   'u32 H0(ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230 Error   C2664   'u32 H(ptr,ptr)': cannot convert argument 1 from 'ptr2' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error   C2664   'u32 H(ptr,ptr)': cannot convert argument 1 from 'int
(__cdecl *)(void)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error   C2664   'u32 H(ptr,ptr)': cannot convert argument 1 from 'int
(__cdecl *)(void)' to 'ptr'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error   C2664   'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code
**,u32,Registers **,Registers **,u32 **,u32,u32)': cannot convert
argument 1 from 'const char [5]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095 Error   C2664   'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code
**,u32,Registers **,Registers **,u32 **,u32,u32)': cannot convert
argument 1 from 'const char [4]' to 'char *'   ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119 Error   C2197   'ptr': too many arguments for call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error   C2197   'ptr': too many arguments for call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error   C2197   'ptr': too many arguments for call ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error   C2664   'int D(int (__cdecl *)(void))': cannot convert argument 1 from 'int (__cdecl *)(int (__cdecl *)(void))' to 'int
(__cdecl *)(void)' ct_thread_playground D: \ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
_______________________
On 15/10/2024 20:40, Chris M. Thomasson wrote:
On 10/15/2024 9:06 AM, Mike Terry wrote:
[...]
_______________________
You seem to be compiling the wrong program. The source code is
halt7.c and has nothing to do with ct_threads.
Shit happens Mike, sorry about that. Anyway, it compiles with C for x86:
https://i.ibb.co/1bKYQMv/image.png
but crashes during a run:
https://i.ibb.co/T0f1Wjg/image.png
The call stack for the error is:
;Â Â Â ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted, >> unsigned int * * execution_trace, Decoded * * decoded, unsigned int *code_end, unsigned int P, x86_Registers * * master_state,
x86_Registers * * slave_state, unsigned int * * slave_stack) Line
544Â Â Â C
     ct_thread_playground.exe!H(void(*)() P, void(*)() I) Line 701   C
     ct_thread_playground.exe!D(int(*)() M) Line 1369   C
     ct_thread_playground.exe!main(...) Line 1376   C
     ct_thread_playground.exe!invoke_main() Line 78   C++
     ct_thread_playground.exe!__scrt_common_main_seh() Line 288   C++
     ct_thread_playground.exe!__scrt_common_main() Line 331   C++ >>      ct_thread_playground.exe!mainCRTStartup(void * __formal) Line
17Â Â Â C++
     kernel32.dll!74d17ba9()   Unknown
     [Frames below may be incorrect and/or missing, no symbols loaded >> for kernel32.dll]
     ntdll.dll!76fdc0cb()   Unknown
     ntdll.dll!76fdc04f()   Unknown
It looks like you've compiled halt7.c and linked it to form an
executable, then you're running that executable as an OS process?
That's not what you need to do.
halt7.c needs to be compiled to halt7.obj (assuming Windows) which is a
COFF file. You've done that bit. The halt7.obj file is passed as a parameter to PO's x86utm.exe, whichx reads the COFF file as input data,
and provides a virtual x86 environment in which to "run" the obj code.
I'm actually a bit surprised that you were able to link halt7.obj to
create an executable!
So if you want to try out the code in halt7.c, you will need to build x86utm.exe, which provides the virtual environment in which it "runs".
The source on Github has all the source, including the PO-written code
and the code coming from libx86emu, which is the x86 emulation software
PO uses. There is a MSVS project file to do the build, or you could compile/link the files manually if you had to. There are 6 C
compilation units (from libx86emu) and 1 C++ compilation unit
(x86utm.xpp). I think the code is written as 32-bit. (Obviously you
need the header files also on Github.)
So the process you will run in your debugger is x86utm.exe. That makes
it tricky to "step through" halt7.c code, since halt7.c code is just
data being manipulated within the x86utm process.
The reason you can't just link halt7.c to an OS executable and run it is that it is full of calls to "primitive" ops like Allocate() and
DebugStep() which are intercepted by x86utm.exe and processed within x86utm. Like a supervisor call mechanism.
Mike.
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns, so DDD() halts.
foobar() will never halt (ignoring physical resource
constraints like running out of stack). foobar() undergoes infinite recursive call. DDD() exhibits /finite/ recursive emulation, then halts.
Mike.
Am 15.10.2024 um 01:14 schrieb tTh:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
  This program does not compile, so it cannot be executed.
  Halting problem solved.
LOL, YMMD !
On 10/14/2024 7:36 PM, Mike Terry wrote:
On 15/10/2024 00:33, Chris M. Thomasson wrote:
On 10/14/2024 4:14 PM, tTh wrote:
On 10/14/24 04:57, olcott wrote:
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
  This program does not compile, so it cannot be executed.
  Halting problem solved.
Shit happens. A lot of things. I cannot get it to compile at all.
MSVC, GCC, whatever...
main.c: In function ‘Decide_Halting0’:
main.c:239:32: warning: cast from pointer to integer of different
size [-Wpointer-to-int-cast]
  239 |    PushBack(*execution_trace, (u32)*decoded,
sizeof(Decoded_Line_Of_Code));
      |                               ^
You're trying to compile it as 64 bit code. PO's x86utm.exe expects
32- bit.
Mike.
https://github.com/plolcott/x86utm/blob/master/x86utm.sln
On 10/14/2024 7:23 PM, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Each of the directly executed HHH emulator/analyzers that returns
0 correctly reports the above non-terminating behavior of its input.
*Fully operational code is here*
https://github.com/plolcott/x86utm/blob/master/Halt7.c
https://github.com/plolcott/x86utm
*Here is the original (not dumbed down) version*
from line 1345 of the above source file
int DD(int (*x)())
{
  int Halt_Status = H(x, x);
  if (Halt_Status)
    HERE: goto HERE;
  return Halt_Status;
}
Can you put up a full blown MSVC solution that works on GitHub?
It has always been there. https://github.com/plolcott/x86utm/blob/master/x86utm.sln
On 10/15/2024 8:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns,
so DDD() halts.
DDD emulated by HHH according to the semantics of the x86
language cannot possibly reach its own return instruction
no matter what HHH does.
When HHH rejects DDD on this basis it is necessarily correct.
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
ChatGPT finally totally explains away all of the quibbling
about whether HHH is correct to reject DDD as non-halting.
foobar() will never halt (ignoring physical resource constraints like
running out of stack). foobar() undergoes infinite recursive call.
DDD() exhibits /finite/ recursive emulation, then halts.
Mike.
On 10/18/2024 6:44 PM, olcott wrote:
On 10/15/2024 8:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>>> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke >>>>>> is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns,
so DDD() halts.
DDD emulated by HHH according to the semantics of the x86
language cannot possibly reach its own return instruction
no matter what HHH does.
When HHH rejects DDD on this basis it is necessarily correct.
Is there any difference between 100% correct and necessarily correct?
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
ChatGPT finally totally explains away all of the quibbling
about whether HHH is correct to reject DDD as non-halting.
foobar() will never halt (ignoring physical resource constraints like
running out of stack). foobar() undergoes infinite recursive call.
DDD() exhibits /finite/ recursive emulation, then halts.
Mike.
On 10/15/2024 6:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
HHH(DDD);
return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by step emulation of DDD - it
stops emulating after a while and returns, so DDD() halts. foobar() will never halt (ignoring
physical resource constraints like running out of stack). foobar() undergoes infinite recursive
call. DDD() exhibits /finite/ recursive emulation, then halts.
So, any similar to:
______________
void foo(
unsigned long ri,
unsigned long rn
) {
if (ri > rn) return;
foo(ri + 1, rn);
}
______________
foo(0, 5);
?
On 16/10/2024 21:41, Chris M. Thomasson wrote:
On 10/15/2024 6:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>>> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke >>>>>> is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns,
so DDD() halts. foobar() will never halt (ignoring physical resource
constraints like running out of stack). foobar() undergoes infinite
recursive call. DDD() exhibits /finite/ recursive emulation, then
halts.
So, any similar to:
______________
void foo(
    unsigned long ri,
    unsigned long rn
) {
    if (ri > rn) return;
    foo(ri + 1, rn);
}
______________
foo(0, 5);
?
Yes - similar in that both :
-Â foo and PO's DDD exhibit a flavour of recursion, and
-Â both foo and DDD break the recursion at some point and subsequently halt
Different in that:
-Â foo exhibits "recursive call" while DDD exhibits "recursive simulation".
When a call is made, the caller cannot receive control until the callee returns. So with call recursion, for the pattern to break, the break
has to occur at the innermost call - like with your foo.
When a simulation is made, the simulator is still in control, probably running a loop that simulates each individual instruction of the
simulated computation. So recursive simulation may break in the same
way as your foo, namely from the inner simulation then percolating back through the nested simulations until the outer simulation exits. Also
it can break by one of the simulations simply deciding not to continue
its simulation any more and quiting its instruction simulation loop.
That's what PO's DDD does.
Another example:Â Suppose GGG is coded to simulate 10000000 instrucions
of GGG then exit. That is more similar to DDD than your foo, because
like DDD it exhibits recursive simulation, and like DDD the recursion
breaks from the outside. Everybody agrees that GGG terminates - would
you be tempted to say that it is correct to say GGG never halts because
it "exhibits infinitely recursive behaviour"? [meaning that the
combined GGG emulation trace shows that simulated GGG simulates the
exact same GGG again]. I doubt that! (The whole idea is beyond stupid, given we agree GGG halts.)
Mike.
On 16/10/2024 21:41, Chris M. Thomasson wrote:
On 10/15/2024 6:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>>> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke >>>>>> is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns,
so DDD() halts. foobar() will never halt (ignoring physical resource
constraints like running out of stack). foobar() undergoes infinite
recursive call. DDD() exhibits /finite/ recursive emulation, then
halts.
So, any similar to:
______________
void foo(
    unsigned long ri,
    unsigned long rn
) {
    if (ri > rn) return;
    foo(ri + 1, rn);
}
______________
foo(0, 5);
?
Yes - similar in that both :
-Â foo and PO's DDD exhibit a flavour of recursion, and
-Â both foo and DDD break the recursion at some point and subsequently halt
Different in that:
-Â foo exhibits "recursive call" while DDD exhibits "recursive simulation".
When a call is made, the caller cannot receive control until the callee returns. So with call recursion, for the pattern to break, the break
has to occur at the innermost call - like with your foo.
When a simulation is made, the simulator is still in control, probably running a loop that simulates each individual instruction of the
simulated computation. So recursive simulation may break in the same
way as your foo, namely from the inner simulation then percolating back through the nested simulations until the outer simulation exits. Also
it can break by one of the simulations simply deciding not to continue
its simulation any more and quiting its instruction simulation loop.
That's what PO's DDD does.
Another example:Â Suppose GGG is coded to simulate 10000000 instrucions
of GGG then exit. That is more similar to DDD than your foo, because
like DDD it exhibits recursive simulation, and like DDD the recursion
breaks from the outside. Everybody agrees that GGG terminates - would
you be tempted to say that it is correct to say GGG never halts because
it "exhibits infinitely recursive behaviour"? [meaning that the
combined GGG emulation trace shows that simulated GGG simulates the
exact same GGG again]. I doubt that! (The whole idea is beyond stupid, given we agree GGG halts.)
On 16/10/2024 21:41, Chris M. Thomasson wrote:
On 10/15/2024 6:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>>> schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke >>>>>> is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and returns,
so DDD() halts. foobar() will never halt (ignoring physical resource
constraints like running out of stack). foobar() undergoes infinite
recursive call. DDD() exhibits /finite/ recursive emulation, then
halts.
So, any similar to:
______________
void foo(
    unsigned long ri,
    unsigned long rn
) {
    if (ri > rn) return;
    foo(ri + 1, rn);
}
______________
foo(0, 5);
?
Yes - similar in that both :
-Â foo and PO's DDD exhibit a flavour of recursion, and
-Â both foo and DDD break the recursion at some point and subsequently halt
On 10/19/2024 8:21 AM, Mike Terry wrote:
On 16/10/2024 21:41, Chris M. Thomasson wrote:
On 10/15/2024 6:43 PM, Mike Terry wrote:
On 14/10/2024 23:17, Chris M. Thomasson wrote:
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>> wrote:
On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> >>>>>>>>>> schrieb:LOL! - A very nice one. Thanks for that. :-)
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting. >>>>>>>>>
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke >>>>>>> is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
    foobar();
}
? >
Similar, but different because HHH only performs a /partial/ step by
step emulation of DDD - it stops emulating after a while and
returns, so DDD() halts. foobar() will never halt (ignoring
physical resource constraints like running out of stack). foobar()
undergoes infinite recursive call. DDD() exhibits /finite/
recursive emulation, then halts.
So, any similar to:
______________
void foo(
    unsigned long ri,
    unsigned long rn
) {
    if (ri > rn) return;
    foo(ri + 1, rn);
}
______________
foo(0, 5);
?
Yes - similar in that both :
-Â foo and PO's DDD exhibit a flavour of recursion, and
-Â both foo and DDD break the recursion at some point and subsequently
halt
Different in that:
-Â foo exhibits "recursive call" while DDD exhibits "recursive
simulation".
When a call is made, the caller cannot receive control until the
callee returns. So with call recursion, for the pattern to break, the
break has to occur at the innermost call - like with your foo.
When a simulation is made, the simulator is still in control, probably
running a loop that simulates each individual instruction of the
simulated computation. So recursive simulation may break in the same
way as your foo, namely from the inner simulation then percolating
back through the nested simulations until the outer simulation exits.
Also it can break by one of the simulations simply deciding not to
continue its simulation any more and quiting its instruction
simulation loop. That's what PO's DDD does.
Another example:Â Suppose GGG is coded to simulate 10000000
instrucions of GGG then exit. That is more similar to DDD than your
foo, because like DDD it exhibits recursive simulation, and like DDD
the recursion breaks from the outside. Everybody agrees that GGG
terminates - would you be tempted to say that it is correct to say GGG
never halts because it "exhibits infinitely recursive behaviour"?
[meaning that the combined GGG emulation trace shows that simulated
GGG simulates the exact same GGG again]. I doubt that! (The whole
idea is beyond stupid, given we agree GGG halts.)
Thanks for the highly informative information Mike!
I appreciate it. :^)
On 10/13/2024 7:57 PM, olcott wrote:
On 10/13/2024 11:34 AM, Kaz Kylheku wrote:[...]
On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
On 12.10.2024 11:32, Jan van den Broek wrote:
2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com>
schrieb:
On 10/11/2024 7:50 PM, olcott wrote:
[Schnipp]
As I see it, the main Halting Problem is Olcott not halting.
LOL! - A very nice one. Thanks for that. :-)
I second that. :^)
You're likely thousand-seconding that. The Olcott not halting joke
is many years old now, and will likely come up again.
My cancer has gotten worse.
*ChatGPT explains why rebuttals of my work are incorrect*
https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e
I had to dumb this down from the original halting problem
input so that reviewers can verify that HHH is correct
without hardly paying any attention at all:
void DDD()
{
  HHH(DDD);
  return;
}
When HHH is an x86 emulation based termination analyzer
then each DDD emulated by any HHH that it calls never returns.
Isn't that similar to:
void foobar()
{
   foobar();
}
?
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 993 |
Nodes: | 10 (0 / 10) |
Uptime: | 207:44:35 |
Calls: | 12,972 |
Calls today: | 1 |
Files: | 186,574 |
Messages: | 3,268,393 |