Real quick, let’s figure out if two people believe in the same God, decide if an agent can ever decide otherwise, and dissolve the Liar’s Paradox.
In the last post we discovered, to our deep dismay, that object properties are roundabout expressions of causal relationships, and everything “works the same” whether we think of properties as “features within the object” or as “features of the world in total” or whatever, really — it’s up to us how we’d like to frame it.
And in the post before that we realized, to our great consternation, that the litmus criteria for naming things is never the empirical exercise we’d wish it to be. Indeed, whether we call a Cygnus atratus a “black swan” or “not a swan (since it isn’t white)” is up to us, too.
Let’s take what we’ve learned, and the emotional trauma that came along with it, and squish it all together into a new lesson: Equivalence criteria is up to us, too.
Let’s go back to programming, where we set up classes of objects according to properties and functionality we think they should have.
Today we’ll build a Car.
Think of all the properties a Car has. Its Make, its Model, its Year, its Color, its Fuel Remaining, its Mileage (or Kilometrage), its… um… Name, for people who name their cars? Anyway, you get the drift.
Now, programming languages come with an equivalence operator “==” for basic things like integers. “5 == 5” takes a left operand of 5 and a right operand of 5 and returns “true,” whereas “5 == 7” takes a left operand of 5 and a right operand of 7 and returns “false.”
But these languages don’t automatically come with a meaningful equivalence operator for the new Car class we just invented. We have to write that function ourselves.
This function takes two parameters — two Car instances (what normies might call “Cars”) — sets them side by side, and then returns “true” or “false” depending on if they’re the same or not.
But just like with litmus criteria for labeling rivers, it isn’t totally clear which properties we should care about when deciding if two things are equivalent — that is, what criteria we should use for the “they’re the same” litmus.
In other words, when does Car A = Car B? Is “A = B” true if they share Make, Model, Year, and Color? Or must they also share Fuel Remaining to be “=”?
Who decides?
The programmer!
And if the programmer has different contexts, one in which a narrow, picky sense of equivalence is required, and another in which a looser sense is needed? Well by golly, that programmer can write another equivalence function and just give them different names.
With me so far?
Now let’s talk about something you’ve seen in all sorts of philosophy papers: Folks just throwing it out there that you’re the way you are, sure, but you could have been otherwise.
What’s actually happening there? Well, there are two sense of equivalence at play:
This revelation should be slightly unsettling, because that phrase is almost never expressed as a hybrid of distinct equivalence criteria in a single sentence. But that’s the only way it works. You’re never not-you; that would be a contradiction. But you can be not-you if we sloppily invoke two equivalence criteria, one narrow and one loose, simultaneously.
I mean, good heavens. How many trees have been destroyed printing papers on “transworld identity” while flagrantly neglecting any of this?
Let’s unsettle ourselves further by throwing this dark secret at a few classic philosophy conundrums.
“Hey Buddy, What’s On Your Mind?”
Well, the instant you make a voluntary decision, there’s something on your mind, and it just so happens to match the particular decision you just made. Given that premise, what’s on your mind when you opt chocolate over vanilla is not what’s on your mind when you do the reverse.
And, of course, at that one moment, there’s one set of things on your mind (and no other set of things).
So given a particular-action-inclined thing on your mind at that instant, and given we’re talking voluntary action only…
… you can’t do otherwise.
Unless, of course, you’re sloppily invoking two different equivalence criteria simultaneously:
This is just a wee bit important for the whole free will & moral responsibility discourse/mess, but you wouldn’t know it, would you? The slop is obscured, the train rolls on, it derails and explodes, another train leaves the station.
We’ll talk more about how to fix that whole discourse in a later post. It is fixable.
“His God is Her God”
Seen the above debate before? Just like with “Is Die Hard a Christmas Movie?” the chatterstorm is endless because the question is purely a function of which criteria one opts to use, but over and over again, participants act like the question is an empirical matter.
“The Set Contains an Element that is Itself”
See that “is” up there?
If your standards are high enough, self-reference is impossible — only “self”-reference is possible.
This of course trivializes the Liar’s Paradox, splaying out innumerable identities that can have their own individual truth values, but tragically never obtain them:
(Those aforementioned standards don’t even have to be that high. They just have to include, “I care about a thing’s local relationships in some hierarchy or reference strata.”)
This care dissolves not just Liar’s, but any paradox that relies on equivocating across strata.
A 2m informal rundown:
And since it’s up to us whether we care, the paradoxy lives or dies accordingly.
Our hand is on the comparator, so our finger is on the trigger.
Just found your channel today, and I've liked all your posts -- including this one. (I didn't click the like button on every one, tho', so I also /haven't/ liked all of them. No contradiction there.)
I actually use the example of a Car when I talk in class about reference and co-reference -- the one car that belongs to both my wife and me, and a separate car with the same make, model, year and colour owned by my neighbour Jennifer down the street. Even picked the same six properties, and used Q4 for the .equals method. And I relate it to the polysemous question "Do I have the same car as her?" to motivate the distinction between == and .equals.
So I'm quite taken with your articles. But I'm not sure your strategy for resolving paradoxes works. Consider Russell's paradox. If I create a Set of Object in Java, I can add itself to itself:
Set<Object> theSet = new HashSet<>();
System.out.println(containsItself(theSet)); // prints "false"
theSet.add(theSet);
System.out.println(containsItself(theSet)); // prints "true"
I can use a foreach loop (or .stream().anyMatch(...)) in the method to find if a set contains itself:
public static boolean containsItself(Set<Object> givenSet) {
for (Object anElement : givenSet) {
if (anElement == givenSet) {
return true;
}
}
return false;
}
There is only one object involved here -- the HashSet instance that theSet, givenSet and anElement all refer to. There is no "carbon copy" of the set; there is no distinct "version" of the set inside the set. The == operator determines that givenSet and anElement are referencing the same object -- pointing at the same hunk of memory. It doesn't even look at the HashSet's properties. It doesn't dereference the variables.
The code needs two variables so that the programmer can specify the two roles it needs to play (content and container), but neither /variable/ contains an object. Each variable contains a /reference/ to the object -- a way of talking about (or to) that object. If my wife gets her car painted green, then my car will be green (her car == my car), but Jennifer's car will still be red (my car != her car). If I add my car to theSet (i.e. the object I'm talking about when I use that variable), then the set that theSet contains will also contain my car, because it's the object that contains (and is contained), not the variable.
So the metaphysics of Java allows a set to contain itself -- not just a copy of itself. Which suggests that your method for resolving paradoxes doesn't apply in that metaphysics.
An even simpler example, without the content/container distinction:
public class SelfReferencer {
public final SelfReferencer me = this;
}
Thanks for sharing, Stan. You know I always enjoy your thoughts.