Liste des Groupes | Revenir à c theory |
On 5/26/2025 4:43 AM, Mikko wrote:HHH only needs to simulate eoungh to see that it is called. You knowOn 2025-05-25 15:55:42 +0000, olcott said:_DDD()
On 5/25/2025 5:19 AM, Richard Heathfield wrote:If the caller is DDD then the input specifies a halting behaviour becauseOn 24/05/2025 17:13, olcott wrote:HHH(DDD) does correctly rejectNo HHH can report on the behavior of its callerFrom Halt7.c:
void DDD()
{
HHH(DDD);
return;
}
Since (as you say) no HHH can report on the behaviour of its caller, and since (as your code shows) DDD is HHH's caller, we deduce that HHH cannot report on DDD.
So HHH is not (according to you) a halt analyser for DDD.
I'm not sure you've left anything to discuss, have you?
*ITS INPUT THUS NOT ITS CALLER*
as non-halting.
DDD calls HHH with an input that specifies a halting behavour. But HHH
cannot correctly reject a halting input as non-halting.
The requirements of a halting decider cannot be met if the decider reports
differently dependig on who calls it. Consequently, HHH is required to
return true also when the following FFF calls it:
void FFF(void) {
HHH(DDD);
return;
}
[00002192] 55 push ebp
[00002193] 8bec mov ebp,esp
[00002195] 6892210000 push 00002192
[0000219a] e833f4ffff call 000015d2 // call HHH
[0000219f] 83c404 add esp,+04
[000021a2] 5d pop ebp
[000021a3] c3 ret
Size in bytes:(0018) [000021a3]
How many recursive emulations does HHH have to
wait before its emulated DDD magically halts
on its own without ever needing to be aborted?
Les messages affichés proviennent d'usenet.