In order to discuss the role of knowledge in one's ability to achieve goals let us return to the example of the safe. There we had
which expressed sufficient conditions for the ability of a person to open a safe with a key. Now suppose we have a combination safe with a combination c. Then we may write:
where we have used the predicate fits2 and the action opens2 to express the distinction between a key fitting a safe and a combination fitting it, and also the distinction between the acts of opening a safe with a key and a combination. In particular, opens2(sf,c) is the act of manipulating the safe in accordance with the combination c. We have left out a sentence of the form has2(p,c,s) for two reasons. In the first place, it is unnecessary: if you manipulate a safe in accordance with its combination it will open; there is no need to have anything. In the second place it is not clear what has2(p,c,s) means. Suppose, for example, that the combination of a particular safe sf is the number 34125, then fits(34125, sf) makes sense and so does the act opens2(sf,34125). (We assume that open(sf,result (p,opens2(sf,34111),s)) would not be true.) But what could has(p,34125,s) mean? Thus, a direct parallel between the rules for opening a safe with a key and opening it with a combination seems impossible.
Nevertheless, we need some way of expressing the fact that one has to know the combination of a safe in order to open it. First we introduce the function combination(sf) and rewrite 2 as
where csafe(sf) asserts that sf is a combination safe and combination (sf) denotes the combination of sf. (We could not write key(sf) in the other case unless we wished to restrict ourselves to the case of safes with only one key.)
Next we introduce the notion of a feasible strategy for a person. The idea is that a strategy that would achieve a certain goal might not be feasible for a person because he lacks certain knowledge or abilities.
Our first approach is to regard the action opens2(sf,combination (sf)) as infeasible because p might not know the combination. Therefore, we introduce a new function which stands for person p's idea of the combination of sf in situation s.
The action is regarded as feasible for p, since p is assumed to know his idea of the combination if this is defined. However, we leave sentence 3 as it is so we cannot yet prove . The assertion that p knows the combination of sf can now be expressed as
and with this, the possibility of opening the safe can be proved.
Another example of this approach is given by the following formalization of getting into conversation with someone by looking up his number in the telephone book and then dialing it.
The strategy for p in the first form is
or in the second form
The premisses to write down appear to be
Unfortunately, these premisses are not sufficient to allow one to conclude that
The trouble is that one cannot show that the fluents at(q,home(q)) and still apply to the situation . To make it come out right we shall revise the third hypothesis to read:
This works, but the additional hypotheses about what remains unchanged when p looks up a telephone number are quite ad hoc. We shall treat this problem in a later section.
The present approach has a major technical advantage for which, however, we pay a high price. The advantage is that we preserve the ability to replace any expression by an equal one in any expression of our language. Thus if , any true statement of our language that contains 3217580 or will remain true if we replace one by the other. This desirable property is termed referential transparency.
The price we pay for referential transparency is that we have to introduce as a separate ad hoc entity and cannot use the more natural where is some kind of operator applicable to the concept con. Namely, the sentence
would be supposed to express that p knows q's phone-number, but expresses only that p understands that number. Yet with transparency and the fact that we could derive the former statement from the latter.
A further consequence of our approach is that feasibility of a strategy is a referentially opaque concept since a strategy containing is regarded as feasible while one containing is not, even though these quantities may be equal in a particular case. Even so, our language is still referentially transparent since feasibility is a concept of the metalanguage.
A classical poser for the reader who wants to solve these difficulties to ponder is, `George IV wondered whether the author of the Waverly novels was Walter Scott' and `Walter Scott is the author of the Waverly novels', from which we do not wish to deduce, `George IV wondered whether Walter Scott was Walter Scott'. This example and others are discussed in the first chapter of Church's Introduction to Mathematical Logic (1956).
In the long run it seems that we shall have to use a formalism with referential opacity and formulate precisely the necessary restrictions on replacement of equals by equals; the program must be able to reason about the feasibility of its strategies, and users of natural language handle referential opacity without disaster. In part 5 we give a brief account of the partly successful approach to problems of referential opacity in modal logic.