X contains all sharing sets [JL88,MH89] which specify the possible variable occurrences in the terms to which the variables involved in the clause may be bound. Sharing sets are a compact way of representing groundness of variables and dependencies between variables. This representation is however generally difficult to read for humans. For this reason, this information is often translated to ground/1, indep/1 and indep/2 properties, which are easier to read.
The sharing pattern for the variables in the clause is X.
X and Y do not have variables in common.
The variables in the the pairs in X are pairwise independent.
All variables occuring in X occur also in Y. Used by the non-strict independence-based annotators.
X is covered by Y.
X is bound to a term which is linear, i.e., if it contains any variables, such variables appear only once in the term. For example, [1,2,3] and f(A,B) are linear terms, while f(A,A) is not.
X is instantiated to a linear term.
X is a free variable independent of the rest of the variables appearing in the head of the predicate.
For a predicate p(X0, ..., Xn), ivar(X0) conceptually expands to (var(X0), indep([[X0,X1], ..., [X0,Xn]])).
X is a free independent variable.
X is not ground.
X is a set of variables of interest, much the same as a sharing group but X represents all the sharing groups in the powerset of those variables. Similar to a sharing group, a clique is often translated to ground/1, indep/1, and indep/2 properties.
The clique sharing pattern is X.
X is a set of variables of interest, much the same as a sharing group but X represents all the sharing groups in the powerset of those variables but disregarding the singletons. Similar to a sharing group, a clique_1 is often translated to ground/1, indep/1, and indep/2 properties.
The 1-clique sharing pattern is X.