Imagine everything we perceive was structured and represented as a sequence of bits which specify on which side of a distinction the particular value in question lies. Note how, in this arrangement, two perceived objects can be said to be equal in the strictest sense possible if and only if their bit representations are exactly equal. Clearly, if no bits are different, no distinction was drawn which shows the perceived objects to be different. This is because both objects fell on the same side of each boundary which was drawn in the space in which they were inscribed.
Integers, for example, naturally lend themselves to such arrangements. This is because, in their binary representation, the nth bit determines if their binary expansion as a sum of powers of two requires the presence of 2n−1 as a summand.
Moreover, assume that the distinctions drawn at perception time are chosen such that each additional bit increases the resolution with which the object is perceived. In other words, it would be like some game of twenty questions. This would allow to look at perceived objects up to an arbitrary level of resolution (or fuzziness), by simply masking out the unwanted bits. In turn, this makes it possible to see how similar objects are, and to identify in what regard is that they look like each other.
What operation is the one that tells us which are the bits that differ between two streams of bits? Why, of course… `bitXor:`. In addition, how could we find a gamut of boundaries that separate values perceived to be different? By using `bitXor:` and masking out an arbitrary number of bits in the answer.
In other words, we place our raw perceptions in hash buckets labeled by the very same perceived differences in value, then we map the occurrence of values in those hash buckets to hash buckets in our objective space by means of a function which in the context of the pattern of perception would be called strategy, and the objectives decided upon hash action predictions which are then mapped again to hash buckets in our action space. And all of this is done up to an arbitrary level of resolution at each stage.
Finally, of course, if we add extra bits so that the perceived values can specify whether they represent a perception of something outside or inside the boundary of the player, we can let the player become aware of itself.
This just raises very important questions. Who drew the boundary of the player in the first place? What were the intentions behind that distinction being drawn? Regardless of how these questions are answered, note how the idea the player gets about its own existence is just an unintended consequence of how perception is performed. There is no need for the objects distinguished by the boundaries we draw when we look at differences in value to actually exist.
⇒ Appendix C Causing Brain Change