Deutsch   English   Français   Italiano  
<v2pl4r$28ohs$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Mikko <mikko.levanto@iki.fi>
Newsgroups: comp.theory
Subject: Re: Can you see that D correctly simulated by H remains stuck in recursive simulation?
Date: Fri, 24 May 2024 12:03:23 +0300
Organization: -
Lines: 49
Message-ID: <v2pl4r$28ohs$1@dont-email.me>
References: <v2nsvh$1rd65$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 24 May 2024 11:03:24 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="2d3fff391b2fd23565a4469345235b57";
	logging-data="2384444"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+XawMlGBe2b7Uy74+FhFCQ"
User-Agent: Unison/2.2
Cancel-Lock: sha1:ZErCWYqovhVqQ3i43HvTU9djjxs=
Bytes: 2733

On 2024-05-23 17:04:49 +0000, olcott said:

> typedef int (*ptr)();  // ptr is pointer to int function in C
> 00       int H(ptr p, ptr i);
> 01       int D(ptr p)
> 02       {
> 03         int Halt_Status = H(p, p);
> 04         if (Halt_Status)
> 05           HERE: goto HERE;
> 06         return Halt_Status;
> 07       }
> 08
> 09       int main()
> 10       {
> 11         H(D,D);
> 12         return 0;
> 13       }
> 
> The above template refers to an infinite set of H/D pairs where D is
> correctly simulated by pure function H. This was done because many
> reviewers used the shell game ploy to endlessly switch which H/D pair
> was being referred to.
> 
> *Correct Simulation Defined*
>     This is provided because every reviewer had a different notion of
>     correct simulation that diverges from this notion.
> 
>     A simulator is an x86 emulator that correctly emulates at least one
>     of the x86 instructions of D in the order specified by the x86
>     instructions of D.
> 
>     This may include correctly emulating the x86 instructions of H in
>     the order specified by the x86 instructions of H thus calling H(D,D)
>     in recursive simulation.
> 
> *Execution Trace*
>     Line 11: main() invokes H(D,D); H(D,D) simulates lines 01, 02, and 03
>     of D. This invokes H(D,D) again to repeat the process in endless
>     recursive simulation.

One can see that D is never stuch in recursive simulation unless H is.
Whether H is cannot be seen has the details of H are not shown. Even
if they were H must, in order to simulate any x86 execution, be so
big and complicated that essential aspect may be hard to see; depending,
of course, on how the code is organized.

-- 
Mikko