Deutsch   English   Français   Italiano  
<v0l11u$ussl$1@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!.POSTED!not-for-mail
From: Mikko <mikko.levanto@iki.fi>
Newsgroups: comp.theory
Subject: Re: Can D simulated by H terminate normally?
Date: Sun, 28 Apr 2024 11:23:26 +0300
Organization: -
Lines: 51
Message-ID: <v0l11u$ussl$1@dont-email.me>
References: <v0k4jc$laej$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 28 Apr 2024 10:23:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e0e91796f9a176abfbc86314386cddaa";
	logging-data="1012629"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18XB0JY3PyvpvydQeGNFLEz"
User-Agent: Unison/2.2
Cancel-Lock: sha1:ZoZYa2n9a6KCgNpJdKtXSsb/nQQ=
Bytes: 2448

On 2024-04-28 00:17:48 +0000, olcott said:

> Can D simulated by H terminate normally?

One should not that "D simulated by H" is not the same as
"simulation of D by H". The message below seems to be more
about the latter than the former. In any case, it is more
about the properties of H than about the properties of D.

> The x86utm operating system based on an open source x86 emulator.
> This system enables one C function to execute another C function
> in debug step mode. When H simulates D it creates a separate process
> context for D with its own memory, stack and virtual registers. H
> is able to simulate D simulating itself, thus the only limit to
> recursive simulations is RAM.
> 
> // The following is written in C
> //
> 01 typedef int (*ptr)(); // pointer to int function
> 02 int H(ptr x, ptr y)    // uses x86 emulator to simulate its input
> 03
> 04 int D(ptr x)
> 05 {
> 06   int Halt_Status = H(x, x);
> 07   if (Halt_Status)
> 08     HERE: goto HERE;
> 09   return Halt_Status;
> 10 }
> 11
> 12 void main()
> 13 {
> 14   D(D);
> 15 }
> 
> Execution Trace
> Line 14: main() invokes D(D)
> 
> keeps repeating (unless aborted)
> Line 06: simulated D(D) invokes simulated H(D,D) that simulates D(D)
> 
> Simulation invariant
> D correctly simulated by H cannot possibly reach its own line 09.
> 
> Is it dead obvious to everyone here when examining the execution
> trace of lines 14 and 06 above that D correctly simulated by H cannot
> possibly terminate normally by reaching its own line 09?


-- 
Mikko