[ library(conjunto) | The ECLiPSe Libraries | 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