Re: DDD correctly emulated by HHH is Correctly rejected as non-halting --- last chance

Liste des GroupesRevenir à theory 
Sujet : Re: DDD correctly emulated by HHH is Correctly rejected as non-halting --- last chance
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theory
Date : 24. Jul 2024, 19:34:00
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7rhep$1ri07$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
User-Agent : Mozilla Thunderbird
Op 24.jul.2024 om 15:29 schreef olcott:
On 7/24/2024 3:52 AM, Fred. Zwarts wrote:
Op 23.jul.2024 om 15:31 schreef olcott:
On 7/23/2024 1:32 AM, 0 wrote:
On 2024-07-22 13:46:21 +0000, olcott said:
>
On 7/22/2024 2:57 AM, Mikko wrote:
On 2024-07-21 13:34:40 +0000, olcott said:
>
On 7/21/2024 4:34 AM, Mikko wrote:
On 2024-07-20 13:11:03 +0000, olcott said:
>
On 7/20/2024 3:21 AM, Mikko wrote:
On 2024-07-19 14:08:24 +0000, olcott said:
>
When we use your incorrect reasoning we would conclude
that Infinite_Loop() is not an infinite loop because it
only repeats until aborted and is aborted.
>
You and your HHH can reason or at least conclude correctly about
Infinite_Loop but not about DDD. Possibly because it prefers to
say "no", which is correct about Infinte_loop but not about DDD.
>
>
*Because this is true I don't understand how you are not simply lying*
int main
{
   DDD();
}
>
Calls HHH(DDD) that must abort the emulation of its input
or {HHH, emulated DDD and executed DDD} never stop running.
>
You are the lying one.
>
If HHH(DDD) abrots its simulation and returns true it is correct as a
halt decider for DDD really halts.
>
>
(b) We know that a decider is not allowed to report on the behavior
computation that itself is contained within.
>
No, we don't. There is no such prohibition.
>
>
Turing machines never take actual Turing machines as inputs.
They only take finite strings as inputs and an actual executing
Turing machine is not itself a finite string.
>
The definition of a Turing machine does not say that a Turing machine
is not a finite string. It is an abstract mathematical object without
a specification of its exact nature. It could be a set or a finite
string. Its exact nature is not relevant to the theory of computation,
which only cares about certain properties of Turing machines.
>
Therefore It is not allowed to report on its own behavior.
>
Anyway, that does not follow. The theory of Turing machines does not
prohibit anything.
>
Another different TM can take the TM description of this
machine and thus accurately report on its actual behavior.
>
If a Turing machine can take a description of a TM as its input
or as a part of its input it can also take its own description.
Every Turing machine can be given its own description as input
but a Turing machine may interprete it as something else.
>
In this case we have two x86utm machines that are identical
except that DDD calls HHH and DDD does not call HHH1.
>
It is empirically proven that this changes their behavior
and the behavior of DDD.
>
>
The x86 code is exactly the same, therefore, the semantics of the x86 does not change, which proves that your claim that HHH works according to the semantics of the x86 language is not true.
 *HHH1(DDD) need not aborted because HHH(DDD) must be aborted*
HHH aborts (whether it must or not is irrelevant, it does).
Therefore there is no need to abort the simulation of HHH.
HHH1 proves that I am right, because when HHH1 simulates DDD, it also simulates HHH called by DDD.
This proves that it is incorrect to abort the simulation of HHH.
However, HHH cannot do anything else than abort the simulation of itself, because that is how it is coded.
HHH is incorrect when it aborts a simulation that would halt by its own. The simulation of HHH by itself is incomplete and therefore incorrect.
The conclusion must be: HHH cannot possibly simulate itself correctly.

This is your last chance before I ignore everything you say.
What is the problem? Are you unable to understand what I say, or are you unwilling to understand what I say?
Which of the above steps are too difficult for you to understand?

 int main()
{
   HHH1(DDD);
}
 _DDD()
[00002177] 55         push ebp
[00002178] 8bec       mov ebp,esp
[0000217a] 6877210000 push 00002177
[0000217f] e853f4ffff call 000015d7
[00002184] 83c404     add esp,+04
[00002187] 5d         pop ebp
[00002188] c3         ret
Size in bytes:(0018) [00002188]
 _main()
[00002197] 55         push ebp
[00002198] 8bec       mov ebp,esp
[0000219a] 6877210000 push 00002177
[0000219f] e863f3ffff call 00001507
[000021a4] 83c404     add esp,+04
[000021a7] 33c0       xor eax,eax
[000021a9] 5d         pop ebp
[000021aa] c3         ret
Size in bytes:(0020) [000021aa]
   machine   stack     stack     machine    assembly
  address   address   data      code       language
  ========  ========  ========  =========  =============
[00002197][001037fb][00000000] 55         push ebp
[00002198][001037fb][00000000] 8bec       mov ebp,esp
[0000219a][001037f7][00002177] 6877210000 push 00002177 ; push DDD
[0000219f][001037f3][000021a4] e863f3ffff call 00001507 ; call HHH1
New slave_stack at:10389f
 Begin Local Halt Decider Simulation   Execution Trace Stored at:1138a7
[00002177][00113897][0011389b] 55         push ebp
[00002178][00113897][0011389b] 8bec       mov ebp,esp
[0000217a][00113893][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0011388f][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:14e2c7
 Begin Local Halt Decider Simulation   Execution Trace Stored at:15e2cf
[00002177][0015e2bf][0015e2c3] 55         push ebp
[00002178][0015e2bf][0015e2c3] 8bec       mov ebp,esp
[0000217a][0015e2bb][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][0015e2b7][00002184] e853f4ffff call 000015d7 ; call HHH
New slave_stack at:198cef
[00002177][001a8ce7][001a8ceb] 55         push ebp
[00002178][001a8ce7][001a8ceb] 8bec       mov ebp,esp
[0000217a][001a8ce3][00002177] 6877210000 push 00002177 ; push DDD
[0000217f][001a8cdf][00002184] e853f4ffff call 000015d7 ; call HHH
Local Halt Decider: Infinite Recursion Detected Simulation Stopped
There was no infinite recursion, because HHH aborts after two cycles.
HHH is simply unable to see the difference between infinite recursion and finite recursion of more than two cycles.
void Finite_Recursion (int N) {
   if (N > 0) Finite_Recursion (N - 1);
}
It decides after two recursions that there is an infinite recursion, which is incorrect.
We can ignore the incorrect remark from HHH, because the only thing that counts is that HHH aborts.
HHH1 *does* detect that there is a finite recursion, but HHH decides too soon that there is an infinite recursion. This is exactly what makes the simulation of HHH by itself incorrect.
The simulated HHH already aborts, so no abort is needed for the simulation, but the simulating HHH cannot change its coding and therefore aborts when it is not needed.
It is an self-evident truism that HHH cannot possibly simulate itself correctly. In your terminology, it is a tautology.

 [00002184][00113897][0011389b] 83c404     add esp,+04
[00002187][0011389b][000015bc] 5d         pop ebp
[00002188][0011389f][0003a980] c3         ret
[000021a4][001037fb][00000000] 83c404     add esp,+04
[000021a7][001037fb][00000000] 33c0       xor eax,eax
[000021a9][001037ff][00000018] 5d         pop ebp
[000021aa][00103803][00000000] c3         ret
Number of Instructions Executed(352831) == 5266 Pages
 

Date Sujet#  Auteur
1 Jul 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal