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.