Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Why use Windows, since there is a door? (By fachat@galileo.rhein-neckar.de, Andre Fachat)


computers / comp.ai.philosophy / The origin of the halting problem pseudo-code proof (Strachey’s Impossible Program)

SubjectAuthor
* The origin of the halting problem pseudo-code proof (Strachey’s Impossible Progrolcott
+- Re: The origin of the halting problem pseudo-code proofolcott
`- Re: The origin of the halting problem pseudo-code proof (Strachey’s Impossible Polcott

1
The origin of the halting problem pseudo-code proof (Strachey’s Impossible Program)

<Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=6833&group=comp.ai.philosophy#6833

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.software-eng
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 08 Jul 2021 15:27:46 -0500
Newsgroups: comp.theory,comp.ai.philosophy,comp.software-eng
X-Mozilla-News-Host: news://news.giganews.com:119
From: NoO...@NoWhere.com (olcott)
Subject: The_origin_of_the_halting_problem_pseudo-code_proof_(Strachey’s_Impossible_Program)
Date: Thu, 8 Jul 2021 15:27:45 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Message-ID: <Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>
Lines: 50
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-wjdcbwAjIMguM8VS92+NxVpMZ/HCT+ziPIJ7EeE0wBAtCHTO0S1z9r1erjFi4CE8vmB6cqmikXMjlpJ!6FvBIUiyYJO1+56eZEVvpjavP8zMmyQESBx8h5LlBOzQBWwRxVeYrWaVvNhsZEJrB+N8z07OpklR
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2977
 by: olcott - Thu, 8 Jul 2021 20:27 UTC

halt (p, i)
{ if ( program p halts on input i )
return true ; // p halts
else
return false ; // p doesn’t halt
} Fig. 1. Pseudocode of the Halting Function

Strachey’s Impossible Program Strachey proposed a program
based on the result of an assumed halting function [2].
The way Strachey’s construction and other similar constructions
are used to show the impossibility of a decideable halting
function is quite similar to Turing’s original disproof.
But the relevant difference we want to emphasize is that
they do not explicitly assume an infinite number of possible
machines (programs) or input data, because they directly use
reductio ad absurdum to prove that both, Strachey’s construction
and the universal halting function cannot exist.

strachey ( p )
{ if ( halt (p, p) == true )
L1 : goto L1 ; // loop forever
else
return;
}

Fig. 2. Strachey’s Impossible Program

The impossibility of Strachey’s construction given in Figure 2 becomes
obvious if one tries to apply the halting function as follows:

halt(strachey, strachey)

Since in this case strachey() itself calls halt(strachey, strachey),
it is required that the direct call of halt() and the nested call
provide the same result. However, this leads to a contradiction,
whatever result halt() returns. Within this disproof there seems
to be no indication why not it could be even applied to finite-state
systems having a concrete upper bound of state space.

https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.206.1468&rep=rep1&type=pdf

--
Copyright 2021 Pete Olcott

"Great spirits have always encountered violent opposition from mediocre
minds." Einstein

Re: The origin of the halting problem pseudo-code proof (Strachey’s Impossible Program)

<V8-dnRttzdLe9nr9nZ2dnUU7-XfNnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=6834&group=comp.ai.philosophy#6834

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.software-eng
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Thu, 08 Jul 2021 16:16:50 -0500
Subject: Re:_The_origin_of_the_halting_problem_pseudo-code_proof
_(Strachey’s_Impossible_Program)
Newsgroups: comp.theory,comp.ai.philosophy,comp.software-eng
References: <Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>
From: NoO...@NoWhere.com (olcott)
Date: Thu, 8 Jul 2021 16:16:50 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Message-ID: <V8-dnRttzdLe9nr9nZ2dnUU7-XfNnZ2d@giganews.com>
Lines: 100
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-4QyUwoc9+HuYhKW/Jlr880xaxXNKZZkFZtMV0XIGlBlKeSBps5uPtlRbKq2/bfyx0WzpcSIhYV79jyQ!e2NqIf6HUO4nzDWe/HlUCVyseOgr85hyL0IMW8PUumoSQQjiNVFrNE+c+sGaasGlQVJj2sWiDqMu
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 4684
 by: olcott - Thu, 8 Jul 2021 21:16 UTC

On 7/8/2021 3:27 PM, olcott wrote:
>
> halt (p, i)
> {
>   if ( program p halts on input i )
>     return true ; // p halts
>   else
>     return false ; // p doesn’t halt
> }
> Fig. 1. Pseudocode of the Halting Function
>
> Strachey’s Impossible Program Strachey proposed a program
> based on the result of an assumed halting function [2].
> The way Strachey’s construction and other similar constructions
> are used to show the impossibility of a decideable halting
> function is quite similar to Turing’s original disproof.
> But the relevant difference we want to emphasize is that
> they do not explicitly assume an infinite number of possible
> machines (programs) or input data, because they directly use
> reductio ad absurdum to prove that both, Strachey’s construction
> and the universal halting function cannot exist.
>
> strachey ( p )
> {
>   if ( halt (p, p) == true )
>     L1 : goto L1 ; // loop forever
>   else
>     return;
> }
>
> Fig. 2. Strachey’s Impossible Program
>
> The impossibility of Strachey’s construction given in Figure 2 becomes
> obvious if one tries to apply the halting function as follows:
>
> halt(strachey, strachey)
>
> Since in this case strachey() itself calls halt(strachey, strachey),
> it is required that the direct call of halt() and the nested call
> provide the same result. However, this leads to a contradiction,
> whatever result halt() returns. Within this disproof there seems
> to be no indication why not it could be even applied to finite-state
> systems having a concrete upper bound of state space.
>
> https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.206.1468&rep=rep1&type=pdf
>
>

The link is too long so I posted the whole letter:

Strachey, C.: An impossible program.
Computer Journal 7(4), 313 (1965)

To the Editor,
The Computer Journal.

An impossible program

Sir,
A well-known piece of folk-lore among programmers
holds that it is impossible to write a program which can
examine any other program and tell, in every case, if it
will terminate or get into a closed loop when it is run.
I have never actually seen a proof of this in print, and
though Alan Turing once gave me a verbal proof (in a
railway carriage on the way to a Conference at the
NPL in 1953), I unfortunately and promptly forgot the
details. This left me with an uneasy feeling that the
proof must be long or complicated, but in fact it is so
short and simple that it may be of interest to casual
readers. The version below uses CPL, but not in any
essential way.

Suppose T[R] is a Boolean function taking a routine
(or program) R with no formal or free variables as its
argument and that for all R, T[R] — True if R terminates
if run and that T[R] = False if R does not terminate.
Consider the routine P defined as follows

rec routine P
§L:if T[P] go to L
Return §

If T[P] = True the routine P will loop, and it will
only terminate if T[P] = False. In each case T[P] has
exactly the wrong value, and this contradiction shows
that the function T cannot exist.

Yours faithfully,
C. STRACHEY
Churchill College,
Cambridge.

--
Copyright 2021 Pete Olcott

"Great spirits have always encountered violent opposition from mediocre
minds." Einstein

Re: The origin of the halting problem pseudo-code proof (Strachey’s Impossible Program)

<hr2dnUYCKovgxnX9nZ2dnUU7-I3NnZ2d@giganews.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=6841&group=comp.ai.philosophy#6841

  copy link   Newsgroups: comp.theory comp.ai.philosophy comp.software-eng
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!4.us.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!buffer2.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail
NNTP-Posting-Date: Fri, 09 Jul 2021 09:21:49 -0500
Subject: Re:_The_origin_of_the_halting_problem_pseudo-code_proof_(Strachey’s_Impossible_Program)
Newsgroups: comp.theory,comp.ai.philosophy,comp.software-eng
References: <Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>
From: NoO...@NoWhere.com (olcott)
Date: Fri, 9 Jul 2021 09:21:48 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <Y6Cdna5Sq9xfwnr9nZ2dnUU7-KvNnZ2d@giganews.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Message-ID: <hr2dnUYCKovgxnX9nZ2dnUU7-I3NnZ2d@giganews.com>
Lines: 63
X-Usenet-Provider: http://www.giganews.com
X-Trace: sv3-hkttLI3K6l1IHqzgbEZvAifwkUUPuwkdq2k1zAM3a6C7t8Z7w8w9j3ISXf3mfeMaPhlaqvdZrpObajp!eT5+YF3d2hzQs0Nzi84e91AcHw+U/3pdLlGB8gfnKuMShgZyilXRHLgahOcb31ovbttHMzpVNnN0
X-Complaints-To: abuse@giganews.com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 3498
 by: olcott - Fri, 9 Jul 2021 14:21 UTC

This is the official link to the original letter:
https://academic.oup.com/comjnl/article/7/4/313/354243

Strachey is responsible for the enormous simplification of the halting
problem proof that is widely distributed as pseudo code.

His version was written in the language that he created CPL.
This language was later transformed into BCPL, then B then C.

CPL (Combined Programming Language) is a multi-paradigm programming
language, that was developed in the early 1960s. It is an early ancestor
of the C language via the BCPL and B languages.
https://en.wikipedia.org/wiki/CPL_(programming_language)

Strachey, C.: An impossible program.
Computer Journal 7(4), 313 (1965)

To the Editor,
The Computer Journal.

An impossible program

Sir,
A well-known piece of folk-lore among programmers
holds that it is impossible to write a program which can
examine any other program and tell, in every case, if it
will terminate or get into a closed loop when it is run.
I have never actually seen a proof of this in print, and
though Alan Turing once gave me a verbal proof (in a
railway carriage on the way to a Conference at the
NPL in 1953), I unfortunately and promptly forgot the
details. This left me with an uneasy feeling that the
proof must be long or complicated, but in fact it is so
short and simple that it may be of interest to casual
readers. The version below uses CPL, but not in any
essential way.

Suppose T[R] is a Boolean function taking a routine
(or program) R with no formal or free variables as its
argument and that for all R, T[R] — True if R terminates
if run and that T[R] = False if R does not terminate.
Consider the routine P defined as follows

rec routine P
§L:if T[P] go to L
Return §

If T[P] = True the routine P will loop, and it will
only terminate if T[P] = False. In each case T[P] has
exactly the wrong value, and this contradiction shows
that the function T cannot exist.

Yours faithfully,
C. STRACHEY
Churchill College,
Cambridge.

--
Copyright 2021 Pete Olcott

"Great spirits have always encountered violent opposition from mediocre
minds." Einstein

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor