To encode our knowledge bases, we use the KM knowledge representation and reasoning system. KM is a powerful, frame-based language with clear first-order logic semantics. It contains sophisticated machinery for reasoning, including selection by description, unification, classification, and reasoning about actions using a situations mechanism. KM is implemented in highly portable common Lisp. Peter Clark ( built and continues to maintain the KM system.