Sujet : Re: Formal systems that cannot possibly be incomplete except for unknowns and unknowable
De : rjh (at) *nospam* cpax.org.uk (Richard Heathfield)
Groupes : comp.theoryDate : 07. May 2025, 23:16:37
Autres entêtes
Organisation : Fix this later
Message-ID : <vvgm45$18i6e$4@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla Thunderbird
On 07/05/2025 22:59, olcott wrote:
On 5/7/2025 4:52 PM, Richard Heathfield wrote:
On 07/05/2025 22:46, olcott wrote:
On 5/7/2025 4:30 PM, Richard Heathfield wrote:
>
<snip>
>
If the simulation can't reach code that the directly executed program reaches, then it's not a faithful simulation.
>
>
If is was true that it is not a faithful simulation
then you would be able to show exactly what sequence
of instructions would be a faithful simulation.
>
If it were false, you'd be able to chop out the unreachable code without any adverse effects. Can you?
>
<snip>
>
I already know the answer.
Then you already know why your simulation code fails to simulate correctly... but of course you /don't/ know, so I'll explain.
Let us postulate a program that contains a function as follows:
void invisible(void)
{
secret();
}
When directly executed, the program calls invisible(), but when simulated, the invisible() call is unreachable.
secret() could do nothing, or it might launch a for(;;); or it could catch SIGABRT with a returning handler and call abort(). The simulator has no way of knowing which is which.
Therefore a termination analyser that attempts to analyse this program but cannot reach all the code is doomed to be unable to run a correct simulation and is necessarily reduced to guesswork.
-- Richard HeathfieldEmail: rjh at cpax dot org dot uk"Usenet is a strange place" - dmr 29 July 1999Sig line 4 vacant - apply within