Re: DD specifies non-terminating behavior to HHH --- RECURSIVE CHAIN --- Saving Democracy

Liste des GroupesRevenir à theory 
Sujet : Re: DD specifies non-terminating behavior to HHH --- RECURSIVE CHAIN --- Saving Democracy
De : polcott333 (at) *nospam* gmail.com (olcott)
Groupes : comp.theory
Date : 22. Feb 2025, 20:33:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vpd8pl$3h9q$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
User-Agent : Mozilla Thunderbird
On 2/22/2025 1:17 PM, dbush wrote:
On 2/22/2025 1:54 PM, olcott wrote:
On 2/22/2025 12:21 PM, dbush wrote:
On 2/22/2025 1:02 PM, olcott wrote:

>
01 int F(int i)
02 {
03      if (i<10) {
04          return 0;
05      } else {
06          return F(i+1);
07      }
08 }
09
10 int no_numbers_greater_than_10()
11 {
12      return F(0);
13 }
14
15 int main()
16 {
17   no_numbers_greater_than_10();
18   return 0;
19 }
>
Actually, let's update main:
>
int main()
{
    F((int)no_numbers_greater_than_10);
    return 0;
}
>
>
The function no_numbers_greater_than_10() checks if any natural number exists that is greater than 10.  It does this by checking all natural numbers one at a time.  If one such number exists it halts and return 0.   If no such number exists, it will run forever as no such number will satisfy the condition.
>
>
Your code is incomplete. I added main() with line numbers.
>
We can see that no_numbers_greater_than_10 correctly simulated by F cannot possibly terminate normal by reaching its own "return" instruction.  This means that F correctly reports that no_numbers_greater_than_10 is non-halting.  It further means, since no_numbers_greater_than_10  doesn't halt that there is no natural number greater than 10.
>
Agreed?
>
Here the execution trace that I see:
15, 16, 17, 10, 11, 12, 01, 02, 03, 04, 12, 18, 19
>
>
Just as you say we're not talking about the direct execution of DD, we're also not talking about the direct execution of no_numbers_greater_than_10.  We're talking about no_numbers_greater_than_10 correctly simulated by F.
>
It's a verified fact that no_numbers_greater_than_10 correctly simulated by F cannot possibly return so F(no_numbers_greater_than_10) is correct to report non-halting, which means that there is no natural number greater than 10.
>
Agreed?
>
>
Leaving out main() made this difficult.
We can assume that the address of no_numbers_greater_than_10 > 10.
This will emulate no_numbers_greater_than_10 at incorrect byte offsets
causing it to crash. This may or may not make F crash depending
on how robust its emulator is.
>
 Let's make a small change so that wraparound is well defined:
 int F(uintptr_t i)
{
      if (i<10) {
          return 0;
      } else {
          return F(i+1);
      }
}
 This ensures that F((uintptr_t)no_numbers_greater_than_10) returns 0.
 This doesn't change the fact that no_numbers_greater_than_10 correctly
simulated by F cannot possibly return so F(no_numbers_greater_than_10)
is correct to report non-halting, which means that there is no natural
number greater than 10.
 Agreed?
i starts out as the address of
no_numbers_greater_than_10
Then causes the emulation to crash.
--
Copyright 2025 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer

Date Sujet#  Auteur
18 Apr 26 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal