Sujet : Re: DD specifies non-terminating behavior to HHH --- COMPLETE PROOF
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 26. Feb 2025, 09:58:52
Autres entêtes
Organisation : -
Message-ID : <vpml4c$2g7nv$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
User-Agent : Unison/2.2
On 2025-02-25 18:01:12 +0000, olcott said:
On 2/25/2025 10:13 AM, Mikko wrote:
Althogh the subject line has the words "COMPLETE PROOF" there is no
proof or pointer to proof below.
typedef void (*ptr)();
int HHH(ptr P);
int DD()
{
int Halt_Status = HHH(DD);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}
int main()
{
HHH(DD);
}
The above does specify that DD simulated by HHH
cannot possibly terminate normally by reaching its
own "return" instruction.
No, it does not. It does not specify whether DD simulated by HHH is
the DD shown above or something else. It does not specify whether
HHH returns nor what value it returns if it returns. The DD above
does specifies neither terminating nor non-terminating status as
that depends on HHH. Nothing above specifies about HHH anithing other
than the call interface about HHH. Therefore it is possible to link
any HHH that has the same call interface to those programs.
Ignoring the code in main() seemed dishonest.
Not at all. The subject line mentions DD but not main. Therefore
the discussion is about what DD specifies, not what main specifies.
The main does not output anything. It either terminates normally,
terminates abnormally, or does not terminate at all. Which is does
depends on HHH, which is not the topic of this discussion.
-- Mikko