Sujet : Re: Who here understands that the last paragraph is Necessarily true?
De : richard (at) *nospam* damon-family.org (Richard Damon)
Groupes : comp.theoryDate : 15. Jul 2024, 12:09:14
Autres entêtes
Organisation : i2pn2 (i2pn.org)
Message-ID : <92d6807062107c6ec03f1a4166ff049cf0bd4a53@i2pn2.org>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Mozilla Thunderbird
On 7/14/24 10:33 PM, olcott wrote:
On 7/14/2024 9:04 PM, Richard Damon wrote:
On 7/14/24 9:27 PM, olcott wrote:
>
Any input that must be aborted to prevent the non termination
of simulating termination analyzer HHH necessarily specifies
non-halting behavior or it would never need to be aborted.
>
Excpet, as I have shown, it doesn't.
>
Your problem is you keep on ILEGALLY changing the input in your argument because you have misdefined what the input is.
>
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
The input *is* the machine address of this finite
string of bytes: 558bec6863210000e853f4ffff83c4045dc3
Nope, the "input" needs to define everything that varies from one question to another, so, since HHH is defined to determine if a given "program" halts, then the input needs to FULLY define that program, which means it has ALL the code of it.
That means, your HHH's actual take as there "input" the address in all of memory that contains the program, and ALL of the memory that program resides in.
Thus, either you admit that the code of HHH is part of the input, or that you "input" doesn't actually give the decider what it is defined to take.
This shows you don't understand what you are talking about.
Tell me, does this program halt:
int foo() {
bar(foo);
}
That program is identical to your DDD, just calling some other function, probably at a different memory address.
If your HHH knows that 000015c3 is HHH, then for it to "correctly emulate" that input, (even in the general functional case) it needs that call to behave like it would given that parameter. Which if HHH decides to abort and return 0, then its logic needs to have understood that the call to HHH in DDD will also return 0 to DDD, so HHH knows non-halting because HHH doesn't return is incorrect.
If you HHH doesn't know that 000015c3 is HHH, then the code there needs to be part of the "input", and thus not just that limited finite string you claim.
Thus, your logic is based on a LIE.