In the Cyc Knowledge Base, a truth value is a value attached to an assertion which indicates its degree of truth.
“Truth value” is a heuristic level property; it is a combination of what are 2 separate properties at the epistemological level: strength (exception status: having them, vs. not) and negation status (whether or not a formula begins with #$not
).
By default, rules and non-negated GAF assertions are initially stored in the Cyc KB with the HL truth value “monotonically true,” and negated GAFs will have the HL truth value “monotonically false.” This is different from classical monotonicity, because it just means that assertion currently has no exceptions, not that it can never have exceptions — and in fact in the KB Browser, such assertions will be presented as “currently exceptionless”. Assertions that gain exceptions will have their HL truth value changed to “default true” (or “default false” in the case of negated GAFs), and will have their truth value reported in the Browser as “has exceptions”.
Finally, it is possible for a Cyclist to state, at the EL, whether exceptions are expected or not using #$willNeverHaveExceptions
and #$hasExceptions
. Assertions with these meta-assertions will be displayed in the browser as “necessarily monotonic” and “has unspecified exceptions,” respectively. #$willNeverHaveExceptions
is used by the WFF Checker to prevent exceptions from being added to that assertion. #$hasExceptions
is essentially only documentation; it is a placeholder for future exceptions a Cyclist expects an assertion to have, but which haven’t yet been stated.