Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Garbage In, Gospel Out


devel / comp.theory / Halting Problem Solved

SubjectAuthor
o Halting Problem SolvedMr Flibble

1
Halting Problem Solved

<17450540c0bd18cb$1$746483$baa1ecb3@news.newsdemon.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=43904&group=comp.theory#43904

  copy link   Newsgroups: comp.theory
From: flib...@reddwarf.jmc.corp (Mr Flibble)
Subject: Halting Problem Solved
Newsgroups: comp.theory
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4 gitlab.gnome.org/GNOME/pan.git)
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Lines: 52
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!news.newsdemon.com!not-for-mail
Date: Sat, 18 Feb 2023 20:30:11 +0000
Nntp-Posting-Date: Sat, 18 Feb 2023 20:30:11 +0000
Organization: NewsDemon - www.newsdemon.com
X-Complaints-To: abuse@newsdemon.com
Message-Id: <17450540c0bd18cb$1$746483$baa1ecb3@news.newsdemon.com>
X-Received-Bytes: 2239
 by: Mr Flibble - Sat, 18 Feb 2023 20:30 UTC

Hi!

I have an idea for a signaling simulating halt decider that forks the
simulation into two branches if the input calls the halt decider as
per [Strachey 1965]'s "Impossible Program":

void P(void (*x)())
{ if (H(x, x))
infinite_loop: goto infinite_loop;
return;
}

int main()
{ std::cout << "Input halts: " << H(P, P) << std::endl;
}

When the simulator detects the call to H in P it forks the simulation
into a non-halting branch (returning 0 to P) and a halting branch
(returning 1 to P) and continues the simulation of these two branches
in parallel.

If the non-halting branch is determined to halt AND the halting branch
is determined to not halt then pathology is detected and reported via
a sNaP (signaling Not a Program) signal (analogous to IEEE 754's
sNaN (signaling Not a Number) signal)

If EITHER branch is determined to be correctly decided then that will
be the decision of the halting decider.

Crucially this scheme will handle (and correctly decide) the
following case whereby the result of H is discarded by the input:

void Px(void (*x)())
{ (void) H(x, x);
return;
}

Obviously my idea necessitates extending the definition of a halt
decider:

1) Decider decision is HALTS if input halts.
2) Decider decision is NON-HALTING if input does not halt.
3) Decider rejects pathological input as invalid by signaling sNaP.

Thoughts? I am probably missing something obvious as my idea
appears to refute [Strachey 1965] and associated HP proofs which
great minds have mulled over for decades.

/Flibble

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor