Deutsch   English   Français   Italiano  
<vq1820$ne68$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Mikko <mikko.levanto@iki.fi>
Newsgroups: comp.theory
Subject: Re: Simulating Halt Decider Copyright 2022 Mr Flibble
Date: Sun, 2 Mar 2025 11:23:12 +0200
Organization: -
Lines: 66
Message-ID: <vq1820$ne68$1@dont-email.me>
References: <0qg7sjlnvataaqrgv0207nednemnqpubqu@4ax.com> <vq0jvg$gksp$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 02 Mar 2025 10:23:14 +0100 (CET)
Injection-Info: dont-email.me; posting-host="a72b0c126c3da1d8eeb41eb14669e115";
	logging-data="768200"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18kxGFU7T2FsNAJalICwiZh"
User-Agent: Unison/2.2
Cancel-Lock: sha1:nSUAf5/Zc+i8W6iAGzSHV+gKyT8=
Bytes: 3073

On 2025-03-02 03:40:31 +0000, olcott said:

> On 3/1/2025 8:33 PM, Mr Flibble wrote:
>> 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":
>> 
> 
> The signalling aspect that forks is your idea.
> 
> It is established all over the place for
> many years that "simulating halt decider" is my idea.
> 
>> 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.

A program that on some voaid input does not decide HALTS or NON-HALTING
is not a halt decider and therefore does not refute Strachey's proof.

-- 
Mikko