Expressiveness of Rule Language
Need to have variables that can be bound to particular instances during problem solving.
Usually need logical operations (not & disjunction) in addition to implicit conjunction).
Need to encode directions to the interpreter (e.g. “add” “remove”).
May need metalanguage (ability to talk about rules themselves) (this may also be hidden in the interpreter).