#$defnSufficient defn sufficient

A #$CycInferenceDescriptorPredicate. (#$defnSufficient COL TEST) means that TEST is the name of a piece of code in the SubL implementation of Cyc that specifies, and tests for, a sufficient condition for a CycL term's denoting an instance of (see #$isa) the collection COL. If TEST returns `T' (for `True') when applied to a particular term, then that term's denotatum is considered to be an instance of COL. Note that TEST isn't necessarily a necessary test for membership in COL; that is, not all instances of COL must pass the test, unless TEST is also a #$defnNecessary for COL. See the related predicates #$defnNecessary and #$defnIff.

guid: bd5880ee-9c29-11b1-9dad-c379636f7270

direct instance of: #$CycInferenceDescriptorPredicate #$InferenceRelatedBookkeepingPredicate #$BinaryPredicate

#$defnIff defn iff

A #$CycInferenceDescriptorPredicate. (#$defnIff COL TEST) means that TEST is the name of a piece of code in the SubL implementation of Cyc that specifies, and tests for, a necessary and sufficient condition for a CycL term's denoting an instance of (see #$isa) the collection COL. If and only if TEST returns `T' (for `True') when applied to a particular term can that term's denotatum be considered an instance of COL; all and only terms that denote instances of COL must fulfill TEST's requirements. See also #$defnNecessary and #$defnSufficient.

guid: bd5880ed-9c29-11b1-9dad-c379636f7270

direct instance of: #$CycInferenceDescriptorPredicate #$InferenceRelatedBookkeepingPredicate #$StrictlyFunctionalSlot

direct specialization of: #$defnSufficient #$defnNecessary

#$defnNecessary defn necessary

A #$CycInferenceDescriptorPredicate. (#$defnNecessary COL TEST) means that TEST is the name of a piece of code in the SubL implementation of Cyc that specifies, and tests for, a necessary condition for a CycL term's denoting an instance of (see #$isa) the collection COL. Only if TEST returns `T' (for `True') when applied to a particular term can that term's denotatum be considered an instance of COL; all terms that denote instances of COL must fulfill TEST's requirements, although there may be additional requirements for denoting an instance of COL as well. See also #$defnSufficient and #$defnIff.

guid: bd60e145-9c29-11b1-9dad-c379636f7270

direct instance of: #$CycInferenceDescriptorPredicate #$InferenceRelatedBookkeepingPredicate #$BinaryPredicate

#$evaluationDefn evaluation defn **COMMENT NOT REVIEWED** **GAFs NOT REVIEWED**

The Cyc predicate #$evaluationDefn is used to relate an evaluatable Cyc function or predicate to the name of the piece of code that is used to evaluate it. (#$evaluationDefn E-REL NAME) means that the #$SubLSymbol NAME is the name of a piece of Heuristic Level (SubL) code in the Cyc system which is used to compute the value of expressions containing the #$EvaluatableRelation E-REL.

guid: bd5880c1-9c29-11b1-9dad-c379636f7270

direct instance of: #$CycInferenceDescriptorPredicate #$InferenceRelatedBookkeepingPredicate #$IntangibleObjectRelatingPredicate #$StrictlyFunctionalSlot #$DefaultMonotonicPredicate

#$SubLList SubL lists

A collection of list-denoting expressions that are not represented in CycL (i.e. they are not #$CycLConstants or #$CycLNonAtomicTerms) but are represented in SubL, the underlying implementation language of the Cyc system. Each instance of #$SubLList is a sequence of #$SubLListOrAtoms (q.v.) enclosed in parentheses. SubL lists are those things that pass the #$defnIff LISTP. Note that this collection is quoted (see #$quotedCollection).

guid: bd589695-9c29-11b1-9dad-c379636f7270

direct instance of: #$AtemporalNecessarilyEssentialCollectionType #$ObjectType

direct specialization of: #$SubLListOrAtom

direct generalization of: #$SubLListOfStrings #$CycELVariableList #$InferenceBinding

#$SubLSymbol Cyc system symbols

The collection of all #$SubLAtoms that are also symbols in the SubL language. That is, each instance of #$SubLSymbol satisfies the #$defnIff SYMBOLP. Note that `symbol' has a very specific, technical meaning in SubL. Save for those that are variables (see #$SubLVariable), #$SubLSymbols are rarely used in CycL assertions, except within those built with certain #$CycInferenceDescriptorPredicates like #$defnIff. Examples of SubL symbols include the symbols `GENLS' and `CYC-SYSTEM-NON-VARIABLE-SYMBOL-P'. Note also that #$SubLSymbol is a quoted-collection (see #$quotedCollection).

guid: bd58a644-9c29-11b1-9dad-c379636f7270

direct instance of: #$AtemporalNecessarilyEssentialCollectionType #$ObjectType

direct specialization of:

direct generalization of: #$SubLKeyword #$SubLVariable #$ELVariable #$SubLNonVariableSymbol

#$SubLRealNumber Cyc system real numbers

The collection of all number-denoting expressions in the CycL language that are _not_ CycL constants or NATs, but are terms of SubL, the underlying implementation language of the Cyc system. #$SubLRealNumbers are numeric strings of the Arabic decimal system, including the decimal point and scientific notation. Examples include the terms `212' and `3.14159d0'. Non-examples include the expressions `#$One', `(#$Meter 6)', `(#$Unity 3)', `:34', `#$PlusInfinity', and `Avogadro's number'. Note that this collection, like most instances of #$CycLExpressionType, is quoted (see #$quotedCollection).

guid: bd59086c-9c29-11b1-9dad-c379636f7270

direct instance of: #$AtemporalNecessarilyEssentialCollectionType #$CycLExpressionType

direct specialization of: #$SubLAtomWithValue #$RationalNumber

direct generalization of: #$SubLInteger

#$EvaluatableFunction evaluatable functions

A specialization of both #$EvaluatableRelation and #$Function-Denotational (qq.v.). Each instance of #$EvaluatableFunction is a function that is associated (via #$evaluationDefn) with a piece of HL ( heuristic level ) code that computes the result of applying the function to arguments for which that function is defined. An evaluation of this sort is carried out, for example, when the system is queried using an #$evaluate (q.v.) sentence. As one might expect, most evaluatable functions are mathematical or syntactic in nature; for, unlike with functions generally, operations on numbers, sets, lists, and strings can in many cases be calculated algorithmically. Examples include #$PlusFn and #$JoinListsFn. The practical result of evaluating a term built from (a constant that denotes) an evaluatable function is another _term_ -- one that has the same denotatum as the former term, but that is syntactically simpler and constitutes a more straightforward way of referring to that denotatum. For example, the term `(#$PlusFn 2 3 4)', when evaluated, results in the term `9'. So if a query using the open sentence `(#$evaluate ?X (#$PlusFn 2 3 4))' is asked, the answer (or binding for the free variable '?X') returned will be the term `9'. By way of contrast, consider the non-evaluatable function #$BorderBetweenFn and the following arbitrarily-chosen non-atomic term built with its CycL name: `(#$BorderBetweenFn #$France #$Germany)'. As there is no general algorithm for finding simpler or standard terms for given geographical borders, it is not possible for the Cyc system to evaluate non-atomic terms like this one.

guid: bd58829b-9c29-11b1-9dad-c379636f7270

direct instance of: #$AtemporalNecessarilyEssentialCollectionType #$FunctionCategory

direct specialization of: #$EvaluatableRelation #$UnreifiableFunction

direct generalization of: #$FunctionFromQuantitiesToQuantities #$NumericQuantifier