home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.ai.philosophy      Perhaps we should ask SkyNet about this      59,235 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 57,303 of 59,235   
   Fred. Zwarts to All   
   Re: DDD correctly emulated by HHH is cor   
   12 Jul 24 22:52:13   
   
   XPost: comp.theory, sci.logic   
   From: F.Zwarts@HetNet.nl   
      
   Op 12.jul.2024 om 16:56 schreef olcott:   
   > We stipulate that the only measure of a correct emulation is the   
   > semantics of the x86 programming language.   
   >   
   > _DDD()   
   > [00002163] 55         push ebp      ; housekeeping   
   > [00002164] 8bec       mov ebp,esp   ; housekeeping   
   > [00002166] 6863210000 push 00002163 ; push DDD   
   > [0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)   
   > [00002170] 83c404     add esp,+04   
   > [00002173] 5d         pop ebp   
   > [00002174] c3         ret   
   > Size in bytes:(0018) [00002174]   
   >   
   > When N steps of DDD are emulated by HHH according to the   
   > semantics of the x86 language then N steps are emulated correctly.   
      
   But the following M steps are not simulated at all, making the as a   
   whole invalid, because:   
   1) That contradicts your stipulation that the only measure of a correct   
   emulation is the semantics of the x86 programming language. The x86   
   language does not allow an abort halfway of a series of instructions.   
   2) Skipping the simulation of only some steps will make the behaviour   
   different. The simulator must process the whole input, not only the   
   first part.   
      
   >   
   > When we examine the infinite set of every HHH/DDD pair such that:   
   > HHH₁ one step of DDD is correctly emulated by HHH.   
      
   Then it skips the last part of the simulation and that makes the   
   simulation as a whole incorrect.   
      
   > HHH₂ two steps of DDD are correctly emulated by HHH.   
      
   Then it skips the last part of the simulation and that makes the   
   simulation as a whole incorrect.   
      
   > HHH₃ three steps of DDD are correctly emulated by HHH.   
      
   Then it skips the last part of the simulation and that makes the   
   simulation as a whole incorrect.   
      
   > ...   
   > HHH∞ The emulation of DDD by HHH never stops running.   
      
   Even that simulation is incorrect, because it does not end.   
      
   >   
   > The above specifies the infinite set of every HHH/DDD pair   
   > where 1 to infinity steps of DDD are correctly emulated by HHH.   
      
   And where the HHH that abort skip the simulation of the last part of its   
   input, making the simulation incorrect.   
      
   >   
   > No DDD instance of each HHH/DDD pair ever reaches past its   
   > own machine address of 0000216b and halts.   
      
   Showing that none of these simulations was correct.   
   It only proves that no HHH in this set is able to simulate itself correctly.   
      
   >   
   > Thus each HHH element of the above infinite set of HHH/DDD   
   > pairs is necessarily correct to reject its DDD as non-halting.   
   >   
   No, the conclusion must be that none of the HHH in this set is able to   
   simulate itself correctly and reach the end of the simulation.   
   They all miss the last part of the simulation and therefore, do not   
   process the full input.   
   So, the abort was always premature and no conclusion about halting or   
   non-halting is possible. For each of the HHH that abort, it makes no   
   sense to dream of a HHH that does not abort, because that is not the one   
   that this HHH is simulating.   
   Each of the HHH in this set only simulates itself, not another one of   
   this set. Dreaming of another HHH in this set when simulating only   
   itself, is irrelevant and does not make the simulation correct.   
      
   No matter how much you want it to be correct, or how many times you   
   repeat that it is correct, it does not change the fact that none of   
   these simulations is correct, because none of them is able to reach the end.   
   For each HHH in this set we see that HHH cannot possibly simulate itself   
   correctly.   
      
   DDD has nothing to do with it. It is easy to eliminate DDD:   
      
           int main() {   
             return HHH(main);   
           }   
      
   This has the same problem. This proves that the problem is not in DDD,   
   but in HHH, which halts when it aborts the simulation, but it decides   
   that the simulation of itself does not halt.   
      
   HHH is unable to decide about finite recursions.   
      
   void Finite_Recursion (int N) {   
      if (N > 0) Finite_Recursion (N - 1);   
   }   
      
   It decides after N recursions that there is an infinite recursion, which   
   is incorrect.   
   When it should decide about Finite_Recursion(5), the programmer starts   
   to dream about an infinite set of Finite_Recursion(M), with M=0 to   
   infinity, and decides that it must be an infinite recursion.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca