Re: Can D simulated by H terminate normally?

Liste des GroupesRevenir à c theory 
Sujet : Re: Can D simulated by H terminate normally?
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theory
Date : 28. Apr 2024, 09:23:26
Autres entêtes
Organisation : -
Message-ID : <v0l11u$ussl$1@dont-email.me>
References : 1
User-Agent : Unison/2.2
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

Date Sujet#  Auteur
22 Dec 24 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal