From newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!rpi!think.com!ames!ncar!noao!arizona!arizona.edu!NSMA.AriZonA.EdU!bill Thu Dec 26 23:57:00 EST 1991
Article 2262 of comp.ai.philosophy:
Path: newshub.ccs.yorku.ca!ists!helios.physics.utoronto.ca!news-server.csri.toronto.edu!rpi!think.com!ames!ncar!noao!arizona!arizona.edu!NSMA.AriZonA.EdU!bill
>From: bill@NSMA.AriZonA.EdU (Bill Skaggs)
Newsgroups: comp.ai.philosophy
Subject: Re: Causes and Reasons
Message-ID: <1991Dec18.162235.2284@arizona.edu>
Date: 18 Dec 91 23:22:33 GMT
References: <1991Dec18.114043.12753@oracorp.com>
Reply-To: bill@NSMA.AriZonA.EdU (Bill Skaggs)
Distribution: world,local
Organization: Center for Neural Systems, Memory, and Aging
Lines: 44
Nntp-Posting-Host: ca3.nsma.arizona.edu

In article <1991Dec18.114043.12753@oracorp.com> daryl@oracorp.com writes:
>> Perhaps my example is too extreme; think of the bad cook.
>> My point is that correct implementation is indeterminable by purely
>> formal means in the same way as correct interpretation.  For this
>> reason it makes no sense to claim that a program possesses any given
>> property assumed to be possessed by its correct implementation.  The
>> burden of ensuring any property of the latter falls on the agent in
>> charge of making it correct in the first place, and not just on the
>> program itself.
>
>I don't understand what you are driving at here. Are you saying that a
>program can't be correctly implemented without some conscious agent's
>intervention? Isn't that what a compiler is supposed to do?
>
>Anyway, a program is a mathematical description of a class of
>machines. When someone says that the program has this or that
>property, they are only talking about the correct implementations: to
>say that I is an incorrect implementation of program P is to say that
>I is *not* an implementation of P.
>
>You are drifting away from Chalmer's original point: the meaning of a
>program is a machine with certain causal properties; properties of the
>form "inputing a 5 will cause the output of 25", or whatever. An
>implementation of this program will have this causal property by
>virtue of what it *means* to be an implementation.
>

  No, the objection is correct.  Let's suppose the programming language
is C -- ANSI C, to be specific; then correct implementation is defined
by the ANSI standard (assuming the standard is completely unambiguous,
which it isn't, but let's overlook that little problem). 

  For some algorithms, it is possible to prove formally that certain
programs are correct implementations of those algorithms.  However,
this is not possible in general.  It is a pretty simple consequence
of Turing Theorem (about the halting problem) that there are programs
which are correct implementations but which cannot be proven 
to be correct implementations.

  Not that it matters, of course.  Unless you make the mystical
assumption that humans can somehow beat the theorem, we are subject
to the same limitations that machines are.

	-- Bill


