background logo
Home

inferencing in Cyc

The Cyc inference engine performs general logical deduction (including modus ponens, modus tollens, and universal and existential quantification), with AI's well-known named inference mechanisms (inheritance, automatic classification, etc.) as special cases. Cyc performs best-first search over proof-space using a set of proprietary heuristics, and uses microtheories to optimize inferencing by restricting search domains.

Because the Cyc KB contains hundreds of thousands of assertions (aka "rules"), many approaches commonly taken by other inference engines (such as frame-based expert system shells, RETE match, Prolog, etc.) just don't scale up to KBs of this size. As a result, the Cyc team has been forced to develop other techniques.

Cyc also includes several special-purpose inferencing modules for handling a few specific classes of inference. One such module handles reasoning concerning collection membership/disjointness. Others handle equality reasoning, temporal reasoning, and mathematical reasoning.


CycLTM: the Cyc representation language

CycL, the Cyc representation language, is a large and extraordinarily flexible knowledge representation language. It is essentially an augmentation of first-order predicate calculus (FOPC), with extensions to handle equality, default reasoning, skolemization, and some second-order features. (For example, quantification over predicates is allowed in some circumstances, and complete assertions can appear as intensional components of other assertions.) CycL uses a form of circumscription, includes the unique names assumption, and can make use of the closed world assumption where appropriate.

For more information, see the detailed description of CycL language features.




Copyright © 2002-2008 Cycorp, Inc. All Rights Reserved. | privacy statement | contact us | home

how does Cyc reason?