Sujet : Re: What is the correct halt status for HHH(DDD) ?
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theoryDate : 13. Jul 2024, 19:15:35
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6ug87$3mpsd$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 7/13/2024 12:25 PM, Richard Damon wrote:
On 7/13/24 12:48 PM, olcott wrote:
What is the correct halt status for an input to
a simulating termination analyzer that calls its
own termination analyzer?
>
typedef void (*ptr)();
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
>
Halting.
Since HHH defined to be a termination analyzer, by that definition it must return to its caller.
Since DDD has no inputs, its behavior isn't affected by any inputs, and thus DDD will halt for ALL input conditions, so
You are stupidly saying that Infinite_Loop() will halt because
it has no inputs.
void Infinite_Loop()
{
HERE: goto HERE;
}
for HHH to be a correct termination analysizer it needs to return the value to indicate Halting.
Yes
Your version
I am asking What is the correct halt status for HHH(DDD)
that at least one element of every possible pure function
HHH can provide.
can't do that, so either fails to be a proper decider, or gets the wrong answer.
The Flibble version could get this correct, if the structure allows it to properly detect that DDD is actually calling HHH, which puts us outside of the Turing Equivalency rules, but can be done in that C code.
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer