Sujet : Re: Simulating termination analyzers for dummies
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 20. Jun 2024, 07:17:46
Autres entêtes
Organisation : -
Message-ID : <v50e1q$2e95t$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Unison/2.2
On 2024-06-19 13:00:57 +0000, olcott said:
On 6/19/2024 3:08 AM, Fred. Zwarts wrote:
Op 18.jun.2024 om 18:26 schreef olcott:
On 6/18/2024 10:47 AM, Fred. Zwarts wrote:
Op 18.jun.2024 om 17:33 schreef olcott:
On 6/18/2024 10:20 AM, Fred. Zwarts wrote:
It is a verified fact that serious C people have recently
agreed to the following verbatim statement in the C group.
http://al.howardknight.net/?STYPE=msgid&MSGI=%3Cv4pg5p%24morv%241%40raubtier-asyl.eternal-september.org%3E+
You either lack this degree of skill in C or are only
interested in playing head games.
I have seen the response. It was most certainly not a serious reply.
But you know apparently to little of C to understand that.
Probably, because you are unable to escape from rebuttal mode, even if the truth is obvious.
I have known C since K&R was the standard and met
Bjarne Stroustrup when he came to our university
to promote his new C++ programming language.
*You seem to be willfully ignorant*
It was your own proof that showed that in
int main()
{
return H(main);
}
main halts, whereas H reported non-halting. So, it you were honest you would stop claiming that H is correct.
That is merely a more difficult to understand version of this
same pathological relationship.
int main()
{
Output("Input_Halts = ", HH0(main));
}
_main()
[000020c2] 55 push ebp
[000020c3] 8bec mov ebp,esp
[000020c5] 68c2200000 push 000020c2 ; push main
[000020ca] e833f4ffff call 00001502 ; call HH0
[000020cf] 83c404 add esp,+04
[000020d2] 50 push eax
[000020d3] 6843070000 push 00000743
[000020d8] e885e6ffff call 00000762
[000020dd] 83c408 add esp,+08
[000020e0] eb04 jmp 000020e6
[000020e2] 33c0 xor eax,eax
[000020e4] eb02 jmp 000020e8
[000020e6] 33c0 xor eax,eax
[000020e8] 5d pop ebp
[000020e9] c3 ret
Size in bytes:(0040) [000020e9]
machine stack stack machine assembly
address address data code language
======== ======== ======== ========= =============
[000020c2][001036c3][00000000] 55 push ebp
[000020c3][001036c3][00000000] 8bec mov ebp,esp
[000020c5][001036bf][000020c2] 68c2200000 push 000020c2 ; push main
[000020ca][001036bb][000020cf] e833f4ffff call 00001502 ; call HH0
New slave_stack at:103767
Begin Local Halt Decider Simulation Execution Trace Stored at:11376f
[000020c2][0011375f][00113763] 55 push ebp ; begin main
[000020c3][0011375f][00113763] 8bec mov ebp,esp
[000020c5][0011375b][000020c2] 68c2200000 push 000020c2 ; push main
[000020ca][00113757][000020cf] e833f4ffff call 00001502 ; call HH0
New slave_stack at:14e18f
[000020c2][0015e187][0015e18b] 55 push ebp ; begin main
[000020c3][0015e187][0015e18b] 8bec mov ebp,esp
[000020c5][0015e183][000020c2] 68c2200000 push 000020c2 ; push main
[000020ca][0015e17f][000020cf] e833f4ffff call 00001502 ; call HH0
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
[000020cf][001036c3][00000000] 83c404 add esp,+04
[000020d2][001036bf][00000000] 50 push eax
[000020d3][001036bb][00000743] 6843070000 push 00000743
[000020d8][001036bb][00000743] e885e6ffff call 00000762
Input_Halts = 0
[000020dd][001036c3][00000000] 83c408 add esp,+08
[000020e0][001036c3][00000000] eb04 jmp 000020e6
[000020e6][001036c3][00000000] 33c0 xor eax,eax
[000020e8][001036c7][00000018] 5d pop ebp
[000020e9][001036cb][00000000] c3 ret ; exit main
Number of Instructions Executed(10070) == 150 Pages
It is easier to understand because a print statement was added.
You proved that it halts, but H0 reports non-halting.
So, it produces a false negative.
So, now it has been proved that H, H0, etc produce false negatives, when used to determine halting behaviour, please, stop to call them halt-deciders, or termination-deciders.
They might be "simulation deciders". When returning true, the simulation was correct, when false, the full simulation was not possible.
I don't want to discuss your screwy example because I
can't use screwy examples in my paper.
If you could ever publish a paper there would soon be papers with examples
(which you may call "screwy") that your method gets wrong.
-- Mikko