ConnectorSeq

From OpenCog
(Redirected from Disjunct)

The ConnectorSeq is an ordered Link type that holds an ordered list of Connectors. The ConnectorSet does the same, but it is an unordered Link. The ConnectorSeq provides a base class for VariableList, and for ArrowLink. The ConnectorSet is a base class for VariableSet.

The collection of connectors are understood to be conjoined: that is, to obtain a complete linkage, all of the connectors must be satisfied. This is in contrast to ConnectorChoice, wherein only one bond need be made for the connection to be considered valid.

Many of the important link types in Atomese are Sections; this includes QueryLink, PutLink and LambdaLink. All of these require that the Connectors (always variable declarations, in this case) to be grouped into a ConnectorSeq (always a VariableList or VariableSet, in these cases) that appears at the start of the Section. The PrenexLink is intimately involved in re-arranging Connectors so that they do appear at the start (i.e. in prenex normal form).

See Connectors and Sections for examples and details.

Terminology

The ConnectorSeq is sometimes called a disjunct. This name comes from the usage in Link Grammar, where multiple ConnectorSeq's are disjoined with one-another (that is, a Link Grammar linkage selects one disjunct out of a set.)

See also