A somewhat more transparent representation is based on attributes or propositions.  Here, the representation makes an explicit commitment
that the world is described by a set of attributes or (in the binary case) propositional symbols.  The knowledge base tells us how these different symbols interact with each other.  Semantically, each possible world that the agent considers is an assignment of values to these attributes.  This more transparent representation gives us a lot more power.  For example, using logical inference techniques we can often conclude that certain propositions must take a specific truth value, without enumerating the entire space of truth assignments.

However, propositional reasoning has its own problems.  In many cases, it requires that we repeat what is basically the same piece of information many many times.  For example, if we wanted to write down the rules of chess (just those governing the single-move successor function), we would have to restate the rules for pawn movement separately for every board position.  In fact, this process would require about 10^7 axioms.  I can’t write even one of these axioms down for you, because it would be too long, so let me use a simpler example, one which will be my running example for most of this talk.