  We present Score, a rule engine designed and implemented for the Scone
knowledge base system. Scone is a knowledge base system designed for storing
and manipulating rich representations of general knowledge in symbolic form. It
represents knowledge in the form of nodes and links in a network structure, and
it can perform basic inference about the relationships between different
elements efficiently. On its own, Scone acts as a sort of "smart memory" that
can interface with other software systems. One area of improvement for Scone is
how useful it can be in supplying knowledge to an intelligent agent that can
use the knowledge to perform actions and update the knowledge base with its
observations.
  We augment the Scone system with a production rule engine that automatically
performs simple inference based on existing and newly-added structures in
Scone's knowledge base, potentially improving the capabilities of any planning
systems built on top of Scone. Production rule systems consist of "if-then"
production rules that try to match their predicates to existing knowledge and
fire their actions when their predicates are satisfied. We propose two kinds of
production rules, if-added and if-needed rules, that differ in how they are
checked and fired to cover multiple use cases. We then implement methods to
efficiently check and fire these rules in a large knowledge base. The new rule
engine is not meant to be a complex stand-alone planner, so we discuss how it
fits into the context of Scone and future work on planning systems.
