Liste des Groupes | Revenir à theory |
On 3/16/2025 3:21 PM, joes wrote:Am Sun, 16 Mar 2025 14:36:11 -0500 schrieb olcott:
No, DDD halts.*Every sufficiently competent C programmer knows*
>
typedef void (*ptr)();
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
return;
}
int DD()
{
int Halt_Status = HHH(DD); if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
>
When HHH correctly emulates N steps of the above functions none of
them can possibly reach their own "return" instruction and terminate
normally.The fun thing is that DDD does terminate, but HHH can't simulate it.The semantic behavioral property of THE INPUT TO HHH is non halting as
proven by DDD [...]
Disagreeing with the semantics of the x86 language is the same asNo, the direct execution does.
disagreeing with the semantics of arithmetic. The semantics of the x86
language specifies what a correct emulation is.
Disagreeing that a correct emulation of the input specifies the behaviorIf only the simulation agreed with the direct execution.
of this input disavows the whole notion of a UTM.
It could just reject them as terminating.Since HHH does see that same pattern that competent C programmers see
it correctly aborts its emulation and rejects these inputs as non
terminating.
Les messages affichés proviennent d'usenet.