Ramanathan V. Guha
This paper provides an account of the representation of defaults in Cyc and their semantics in terms of first order logic with reification. Default reasoning is a complex thing, and we have found it beneficial to separate various complex issues whose "current best solution" is likely to change now and then - such as deciding between extensions, preferring one default to another, etc. - and deal with them explicitly in the knowledge base, thus allowing us to adopt a simple (and hopefully fixed) logical mechanism to handle the basic non-monotonicity itself. We also briefly describe how this default reasoning scheme is implemented in Cyc.