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. Background The Cyc project (3) is an effort aimed at building a large common sense knowledge base. CycL is the language in which the Cyc KB is encoded. Since much of common sense knowledge is default in nature, it is important for CycL to provide facilities for expressing defaults. This paper describes the scheme used to do default reasoning i...
Ramanathan V. Guha