In Cyc, a variable, represented in the Cyc Knowledge Base by #$CycLVariable
, is a type of atomic term and a type of represented term.
Each variable is a character string consisting of an initial question mark (‘?’) followed by one or more characters, where each of these latter characters is either an (upper- or lower-case) Roman letter, an Arabic numeral (i.e. ‘0’ through ‘9’), a hyphen (‘-‘), or another question mark. (The letters occurring in a CycL variable used in an actual assertion will typically be all uppercase; but this convention is not enforced in any formal way.) Examples: ?WHAT
, ?OBJ-TYPE
, and ?var0
.
Variables are quantified over (see universal quantification and existential quantification) in assertions to make universal or existential claims. Open (i.e. unquantified) variables are also used in queries to indicate that bindings for those variables are sought.