Liste des Groupes | Revenir à c theory |
On 25/07/2024 15:27, Fred. Zwarts wrote:I explain that most completely by providing the full execution trace.Op 25.jul.2024 om 15:56 schreef olcott:But the point is that PO alleges HHH and HHH1 are identical copies. If that were the case, why would one abort while the other does not?On 7/24/2024 10:29 PM, Mike Terry wrote:>On 23/07/2024 14:31, olcott wrote:>On 7/23/2024 1:32 AM, 0 wrote:>On 2024-07-22 13:46:21 +0000, olcott said:In this case we have two x86utm machines that are identical
>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.
>
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.
>
You say a lot about things that are "empirically proven" and without exception they are never "proven" at all.
>
It is empirically proven according to the semantics of the
x86 machine code of DDD that DDD correctly emulated by HHH
has different behavior than DDD correctly emulated by HHH1.
No, you have proven that the *simulation* is different, not that the behaviour of the simulated function is different.
The simulations differ, because one is correct and the other one is incorrect.
The one that skips x86 instructions (by aborting) does not follow the semantics of the x86 language. Its simulation is incomplete and therefore is wrong.
The answer is obviously that they are NOT proper copies, just like PO's earlier H/H1. Or PO has cheated with misuse of global variables or similar. (PO has previously insisted these functions are "pure", but that is probably his own wishful thinking rather than fact... so who knows?)If you understand the semantics of the x86 language then you
I would like PO to come clean and explain why HHH1 behaves differently to HHH, in terms of the actual code. Instead he just says stuff like "HHH1 does not /need/ to abort because [blah blah]", as though he believes program behaviour is determined by their "needs" rather than by their coding.typedef void (*ptr)();
This is a perfectly "concrete" problem - two bits of code behave differently; why? Even PO should be able to properly understand (and investigate by himself) the answer to this question. Instead he falls back on nonsense "magical" explanations based on the programs "understanding their needs" or "seeing things" they obviously /don't/ "see" [either literally or figuratively], and somehow changing their behaviour as a result.
Mike.
Les messages affichés proviennent d'usenet.