On Mon, 11 Jul 2022 09:55:45 -0500
olcott <No...@NoWhere.com> wrote:
> Only an ordinary understanding of C and software engineering is
> required.
>
> #define ptr uintptr_t
>
> int H(ptr p, ptr i); // simulating halt decider
>
> H Simulates its input until it correctly predicts that this simulated
> input would never terminate normally then rejects this input as
> non-halting.
>
> void P(ptr x)
> {
> if (H(x, x))
> HERE: goto HERE;
> return;
> }
>
> int main()
> {
> Output("Input_Halts = ", H(P, P));
> }
>
> When the execution trace of function P() simulated by function H()
> shows: (1) Function H() is called from P().
> (2) With the same parameters to H().
> (3) With no instructions in P() that could escape this infinitely
> recursive simulation: {index jump, conditional branch, return}
>
> Then the function call from P() to H() would never terminate normally.
> In this case H aborts its simulation of P and rejects its input as
> non-halting.
>
Can you not post your crap to this newsgroup (comp.lang.c++) please?
And you seem to need reminding YET AGAIN of the following:
I have shown with my signaling halting decider there is no need for
a call to a simulation-based halting decider, H, from the input program
to be recursive; this is compatible with [Strachey 1965] and
associated proofs which are not recursive in nature. Your H is invalid
as it aborts the simulation to prevent infinite recursion rather than
returning an answer to its caller which results in it giving the wrong
answer for a non-pathological input that calls H.
/Flibble