This concept’s semantic web URI is: [ http://sw.cyc.com/2006/07/27/cyc/Function-Denotational ]Link to OWL representation

Function

Unique Tag: [ Function-Denotational ]

Aliases: [ Functions ]
A specialization of relationship (q.v.) and the collection of all functions. Each instance of function is a many-one relation that represents, with respect to any given context, a mapping from one set of things (the function's Relation Domain) to another set of things (its Relation Range). As a many-one relation, a function maps each thing in its domain to exactly one thing in its range. A function might be unary, binary, ternary, etc. (see arity; but cf. Relational Arity), depending on whether the members of its domain are singletons, ordered pairs, ordered triples, etc. In general, the domain of an N-ary function with respect to a given context is a set of ordered N-tuples (construed in CycL as Lists of length N). The function is said to take the items from any of these N-tuples as its N _arguments_ and to return a member of its range as its corresponding _value_ (see Value Of Function For Args). There are also functions that are not of any particular fixed arity; see variable-arity function.

For example, Government Fn is the unary function that takes each political entity to its regional government, and Plus Fn is the variable-arity function that takes any sequence of two or more ScalarIntervals (q.v.) to their arithmetic sum.

Note that the domain and range (i.e. the extension) of a given function might vary from context to context. For example, as the government of a country can change over time, Government Fn will in such cases map the same country to different governments with respect to different times. Thus, an instance of function is closer to what is sometimes called a function-in-intension than to the purely set-theoretical notion of a function-in-extension .

CycL terms that denote functions can be used to form non-atomic terms (or NATs ; see CycL closed non-atomic term). Specifically, when such a function-denoting expression is appropriately combined with other expressions (i.e. the former is in the 0th argument position and the latter are of the correct number and type) the resulting expression is a new CycL term (a NAT) that may then freely appear as a component in other CycL expressions. The NAT will itself denote the value (if any) of the function denoted by the former expression for the sequence of arguments denoted, respectively, by the latter expressions. For example, Government Fn is a unary function, and so the CycL constant 'Government Fn' requires one syntactic argument (such as the constant 'France') to form a NAT (in this case, the expression '(Government Fn France)'). This NAT, which denotes the government of France, can in turn serve as a syntactic argument in any CycL expression in which a term for an instance of regional government can legally occur.

Important subcollections of function include individual-denoting function (whose instances always return instances of individual), Cyc collection-denoting function, set-denoting function, and function-denoting function (which is itself a subcollection of the first). NATs formed using terms that denote instances of function-denoting function denote instances of function themselves. Thus, like most other things, functions can be denoted in CycL either by constants (e.g. 'Government Fn') or -- although this is less common -- by NATs (e.g. '(Function To Arg 2 biological mother)').

An important partition of function is into total denotational function and partial denotational function (qq.v.).

Note that function does not include any of the so-called TruthFunctions (q.v.): Predicates, Quantifiers, or LogicalConnectives. For these relations (as construed in CycL) are not really functions at all, even though it can be heuristically useful to think of them as if they were functions from sequences of arguments to truth values.