Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Fred. Zwarts" Newsgroups: comp.theory Subject: =?UTF-8?Q?Re=3A_Analysis_of_Flibble=E2=80=99s_Latest=3A_Detecting_v?= =?UTF-8?Q?s=2E_Simulating_Infinite_Recursion_ZFC?= Date: Tue, 27 May 2025 12:41:08 +0200 Organization: A noiseless patient Spider Lines: 100 Message-ID: <10144s4$2iqqa$1@dont-email.me> References: <100m319$38k55$2@dont-email.me> <87jz69xlpx.fsf@nosuchdomain.example.com> <100mder$39slu$2@dont-email.me> <100oipb$3oge1$1@dont-email.me> <87a573xz0s.fsf@bsb.me.uk> <875xhrtbpr.fsf@nosuchdomain.example.com> <100r2mb$b2b1$1@dont-email.me> <100r4oq$b650$1@dont-email.me> <100r5bf$b5vm$4@dont-email.me> <100r5hn$b650$2@dont-email.me> <100r648$bhcu$1@dont-email.me> <100r68v$b650$3@dont-email.me> <100sn6a$p071$1@dont-email.me> <100snl3$nvac$1@dont-email.me> <100sr6o$ppn2$3@dont-email.me> <100uqro$1an9v$1@dont-email.me> <100vehv$1en90$1@dont-email.me> <100vl4m$1g3rf$1@dont-email.me> <101224h$22da5$6@dont-email.me> <10123oq$2320h$1@dont-email.me> <10124j3$22da5$16@dont-email.me> <101285u$23u6u$1@dont-email.me> <10128df$23fpg$1@dont-email.me> <1012eie$25djd$1@dont-email.me> <1012epa$25ej1$1@dont-email.me> <1012fp8$24dfe$10@dont-email.me> <1012iu7$265fe$2@dont-email.me> <1013u9p$2h8vk$1@dont-email.me> <10140br$2hkq1$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 27 May 2025 12:41:09 +0200 (CEST) Injection-Info: dont-email.me; posting-host="9282f3f19e7c18147954a51f8fc45d70"; logging-data="2714442"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19XrurS+vr9mZs30kHPeAnK" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:mr7U4y8yfIddt4UdhcVLcQrAH34= In-Reply-To: <10140br$2hkq1$1@dont-email.me> Content-Language: nl, en-GB Op 27.mei.2025 om 11:24 schreef Richard Heathfield: > On 27/05/2025 09:48, Fred. Zwarts wrote: >> Op 26.mei.2025 om 22:28 schreef Richard Heathfield: >>> On 26/05/2025 20:35, Fred. Zwarts wrote: >>>> Now DDD is not the caller of HHH >>> >>> Yes, it is. >>> >>> void DDD() >>> { >>>    HHH(DDD); >>>    return; >>> } >>> >> >> Only if we confuse levels of simulation. > > Only if we confuse terminology. > > Noun > > caller (plural callers) > >     (telephony) The person who makes a telephone call. > A visitor. >     a gentleman caller > (bingo) The person who stands at the front of the hall and announces the > numbers. > (programming) A function that calls another (the callee). > > > DDD calls HHH. Therefore DDD is the caller of HHH. > >>   int main () { >>     HHH(DDD); >>   } >> >> Here main is the caller of HHH. > > Yes. > > void DDD() > { >    HHH(DDD); >    return; > } > > Here DDD is the caller of HHH. > > HHH has (at least) two callers. > >> In the first level of simulation DDD is simulated and calls HHH, which >> could cause a second level of simulation, where DDD is the caller, but >> that does not happen, because the first HHH aborts the simulation at >> that point. At the first (and only level), DDD is not the caller of >> HHH. DDD is only the input to HHH, not the caller. HHH should decide >> about its input, not about its caller. >> DDD is, in fact, a pointer to memory. This memory includes the code of >> DDD and all other code used by DDD, including the HHH that aborts. So, >> the input specifies a halting program. But HHH does not see that part >> of the specification, but aborts and makes the false assumption about >> itself that it does not halt. This bug in HHH does not change the >> verifiable fact that the input (not the caller) specifies a halting >> program. > > Understood, but you are only describing half the picture. > > We can observe DDD's behaviour directly by calling it directly: > > int main(void) > { >   DDD(); > } > > Clearly this cannot change anything, because for simulation to be a > valid technique simulation must give the same result as direct > execution, and therefore direct execution must give the same result as > simulation. > > Here, it is even more abundantly clear than ever that DDD is the caller > of HHH. Since (according to Olcott) HHH cannot report on its caller, it > cannot report on DDD. > Of course HHH can be called by any other function even by DDD. But that is completely irrelevant in the case where HHH is executed directly. In particular the case that we are discussing, where DDD is not executed directly. int main () { HHH(DDD); } The simulation does not even arrive at the point where HHH is called by DDD, because it is aborted before the call is simulated. Nobody ever claimed that HHH must decide about its caller. HHH must decide about its input not about its caller. Even when it happens that the code of the caller is included in the input. I think we agree on that.