Notation

 

Variables

Variables occurring anywhere in a KE text (e.g., inside rule statements) must begin with a question mark (?). This convention signals the knowledge entry facilities to treat the object as a variable, rather than as a constant.

Constants

It is not necessary to include the initial "#$" in references to known constants (i.e., constants which Cyc already knows to exist), though it is not disallowed. For example, one could use either #$Siegel or Siegel; #$KeithsHouse or KeithsHouse. Accepted practice is to write KE text without the "#$" prefix.

Strings

Strings referred to in KE text (such as entries on the #$comment predicate for a constant) must be delimited by double quotes (e.g., "This is a string."), as in Common Lisp and C.

To use double quotes inside comments, prefix them with a backslash. (e.g. "This comment \"contains\" double quotes.")

KE File preserves tab and return/newline/linefeed characters that occur inside strings, but will remove any non-printing characters.

Keywords

Keywords occurring in formulas must be prefixed with a colon. (e.g. "f: (genKeyword PublicConstant :PUBLIC-CONSTANT).")

Symbols

Symbols occuring in formulas must be prefixed with a single quote. (e.g. "f: (afterAdding genls 'GENLS-AFTER-ADDING).")