Cyc contains assertions about logical truth that provide the core assumptions required for using
Cyc to perform logical inferences. The system of logical truths is constructed via a
spiraling-out process, starting with the essence of logic in CycL and extending it step by step
to include useful concepts to build upon the already existing concepts in a principled way.
For example, here are the beginning steps of the process:
- We start with the essence of logic: True and
False.
- To state relationships between True and
False, for example
(implies True (not False)), we add the logical
connectives and, or,
not,
and implies, and the quantifiers
forAll
and thereExists.
- To take the objects we have introduced and group them into useful categories,
we introduce isa, TruthValue,
LogicalConnective, and Quantifier.
We assert isas for all the things introduced in steps 1 and 2.
- To state isas for the objects introduced in Step 3,
we need to introduce Predicate and
Collection.
- To state generalizations between these collections, we introduce
genls, TruthFunction,
Individual, and Thing.
And so on.