From OpenCog
Jump to: navigation, search

The ListLink is a Link used for grouping Atoms for some purpose, typically to specify a set of arguments to some function or relation. See, for example, ExecutionLink or EvaluationLink.

The ListLink is best understood as a Cartesian product, see for the related discussion.

The reason for viewing the ListLink as a Cartesian product is because all of the uses of ListLink involve passing an ordered sequence of arguments (values or variables) to some function or predicate. Ordered sequences can be naturally understood as Cartesian products, and this conception is extremely general, cutting across all branches of mathematics.

Very few other ordered links are explicitly Cartesian products; some are explicitly not; for example, some of the natural-language link types are explicitly tensor products, and thus cannot be Cartesian. This is stated only as a warning: do not over-apply the concept of "product"; keep it limited to the ListLink.