a language and environment for constructing intelligent, knowledge-based applications using a fully expressive, logic-based representation language (a variant of KIF) and a natural deduction inference engine that combines forward and backward chaining to derive what logically follows from the facts and rules asserted in the knowledge base.