What is/​are the definition(s) of “Should”?

My Model

Consider an AI. This AI goes out into the world, observing things and doing things. This is a special AI, though. In converting observations into actions, it first transforms them into beliefs in some kind of propositional language. This may or may not be the optimal way to build an AI. Regardless, that’s how it works.

The AI has a database, filled with propositions. The AI also has some code.

  • It has code for turning propositions into logically equivalent propositions.

  • It has code for turning observations about the world into propositions about these observations, like “The pixel at location 343, 429 of image #8765 is red”

  • It has code for turning propositions about observations into propositions about the state of the world, like “The apple in front of my camera is red.”

  • It has code for turning those propositions into propositions that express prediction, like “There will still be a red apple there until someone moves it.”

  • It has code for turning those propositions into propositions about shouldness, like “I should tell the scientists about that apple.”

  • It has code for turning propositions about shouldness into actions.

What is special about this code is that it can’t be expressed as propositions. Just as one can’t argue morality into a rock, the AI doesn’t function if it doesn’t have this code, no matter what propositions are stored in its memory. The classic example of this would be the Tortoise, from What the Tortoise said to Achilles.

Axioms—Assumptions and Definitions

When we, however, observe the AI, we can put everything into words. We can express its starting state, both the propositions and the code, as a set of axioms. We can then watch as it logically draws conclusions from these axioms, ending on a decision of what action to take.

The important thing, therefore, is to check that its initial axioms are correct. There is a key distinction here, because it seems like there are two kinds of axioms going on. Consider two from Euclid:

First, his definition of a point, which I believe is “a point is that which has no part”. It does not seem like this could be wrong. If it turns out that nothing has no part, then that just means that there aren’t any points.

Second, one of the postulates, like the parallel postulate. This one could be wrong. Because of General Relativity, when applied to the real world, it is, in fact, wrong.

This boundary can be somewhat fluid when we interpret the propositions in a new light. For instance, if we prefix each axiom with, “In a Euclidean space, ”, then the whole system is just the definition of a Euclidean space.

A necessary condition for some axiom to be a definition of a term is that you can’t draw any new conclusions that don’t involve that term from the definition. This also applies to groups of definitions. That is:

“Stars are the things that produce the lights we see in the sky at night that stay fixed relative to each other, and also the Sun” and “Stars are gigantic balls of plasma undergoing nuclear reactions” can both be definitions of the word “Star”, since we know them to be equivalent. If, however, we did not know those concepts to be equivalent (if we needed to be really really really confident in our conclusions, for instance) then only one of those could be the definition.

What are the AI’s definitions?

Logic: It seems to me that this code both defines logical terms and makes assumptions about their properties. In logic it is very hard to tell the difference.

Observation: Here it is easier. The meaning of a statement like “I see something red” is given by the causal process that leads to seeing something red. This code, therefore, provides a definition.

The world: What is the meaning of a statement about the world? This meaning, as we know from the litany of Tarski, comes from the world. One can’t define facts about the world into existence, so this code must consist of assumptions.

Predictions: The meaning of a prediction, clearly, is not determined by the process used to create it. It’s determined by what sort of events would confirm or falsify a prediction. The code that deduces predictions from states of the world might include part of the definition of those states. For instance, red things are defined as those things predicted to create the appearance of redness. It cannot, though, define the future—it can only assume that its process for producing predictions is accurate.

Shouldness: Now we come to the fun part. There are two separate ways to define “should” here. We can define it by the code that produces should statements, or by the code that uses them.

When you have two different definitions, one thing you can do is to decide that they’re defining two different words. Let’s call the first one AI_should and the second Actually_Should.

ETA: Another way to state this is “Which kinds of statement can be reduced, through definition, to which others kinds of statements?” I argue that while one can reduce facts about observations to facts about the world (as long as qualia don’t exist), one cannot reduce statements backwards—something new is introduced at each step. People think that we should be able to reduce ethical statements to the previous kinds of statements. Why, when so many other reductions are not possible?

Is the second definition acceptable?

The first claim I would like to make is that Actually_Should is a well-defined term—that AI_should and me_should and you_should are not all that there is.

One counter-claim that can be made against it is that it is ambiguous. But if it were, then one would presumably be able to clarify the definition with additional statements about it. But this cannot be done, because then one would be able to define certain actions into existence.

Is the second definition better?

I’m not sure “better” is well-defined here, but I’m going to argue that it is. I think these arguments should at least shed light on the first question.

The first thing that strikes me as off about AI_should is that if you use it, then your definition will be very long and complex (because Human Value is Complex) but your assumption will be short (because the code that takes “You should do X” and then does X can be minimal). This is backwards—definitions should be clean, elegant, and simple, while assumptions often have to be messy and complex.

The second thing is that it doesn’t seem to be very useful for communication. When I tell someone something, it is usually because I want them to do something. I might tell someone that there is a deadly snake nearby, so that they will be wary. I may not always know exactly what someone will do with information, but I can guess that some information will probably improve the quality of their decisions.

How useful, then to communicate directly in “Actually_should”, to say to Alice the proposition that, if Alice believed it, would cause her to do X, from which she conclude that “Bob believes the proposition that, if I believed it, would cause me to do X”.

If, on the other hand, Bob says that Alice Bob_should do X, then Alice might respond with “that’s interesting, but I don’t care”, and would not be able to respond with “You’re wrong.” This would paper over the very real moral disagreement between them. This is often advisable in social situations, but rarely useful epistemically.

How do we know that there is a disagreement? Well, if the issue is significant enough, both sides would feel justified in starting a war over it. This is true even if they agree on Alice_Should and Bob_Should and so on for everyone on Earth. That seems like a pretty real disagreement to me.