|WikiProject Philosophy||(Rated Stub-class)|
The sentence "Mary knows that Cicero is a great orator" is not necessarily referentially opaque. Maybe Mary attends one of Cicero's speeches, but is unaware of the identity of the speaker. By experiencing the speaker's immense oratorial skill, Mary comes to know that whoever she is watching is a great orator. In this case, it is fine to say "Mary knows that Cicero is a great orator," even though she doesn't know it is Cicero that she is watching. And now the sentence is referentially transparent, since we could also say "Mary knows that Tully is a great orator," "Mary knows that the father of Tullia is a great orator," etc. (Seanb (talk) 17:23, 19 May 2010 (UTC))
- That's highly controversial but I think you're expressing a view Prior (1963) held regarding opacity. The question is what the objects of belief are. Are they not-so-fine-grained entities like sets of possible worlds or even Russellian structured propositions, or are they something more fine-grained like hyperintensional entities? If they're the former then Mary knows that Cicero is a great orator, even if you asked her "Is Cicero a great orator?" and she responds "I have no idea". That's an odd consequence of the view (i.e. that non-hyperintensional entities are the objects of belief). So I think that's one strong reason to discount the view and to go hyperintensional. In that case, clearly Mary doesn't know that Cicero is a great orator. Just ask her! Nortexoid (talk) 09:33, 22 May 2010 (UTC)
The artificial language adaptation here doesn't work. Cicero has two names (at least), so why should [Cicero] return "Cicero" as opposed to "Tully"? The argument is assuming that the function not only looks at the object passed to it, but the name of the object used to pass it in. So it's looking at it as a two-place function, such that [Cicero,"Cicero"] returns "Cicero" and [Cicero,"Tully"] returns "Tully", but in that case there's no real reason to pass in the object at all!
I think the quotation example isn't entirely wrong, but it is too weak to expose where opacity is most often found in programming languages. A better example would be the use of thunks (call-by-name) or pointers (call-by-reference) as opposed to call-by-value as most mathematical notations are defined. The importance of the context then becomes evident; some grammatical contexts descend the reference chain to its "final" referent, others peel off just a layer, others preserve all the nuance and ambiguity of the raw identifier. GJaxon (talk) 01:32, 27 September 2012 (UTC)