When talking about culture and cultural differences, we typically think in terms of values and beliefs. One culture tends to value X or believe in Y, while another culture has other beliefs and values. Or one person values X and another person does not. But why did beliefs and values evolve? Were they been reproduced because they were useful in solving some problem? A value would start out as an accident, but it is reproduced (if it is reproduced) because it is found useful. It wasn’t created in order to be useful.
Instead of values and beliefs, we might talk about expectations. If you say you believe in equal opportunity for everyone without regard to race, gender, dis/ability, age, etc., then we might say you expect to see equal opportunity, and when you don’t see it you are disappointed; your expectation is disappointed. But what if you travel to some place like a remote village in Pakistan? Do you still expect to see equality of opportunity? It seem counterintuitive, but you might actually expect to see equality of opportunity there, and the reason you feel troubled, upset, or judgmental is that you don’t see it. If you don’t expect to see it, you will not notice its absence. Clearly, we have to expect something in order to notice its absence. The advantage to thinking of terms of expectations rather than values or beliefs is that expectations are future-oriented, and we can easily see that expectations are useful for something.
So our expectations are inevitably counterfactual. A system experiences irritations as surprises, and it creates a digital code (like fair/unfair) to deal with those surprises. The code allow the creation of programs that tell the system how to respond to the same kind of irritations in the future. Programs are conditional, as if/then statements. For example, If I (as a system) see the exploitations of child workers, I classify that as unfair or unjust.