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

# ?Sterm `= ?Sterm1

Sterm and Sterm1 are equal.

?Sterm
  A ground set, a set domain variable or a set expression containing set operators (union \/, intersection /\, difference \).
?Sterm1
  A ground set, a set domain variable or a set expression.

## Description

This constraint states that the two set terms are equal. It is activated whenever the upper or the lower bound of a set domain variable is updated. When propagating set domain updates, the system reasons only over the upper and lower bound sets of values of the set domain and makes sure that these sets of values are consistent with those of other set domain variables.

If this constraint is not solved, this predicate delays until it can be completely solved.

### Fail Conditions

Fails if the two set terms have a different set value.

### Resatisfiable

No.

## Examples

    [eclipse 2]: S `:: {}.. {1,2,3}, [S1,S2] `:: {}..{3,4,5},
                 S \/  S1 `= S2.

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

    Delayed goals:
            union_s(S{{} .. {3}}, S1{{} .. {3, 4, 5}},
    S2{{} .. {3, 4, 5}})
    yes.

## See Also

`:: / 2