Kripke has a famous argument for the existence of rigid designators that is as follows:
axiom: x=y → ∀F(Fx → Fy)
defintion: Pz = □(x = z)
thus: x=y → (□(x = x) → □(x = y))
axiom: □(x = x)
∴ x=y → □(x = y)
Which means that whenever x is equal to y then x is necessarily equal to y. This seems absurd, after all the current president of the United States is George Bush, but it isn’t a necessary fact (true in all possible worlds) that George Bush is the current president. Kripke says that this is because the second “axiom” I introduced, that □(x = x), isn’t actually an axiom at all, and that when x is a definite description (a description that picks out a single individual based on some properties), then sometimes x isn’t necessarily equal to x; the person who is the current president (in this world) isn’t always the current president (in all possible worlds).
But maybe Kripke has been pulling a fast one. After all in the expression □(x = x) clearly the two x variables must refer two the same object. And this is not the only step that may seem questionable. After all what does it really mean to say that x is equal to y in all possible worlds, are we illegitimately leaning on inter-world equality? So let’s pull apart the modal operator into something that is easier to work with, specifically a set of possible worlds, so that we can state explicitly what the variables within the modal operator mean. W then will be our set of possible worlds, and we can think of each world that is a member of this set as itself a set containing all the objects in that world. A statement of the form □( … ) we will take to be equivalent to ∀w∈W( … ). Normally modal operators are followed by quantification, which is understood to be limited in scope by a single world. Let us call the world we are in, the real world, Q. This means that normally our quantification statements, such as ∀x(…) are really of the form ∀x∈Q(…). And obviously quantification within the scope of the modal operator, such as □∀x( … ), would become ∀w∈W∀x∈w( … ). But this alone would transform our statement of equality into: ∀w∈W(x = x). Clearly that isn’t we meant, because since we haven’t introduced a quantification the variables name the same objects they did before, objects in this world, and thus the statement says nothing more than x=x. Thus we also need a counterpart function. The counterpart function, C, takes two arguments, a world and an object in some world, and returns an object in the given world that is the counterpart of that object. Thus our statement about equality should really be transformed into: ∀w∈W(C(w,x) = C(w,x)), meaning that in all worlds the appropriate counterpart of x in that world is the same as itself.
Kripke’s conclusion could thus be stated as: x=y → ∀w∈W(C(w,x) = C(w,y)). And this does seem to be true, in all cases, since ∀w∈W(C(w,x) = C(w,x)) clearly is a tautology. So what did Kripke mean when he said that it didn’t necessarily hold for definite descriptions? Well at the moment we have been picking out our objects simply with a variable name. Many, beginning with Russell, argued that when we use a name, like x, in our language what we are really doing is employing some definite description. So when we say “Bob” we really mean the man who … where … is some attribute or attributes that uniquely pick out a single person. Formally this means that to talk about a specific object we must have some definite description for it, say D, and thus sentences containing that object are properly formalized as ∃!x(Dx & …). And if we were to recast Kripke’s argument in these terms it would become:
(given the definition Pz = ∀w∈W∃!s∈w(Ds & s = C(w,z)))
∃!x∈Q∃!y∈Q(Dx & Ey & x=y → (∀w∈W∃!s∈w(Ds & s = C(w,x)) → ∀w∈W∃!s∈w(Ds & s = C(w,y)))
To make this result in the seeming absurd conclusion that:
∃!x∈Q∃!y∈Q(Dx & Ey & x=y → ∀w∈W∃!s∈w(Ds & s = C(w,y))
which says that if x and y are the same object (referred to by different definite descriptions) then in all worlds the object that is picked out by the definite description that picks out x in our world is the counterpart of y we would need to be able to assert that
∀w∈W∃!s∈w(Ds & s = C(w,x))
which states that in all worlds the object that is picked out by the definite description that picks out x in our world is the counterpart of x in that world. But clearly this is false. For example the description “the current president” picks out George Bush in our world, but it doesn’t necessarily pick out the counterpart of George Bush in all possible worlds (since he didn’t win the election in all possible worlds).
Now with these expansions in place, which hopefully make Kripke’s position more precise, we can turn to the question of the existence of rigid designators. A rigid designator is conceived of as some kind of name that refers only to an individual and that individual’s counterparts in other possible worlds. And as Kripke’s theorems show when dealing with rigid descriptors and definite descriptions we can prove different conclusions. But even if we accept this difference we don’t necessarily have to accept the fact that rigid designators exist. We can attack rigid designators in two ways. The first is to argue that we don’t actually use them in our discourse, not even when we are using proper names, and the second is to argue that rigid descriptors are actually just a special kind of definite descriptions, at least logically.
The first argument, that our use of proper names really aren’t rigid designators, is not something that I can formally prove at the moment. I can certainly provide some compelling examples that seem to indicate it is not though. Consider then a man named Bob. You know Bob and feel confident that when you talk about Bob you are referring to him. But one day you find out that there are actually two identical people named Bob, and that you have been interacting with the both of them, but not at the same time. Now the name Bob, under Kripke’s theory, should have been a rigid designator, which gets linked in a causal fashion to some object. This means that really your use of “Bob” should have been rigidly designating one or the other of them. But it certainly doesn’t seem that way, it seems like you weren’t properly referring to either of them. Of course we might argue that rigid designation is used only when considering counterfactuals, but since we can consider counterfactual worlds that contain duplicates, in which case the rigid designator seemingly fails to designate, there are problems there too. It certainly seems plausible that the proper names we thought of as rigid designators were really definite descriptions centered around having a certain name, or responding to that name, ect.
A stronger argument against rigid designators is to show that certain definite descriptions can operate in the same way as rigid designators, and thus that rigid designators, if they are used at all, are really a subset of definite descriptions and not their own category. Specifically if we have some object x, which meets some description D, we can construct a definite description, P, that rigidly designates that x as follows: Pz = ∃!x∈Q(Dx & x = C(Q,z))) (assuming that the counterpart relation is reflexive, which seems reasonable, and even if it isn’t we can still define Pz, it is just more complicated). Given this description the claim: ∀w∈W∃!s∈w(Ds & s = C(w,x)) becomes ∀w∈W∃!s∈w(x = C(Q,s) & s = C(w,x)) which is always true, and hence the conclusion can be made that ∃!x∈Q∃!y∈Q(Dx & Ey & x=y → ∀w∈W∃!s∈w(Ds & s = C(w,y)) when the definite description is one of these special cases. And thus we have shown that definite descriptions can play that same role as rigid designators, in principle. Whether we can actually use such definite descriptions depends on the nature of the counterpart relation, and I side with David Lewis in thinking that there is no counterpart relation that makes real sense unless we define the counterparts as meeting certain essential requirements, basically defining counterparts in terms of definite descriptions. But I will leave a detailed defense of that position for another day.
p.s. You have no idea how tedious doing math in html/Unicode is.