Re: Foundation for a Formal Refutation of the Original Halting Problem?

From: Peter Olcott (olcott_at_worldnet.att.net)
Date: 08/04/04


Date: Wed, 04 Aug 2004 01:19:28 GMT


"Karl Heinz Buchegger" <kbuchegg@gascad.at> wrote in message news:410FA51A.C2638A09@gascad.at...
> Peter Olcott wrote:
> >
> > 01) int WillHalt(string SourceCode, string DataInput)
> > 02) {
> > 03) if (TheProgramHalts(SourceCode, DataInput))
> > 04) return 1; // also means true in C/C++
> > 05) else
> > 06) return 0; // also means false in C/C++
> > 07) }
> >
> > 08) void LoopIfHalts(string SourceCode, string DataInput)
> > 09) {
> > 10) if (WillHalt(SourceCode, DataInput))
> > 11) while(true)
> > 12) ;
> > 13) else
> > 14) return;
> > 15) }
> >
> > 16) cout << WillHalt(LoopIfHalts, LoopIfHalts);
> >
> > It has access to all of the source code, thus it can clearly see that the invocation
> > of line 16 is different than the invocation of line 10.
>
> How come?
> WillHalt has access to LoopIfHalts (and of course it's own Source Code) only.
> LoopIfHalts is passed directly as Source Code to WillHalt and WillHalt
> has to lookup the Source Code of WillHalt, since it is used inside LoopIfHalts.
> But that's all. Line 16 is definitly out of Scope for WillHalt.
>
>
> --
> Karl Heinz Buchegger
> kbuchegg@gascad.at

Since WillHalt has all of its own source code, it will already know
that line 16 is not being used to change the result of the program
that it is analyzing.



Relevant Pages


Loading