Sujet : Re: Can any pathological input thwart a simulating abort decider?
De : polcott2 (at) *nospam* gmail.com (olcott)
Groupes : comp.theory sci.logicDate : 23. Mar 2024, 18:08:32
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <utmuq0$3ncb0$5@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 3/23/2024 9:43 AM, Fred. Zwarts wrote:
Op 23.mrt.2024 om 14:58 schreef olcott:
On 3/23/2024 4:38 AM, Fred. Zwarts wrote:
Op 22.mrt.2024 om 19:41 schreef olcott:
01 int D(ptr x) // ptr is pointer to int function
02 {
03 int Halt_Status = H(x, x);
04 if (Halt_Status)
05 HERE: goto HERE;
06 return Halt_Status;
07 }
08
09 void main()
10 {
11 H(D,D);
12 }
>
H is a simulating abort decider that supposed to
correctly determine whether or not it needs to abort
the simulation of any pathological inputs that are
attempting to thwart this abort decision.
>
H must abort every simulated input that would not
otherwise halt to prevent its own non-termination.
>
It is a self-evident verified fact that every H(D,D)
that decides to abort its simulated D(D) is correct
in doing so because this does prevent its own
non-termination.
>
>
It is self-evident that when H is programmed to abort and return false, then [the simulated] D will
>
immediately stop running never having reached its last instruction to halt.
As can be seen above, if H returns false in line 03, then D will go to line 04 and line 06 and halt (unless aborted).
You still do not understand that functions called in infinite
recursion never return to their caller, thus must have grossly
exaggerated your programming skill.
When the simulated D calls its simulator this call cannot possibly
return to its caller. The relationship between the simulated D(D)
and its simulator makes a call D(D) to its own simulator isomorphic
to infinite recursion.
That the directly executed D(D) is an entirely different instance
that does not have this same pathological relationship is summed
up in your own reply:
On 3/22/2024 9:17 PM, Richard Damon wrote:
>
> The problem is that even if the "C function" D is
> the same machine code, the fact that it calls an
> external H means the code of H affects its
> behavior, and that must be taken into account.
We must take the pathological relationship into account where
it exists and we must not take the pathological relationship
into account where it does not exist.
*This explains why H(D,D) != H1(D,D) is correct*
-- Copyright 2024 Olcott "Talent hits a target no one else can hit; Geniushits a target no one else can see." Arthur Schopenhauer