Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Software engineers needed to validate this

11 views
Skip to first unread message

olcott

unread,
Jul 11, 2022, 10:56:22 AM7/11/22
to
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.

--
Copyright 2022 Pete Olcott

"Talent hits a target no one else can hit;
Genius hits a target no one else can see."
Arthur Schopenhauer

Mr Flibble

unread,
Jul 11, 2022, 1:21:58 PM7/11/22
to
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


Keith Thompson

unread,
Jul 11, 2022, 2:35:23 PM7/11/22
to
Mr Flibble <fli...@reddwarf.jmc.corp> writes:
> On Mon, 11 Jul 2022 09:55:45 -0500
> olcott <No...@NoWhere.com> wrote:
[34 lines deleted]
>
> Can you not post your crap to this newsgroup (comp.lang.c++) please?

If you must reply to one of olcott's off-topic posts, don't quote
the entire post.

> And you seem to need reminding YET AGAIN of the following:

And don't invite him to post again by trying to continue the discussion
here.

[SNIP]

Followups redirected to comp.theory.

--
Keith Thompson (The_Other_Keith) Keith.S.T...@gmail.com
Working, but not speaking, for Philips
void Void(void) { Void(); } /* The recursive call of the void */
0 new messages