Identical shared meanings not required for communication: an example from computer programming.
Simon Convy    September 2000

This paper argues against a view put by Gottlob Frege who said that the sense of a word is objective, commonly held, and not “a part or mode of the individual mind”.
To give the argument a practical flavour, the paper describes two computer programs that use words to communicate with each other despite the the programs having different senses for those words.  Of course programs and humans are very different things, but the model of word usage by the programs will be sufficient, I argue, to disprove the claim made by Frege. 
The paper concludes by discussing what relevance this might have to language use in everyday life.
The main point of this paper is that for successful communication we only need meanings that are sufficiently similar for the particular circumstances. 
Frege proposes that the sense of a word is common and identical.
To illustrate his case, Frege gives the example of the name ‘Bucephalus’, the favourite horse of Alexander the Great.  A painter, a horseman, and a zoologist will probably connect different ideas with that name because each individual person has different experiences of horses or depictions and stories of horses.  These ideas of these individuals will not be the commonly held sense of the name ‘Bucephalus’, says Frege. 
The idea is subjective: one man’s idea is not that of another. ... This constitutes an essential distinction between the idea and the sign’s sense, which may be the common property of many and therefore is not a part or a mode of the individual mind.   
In the light of this, one need have no scruples in speaking simply of the sense, whereas in the case of an idea one must, strictly speaking, add to whom it belongs and at what time. 
Although Frege wrote this some time ago, around 1890, the notion of commonly held meanings is not dead.  I’ve heard some of my contemporaries say the same: they have either agreed with Frege, saying that Frege is right; or they have said something similar to what Frege said.  The notion of commonly held meanings has a long lineage.  The character Parmenides in Plato’s dialogue of the same name says of the Forms:
...if a man refuses to admit that Forms of things exist ..., he will have nothing on which to fix his thought, ... and in so doing he will completely destroy the significance of all discourse.
Francis Cornford comments:
Parmenides here accepts the fundamental thesis of Plato’s theory: Forms are necessary ... as constant meanings of the words used in all discourse.  Otherwise, in any communication we shall not be thinking and speaking of the same things; ...
Supporters of the theory of shared identical meanings need not claim that everyone has to share the same meanings; they only need to claim that where communication is successful there are shared meanings.  They can say that if the audience does not assign the same meanings to the words, then the audience will misunderstand the writer or speaker (and this, as we will see, is true on occasions but is not the full story).
Some take the eternal Forms to be the ideas of God.  Seneca puts it this way:
God has within himself models like [the sculptor] of everything in the universe, his mind embracing the designs and calculations for his projects; he is full of these images which Plato calls [Ideas], eternal, immutable, ever dynamic.  So although human beings may perish, humanity in itself - the pattern on which every human being is moulded - lasts on, and while human beings go through much and pass away itself remains quite unaffected.
(The reader will notice that where Frege, or his translators, use the word ‘idea’ for an individual’s thought, the word ‘Idea’, which we might write with a capital ‘I’, is also used in English for Plato’s Forms.)
Robert Brumbaugh expresses Plato’s theory with these words:
Although each time I pronounce the word ‘two,’ the sounds I make are made in a new context and on a new occasion, the number two, which is ‘What I mean,’ is the same.  There must be such meanings that stay put if communication is to be possible at all, ...
This essay will contest this point by describing two programs that communicate successfully without sharing identical meanings.  But first we follow some other comments by Frege which will help us avoid ambiguities in the expression ‘what is meant’ by a word. 
Frege on sign, sense, reference, and idea
Frege makes useful distinctions between sense, reference, and idea.  It is worth following him in these distinctions because discussions on word meaning can be a muddle of these terms.
Of a sign such as a proper noun, Frege says that the proper name “expresses its sense and stands for or designates its reference”.  The sense is related to our commonly held thoughts, he says, and might be suggested or conveyed by a description.  For example the sense of the name ‘Aristotle’ could be given by the description, ‘the pupil of Plato and teacher of Alexander the Great’.  The referent we could characterise as the thing that meets the description, if any thing does.  “In grasping a sense, one is not certainly assured of a reference.”
Examples we could give of a sense without a corresponding referent is the name ‘Pegasus’ or the noun ‘centaur’ (assuming, at least for the sake of the illustration, that no centaurs or Pegasus ever existed).  (I would argue that the name ‘Aristotle’ no longer has a reference, if we mean that ancient philosopher, because he no longer exists.)
Here is another example to illustrate sense and reference.  In this example two different senses can have the same referent.
•	The sense of the name ‘Phosphorus’ could be, if put in words, ‘the morning star’.  The sense of ‘Hesperus’, the ‘evening star’.  
•	The reference of both ‘Phosphorus’ and ‘Hesperus’ is the same planet.  
The terms ‘cordates’ and ‘renates’ differ in sense but not in reference.
Two possible responses to Frege on sense and reference
At this stage I would like to separate my viewpoint from two other possible responses to what Frege says on sense and reference.
•	Some will argue that words apply directly to their objects independently of what people think the words mean.  This view downplays, or completely removes, the role of sense in word meaning. 
•	Others will argue the opposite, that words never refer to objects and only have senses.   This view might say that there are only texts and that there is no question of whether a text is true of some objects or situation. 
My argument does not employ either of these two responses; and I do not accept those views anyhow.  My argument with Frege is merely that word meanings need only be sufficiently similar for the particular circumstances.  
Here is a simple example of what I argue expressed in some lose terminology.  You might think that I am fudging the case by describing special circumstances.  Bill thinks that horses include what we call horses,zebras and donkeys but not cattle.  Fred thinks that horses includes horses and cattle but not zebras and donnkeys.  But if Bill happens to own a horse and camel, and he asks Fred to saddle his horse, then Fred will saddle the correct animal.  Bill and Fred achieved the communication required for that particular circumstance without sharing identical meanings.
The example of the two programs will have a similar success in communicating, despite the programs having different criteria for selecting objects that are to be designated by the words they use.
Description of the two programs
We can use the three terms from Frege, sign, sense, and referent, to describe the two programs: 
•	Signs. For the programs these will be a string of letters.  For example ‘BLOG’ and ‘BLIG’.  These strings of letters will function as common nouns for the programs.
•	The referents for the signs.  For the programs these will be data objects which the programs manipulate.
•	The sense of the signs will be represented in the programs by criteria for selecting the data objects.  The two programs will have different criteria for identifying BLOGs and BLIGs.  
Program A has these criteria:
•	A BLOG begins with a string of letters, has other strings of letters or numbers, and ends with a string of letters. 
•	A BLIG begins with a string of numbers, followed by a second string of numbers, followed by strings of any kind. 
Program B has these criteria:
•	A BLOG begins with a string of letters, followed by a string of numbers, and has other strings of letters or numbers. 
•	A BLIG begins with a string of numbers, followed by strings of any kind. 
The two criteria for BLOGs are similar but different, as are the two criteria for BLIGs.
The objects to which the programs refer are as follows. There are four objects:
Object 1	AAAA	1111	AAAA	AAAA	
Object 2	AAAA	1111	1111	AAAA	
Object 3	1111	1111	AAAA	AAAA	
Object 4	1111	1111	1111	1111	
The communication between the programs is in the form of commands given by Program A to Program B.  There are four possible commands:
‘Maximise BLOGs’	In response Program B will identify the BLOGs and set all the letters to ‘Z’s and all the numbers to ‘9’s	
‘Minimise BLOGs’	In response Program B will identify the BLOGs and set all the letters to ‘A’s and all the numbers to ‘0’s	
‘Maximise BLIGs’	In response Program B will identify the BLIGs and set all the letters to ‘Z’s and all the numbers to ‘9’s	
‘Minimise BLIGs’	In response Program B will identify the BLIGs and set all the letters to ‘A’s and all the numbers to ‘0’s	
You will notice something of a fudge in my selection of the objects.  The fudge is this: that the same objects will fit the criteria for both programs.  I have selected the objects so that the programs will not fail to communicate.  
Let us work this through in one example:
Program A requests ‘Maximise BLIGs’. Program A would reference objects 3 and 4 by its criteria, or sense, for the noun ‘BLIGs’. Program B would apply its criteria for BLIGs and maximise the same objects 3 and 4.  The result would be:
Object 1	AAAA	1111	AAAA	AAAA	
Object 2	AAAA	1111	1111	AAAA	
Object 3	9999	9999	ZZZZ	ZZZZ	
Object 4	9999	9999	9999	9999	
The result for Program A is what Program A expects, even though Program B does not share the same meanings with Program A.
Word-using behaviour in the programs is not intentional behaviour
We often describe the workings of programs in anthropomorphic terms, as if the programs had purposes or intentions in the way humans do.  For example we might say that a programs wants to calculate the mortgage payment, or that a program seeks to find the record of your bank account in the database.  It would be more accurate to say that these intentions belong to the programmer who wrote the program; and that the program is merely a blind mechanism.  Perhaps in the future there will be programs so sophisticated that they can truly said to have purposes and intention, but the two programs described in this paper have no such sophistication.
This paper does not aim to attribute intentionality to the two programs described here.  Where the papers says that the two programs have meanings for words they use, the paper will describe this sense of ‘meaning’ (or ‘sense’) in terms of the behaviour of the programs.  
This can best be illustrated by comparing three different methods that the programs could use for communicating.  The comparison will help explain how the two programs use words to communicate. 
•	By a list of indexes to the objects
•	By a character string (word) associated with a list of indexes
•	By a character string (word) associated with a description of the objects
For the first method the programs would pass messages that contain lists of indexes to the objects.  For example:
‘Maximise key2 key6 key3 key7’	
If the objects were held in a database, then each object could be identified by a key into the database.  This key could be the usual database key or the address of the record in the database.  If the objects were held in memory (often called ‘RAM’ in PCs) then the index for each object could be its address in memory.
For the second method, the programs could substitute a character string for the list of keys.  For example: 
‘Maximise keylist1’	
Each program would have a table that associates the character string with a list of keys.  The table could look like this:
‘keylist1’	key2 key6 key3 key7	
‘keylist2’	key1 key2 key9	
As long as the two tables had the same list then they would communicate successfully. 
For the third method, the programs could employ a set of criteria in the place of the list of keys.  Each program could have a table that associates each character string with criteria for selecting objects.  The table could look like this:
‘keylist1’	Objects with such-and such characteristic	
‘keylist2’	Objects with so-and-so characteristics	
The message for the third method is the same as for the second method. For example: 
‘Maximise keylist1’	
This third method is the method employed by the two programs.  Where this example has ‘keylist1’ or ‘keylist2’ as the character string, the programs use ‘BLOGs’ and ‘BLIGs’.  
The difference between the second method and the third is that the second method enumerates all the objects to be classed as, say, a BLIG, whereas the third method describes how to identify a BLIG.  If we humans used words such as ‘dog’ according to the second method we would need to enumerate all the dogs in the world: Spot, Fido, Rex, and so on.  If we use the word ‘dog’ in a manner that reflects the third method, then we merely need to be able to identify a dog as a dog if we meet one.  We merely need some understanding, or definition, of what is a dog. 
It is important for the purposes of this paper to note the following:
•	If the programs used the second method and had different lists of keys, then they would fail to communicate successfully.  By not successfully I mean that ProgramB would manipulate the wrong set of objects for ProgramA.  This would be true in every case where the two programs had a different list and used the word for that list.
•	Yet when the two programs use the third method and have different criteria, then there can be situations when the two programs do communicate successfully.  In some cases, but not all, ProgramB would manipulate the correct set of objects for ProgramA.
By comparing these three methods, my purpose is to illustrate that when talking of the use of words by the programs, that this use is a matter of programming method and not something that depends on attributing intentionality to the programs.  I do not think is possible to describe the workings of a program without using anthropomorphic terms, except where the actual instructions in the program are listed, or where the anthropomorphic term is regarded as a general term (a description or macro) for those instructions.  It is the latter case that I hope applies to this paper.  We now move on to consider situations where communication fails and then to consider how the example of the programs might relate to human use of words.
What happens when the two programs fail to communicate?
The description of the data objects in the example of the two programs was constructed (or fudged) so that the two programs would not fail in their communications.  It would be easy to create new objects that caused the programs to fail in their communication.
A similar situation can be imagined in farmyard life.  Let us begin with two farmers who have different meanings for the word ‘horses’ and different meanings for the word ‘cattle’ but because of the many ways in which horses and cattle differ the two farmers never failed, so far, to communicate.  I fudged the data in the case of the two programs and nature often does something similar: there is a large gap between the appearances of horses and cattle, or at least in the horses and cattle of our farmer’ locality.
Let us now imagine that we genetically engineer a hybrid animal that is indeterminately half horse and half cow.  One farmer might class this animal as a cow because it can be milked while other farmer might class it as a horse because it is leggy enough to pull a cart.  (This is a simple example but it will do.)
The two farmers have a number of options with regard to how they will name the new type of animal.  These include:
•	Create a new word
•	Agree to call it a ‘horse’
•	Agree to call it a ‘cow’ or ‘bull’ (Is there a word for cattle in the singular that covers both genders?)
•	Be sensitive to each other’s usages and use both words depending on the context
•	Refuse to agree on anything
The two programs, if I could write them, would do the same.
What we can say is that parties do adjust their meanings once a failure caused by different word meanings is recognised.  With sufficient programming the programs could do what humans do: we notice that someone has applied a word differently to how we would, and then we negotiate some new understanding.
Logicians tend to argue for some perfect language where mistakes cannot occur.  Frege for example, is concerned with a logically perfect language where all proper names have a reference.  We can note however, that any perfect language might be a fine invention, but by its very perfection it could not be a description of language in our daily lives. 
General Discussion
There are some objections I foresee to the examples of the programs:
•	The programs are too simple to apply to human use of language.  Specifically the use of the criteria is too simple. 
•	The criteria are literal definitions of word meanings, but human word use is permeated with metaphorical usages.
•	What about the model of communication as a transfer of thoughts?  
It is true, as stated in the first objection, that the criteria as used by the programs are so simple as to be poor representations of how we comprehend the sense of a word.  For any one person, the sense of the word ‘horse’ for instance, would be a distillation of many experiences, including indirect experiences of horses in cinema and illustrations.  But for the purposes of this paper we can say that increasing the complexity of criteria does not lead to identity of criteria.  Increased complexity does not provide support for Frege’s position. 
The first objection might be extended to object to criteria as such (rather than their complexity).  We humans can never put into words the sense of words we use; and when we do give a definition, that definition is an artificial thing, being more a rule for applying the word than the sense.  Take the words ‘chair’ or ‘shirt’ for instances.  Who can define the meaning (sense) of those words?  In fact, our normal inclination when asked to give the meaning of a word is to point to examples.  Ask me what is a shirt and I will show you those items of clothing.
This objection can be answered, I think, by saying that individuals’ conceptions of objects such as chairs and shirts are built up from many varied encounters with those objects.  We could not be expected to summarise those encounters into a simple definition.  But, for the point at issue, we would each base our application of the words ‘chair’ or ‘shirt’ on our conceptions of those objects; those conceptions being the summations of our individual experiences.
The second objection, of metaphorical use, can be resolved by considering what is metaphor and then recognising that this paper’s argument can be applied to metaphors.  Let us take Nelson Goodman’s definition of metaphor as a transfer of schema from one realm to another.  A ‘king’ tide for example, suggests to me some parallel between the relative prominence of the first citizen to the populace and the relative prominence of the tide when the sun and moon pool their influence over the waters.  For another person, the king tide might relate to the role of the king of the planets (where the sun is classed as a planet).  We could happily talk about a king tide without realising that we had differing meanings for the metaphor.  And even if we both had the same metaphorical sense for the term ‘king tide’, we would understand the notion of a king according to our differing life histories.  Successful communication using metaphor needs only a sufficiently similar grasp of the transferred schema.  As with literal meanings, they do not need to be common and identical for communication to be successful.
The third objection proposes a model of communication as a transfer of thoughts.  This model proposes that the speaker uses language to share his or her thoughts.  Here is one elaboration of this model:
1.	A speaker has some thoughts that he or she wants to impart to a listener. 
2.	The speaker uses combinations of words to signify those thoughts.
3.	The listener hears the words and reconstructs the thought in his or her own mind.
There are no doubt many variations of this model.  It is, I think, the most commonly proposed model for communication and language use.  It seems to express what we often want to achieve when talking or writing: I want you to understand me, I want you to appreciate how I see things, I want to change your conception of the situation, and so on.  The notion of common shared meanings is central to this model because common thoughts are the goal of the process and the means for achieving that goal.
My response to this model is that in practice it reduces to the model illustrated in this paper.  We might have the intention to communicate our thoughts, but we have no direct way to judge the results. We cannot look into the mind of another person.  We might feel reassured when the other says ‘I hear you and agree with you’, or paraphrases what we said, but this is no guarantee that we were understood.  Certainly it is no guarantee that we were completely understood, which should be possible if there were common identical meanings.  
To judge the success of our communications we can only rely on observing how the other behaves: how our audience responds, what they say, what they do.  Where we find the result is not what we intended we add corrective comments.  This returns us to the corrective process of the model in this paper.  We cannot read others’ minds; thus there is no feedback process, or no corrective system, other than by what the listener reveals in his or her behaviour and utterances.  The speaker has no direct way to judge the success of his or her communicative intention.
As a general conclusion then, I would say that the requirement that there are shared identical meanings for words is not applicable to ordinary life.  In some perfect world, or among the eternal Platonic Forms perhaps, there are such things, but in every day life we just muddle along fairly well.