[ library(conjunto) | Reference Manual | Alphabetic Index ]

all_disjoint(?Lsets)

Lsets is a list of set domain variables which are constrained to be pairwise disjoint.
?Lsets
List of set domain variables.

Description

Lsets is a list of set domain variables which are constrained to be pairwise disjoint. Once the unconsistent domain bounds have been updated. The predicate is a programming abstraction standing for conjunction of disjointness constraints. The generated disjointness constraints are delayed. They are activated each time a lower bound of one set domain involed is modified.

Fail Conditions

Fails if some elements of Lsets are not set variables or if all the set variables can not be pairwise disjoint.

Resatisfiable

No.

Examples

S `:: {}.. {1,3,5}, S1 `:: {1} .. {1,3,4}, S2 `::{3,4}..{3,4,5},
all_disjoint([S,S1,S2]).

S = S{{} .. {5}}
S1 = {1}
S2 = S2{{3, 4} .. {3, 4, 5}}

Delayed goals:
        S{{} .. {5}} dis_s S2{{3, 4} .. {3, 4, 5}}
yes.

See Also

`:: / 2, `<> / 2, `= / 2, all_union / 2