| Deutsch English Français Italiano |
|
<vpd97q$3e5k$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: dbush <dbush.mobile@gmail.com>
Newsgroups: comp.theory
Subject: Re: DD specifies non-terminating behavior to HHH --- RECURSIVE CHAIN
--- Saving Democracy
Date: Sat, 22 Feb 2025 14:40:44 -0500
Organization: A noiseless patient Spider
Lines: 110
Message-ID: <vpd97q$3e5k$2@dont-email.me>
References: <vo6420$3mpmf$1@dont-email.me> <vocdo9$14kc0$1@dont-email.me>
<vocpl7$16c4e$4@dont-email.me> <vof56u$1n9k0$1@dont-email.me>
<vofnj2$1qh2r$2@dont-email.me> <vohrmi$29f46$1@dont-email.me>
<vojs0e$2oikq$4@dont-email.me> <vokdha$2rcqi$1@dont-email.me>
<vom1fr$34osr$1@dont-email.me>
<ee9d41d5f1c2a8dd8ff44d3ddeee20d2c3bcccc1@i2pn2.org>
<vomgd8$3anm4$2@dont-email.me>
<f5d6cbae83eb89e411d76d1d9ca801ef2678cec2@i2pn2.org>
<voojl9$3mdke$2@dont-email.me>
<855e571c6668207809e1eb67138de6af48d164fa@i2pn2.org>
<vorlqp$aet5$2@dont-email.me>
<e174ca1c1cbc58c67ffae3b67b69f63f21a82f86@i2pn2.org>
<vp69r4$2mdtr$1@dont-email.me>
<8fa176d46bf5b8c36def9e32ced67a1a3f81bae1@i2pn2.org>
<vpbhrk$3mfi7$1@dont-email.me>
<2e999502c40f736a3f3579d23bdb2b42dc74e897@i2pn2.org>
<vpcurc$irt$5@dont-email.me> <vpd0e5$uj5$1@dont-email.me>
<vpd3fg$irt$10@dont-email.me> <vpd4ih$2pvp$1@dont-email.me>
<vpd6hp$2q85$3@dont-email.me> <vpd7s7$3e5k$1@dont-email.me>
<vpd8pl$3h9q$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 22 Feb 2025 20:40:43 +0100 (CET)
Injection-Info: dont-email.me; posting-host="71441c56d83220426f9b7c1ba6da31b6";
logging-data="112820"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18aWCCBwA7wIUYPJLh00XeK"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:JP0IoE5pvqcV8XTI2NLtmAqsAms=
Content-Language: en-US
In-Reply-To: <vpd8pl$3h9q$1@dont-email.me>
Bytes: 5736
On 2/22/2025 2:33 PM, olcott wrote:
> 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.
>
If that address is greater than 10 then F returns 0 right away,
otherwise it makes at most 10 recursive calls before returning 0, so
there would be no crash.
So you agree that no_numbers_greater_than_10 correctly
simulated by F (i.e. if the body of the function F is replaced by an
unconditional simulator as you said is correct) cannot possibly return?