Sujet : Re: DDD correctly emulated by HHH is correctly rejected as non-halting.
De : F.Zwarts (at) *nospam* HetNet.nl (Fred. Zwarts)
Groupes : comp.theoryDate : 13. Jul 2024, 13:33:34
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6ts6u$3irhh$4@dont-email.me>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla Thunderbird
Op 13.jul.2024 om 14:22 schreef olcott:
On 7/13/2024 3:00 AM, Mikko wrote:
On 2024-07-12 13:20:53 +0000, olcott said:
>
On 7/12/2024 3:03 AM, Mikko wrote:
On 2024-07-11 14:10:24 +0000, olcott said:
>
On 7/11/2024 1:25 AM, Mikko wrote:
On 2024-07-10 17:53:38 +0000, olcott said:
>
On 7/10/2024 12:45 PM, Fred. Zwarts wrote:
Op 10.jul.2024 om 17:03 schreef olcott:
typedef void (*ptr)();
int HHH(ptr P);
>
void DDD()
{
HHH(DDD);
}
>
int main()
{
HHH(DDD);
}
>
Unneeded complexity. It is equivalent to:
>
int main()
{
return HHH(main);
}
>
>
>
Every time any HHH correctly emulates DDD it calls the
x86utm operating system to create a separate process
context with its own memory virtual registers and stack,
thus each recursively emulated DDD is a different instance.
>
However, each of those instances has the same sequence of instructions
that the x86 language specifies the same operational meaning.
>
>
*That is counter-factual*
When DDD is correctly emulated by HHH according to the
semantics of the x86 programming language HHH must abort
its emulation of DDD or both HHH and DDD never halt.
>
There is not "must" anywhere in the semantics of the programming language.
>
>
The semantics of the language specifies the behavior of
the machine code thus deriving the must.
>
How can one derive "must" from the semantics of the machine code?
>
Deciders are required to (thus must) halt.
Indeed, therefore, the correct simulation of a decider must halt as well.
And since HHH cannot possibly reach its own end when simulating itself, it proves that such a simulator cannot be the basis of a decider.