Liste des Groupes | Revenir à theory |
On 7/1/24 9:25 PM, olcott wrote:Then why do you contradict yourself below? Did you forget to lie?typedef void (*ptr)();Right.
int HHH(ptr P);
>
void Infinite_Loop()
{
HERE: goto HERE;
}
>
void Infinite_Recursion()
{
Infinite_Recursion();
}
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(Infinite_Loop);
HHH(Infinite_Recursion);
HHH(DDD);
}
>
Every C programmer that knows what an x86 emulator is knows
that when HHH emulates the machine language of Infinite_Loop,
Infinite_Recursion, and DDD that it must abort these emulations
so that itself can terminate normally.
Too late you already agreed.>But only when you can actually PROVE that the full emulation of the program would be non-halting.
When this is construed as non-halting criteria then simulating
termination analyzer HHH is correct to reject these inputs as
non-halting by returning 0 to its caller.
Too late, you already agreed that HHH(DDD) is correct.>But if DDD WAS stuck in infinte recursion, so must be HHH, so it isn't a decider.
Simulating termination analyzers must report on the behavior
that their finite string input specifies thus HHH must report
that DDD correctly emulated by HHH remains stuck in recursive
simulation.
HHH can't have different behavior when emulated by HHH then when it is actually run.Sure it is. If we don't do it that way then we stupidly
The problem is that "Emulated by the Decider" is NOT a valid criteria for the behavior of the input, since it isn't a function of just the input.
The "Behavior of the input" will be the behavior of the program the input represents when it is run.If we assume that then we stupidly ignore that
Les messages affichés proviennent d'usenet.