5.3 Constraints
5.3.1 Membership
-
?X in ?Set
-
The integer X is member of the integer set Set
- ?X notin ?Set
-
The integer X is not a member of the integer set Set
- membership_booleans(?Set, ?BoolArr)
-
BoolArr is an array of booleans describing Set
5.3.2 Cardinality
-
#(?Set, ?Card)
-
Card is the cardinality of the integer set Set
5.3.3 Set Relations
- difference(?Set1, ?Set2, ?Set3)
-
Set3 is the difference of the integer sets Set1 and Set2
- ?Set1 disjoint ?Set2
-
The integer sets Set1 and Set2 are disjoint
- ?Set1 includes ?Set2
-
Set1 includes (is a superset) of the integer set Set2
- intersection(?Set1, ?Set2, ?Set3)
-
Set3 is the intersection of the integer sets Set1 and Set2
- ?Set1 sameset ?Set2
-
The sets Set1 and Set2 are equal
- ?Set1 subset ?Set2
-
Set1 is a subset of the integer set Set2
- symdiff(?Set1, ?Set2, ?Set3)
-
Set3 is the symmetric difference of the integer sets Set1 and Set2
- union(?Set1, ?Set2, ?Set3)
-
Set3 is the union of the integer sets Set1 and Set2
5.3.4 N-ary Set Relations
-
all_disjoint(+Sets)
-
Sets is a list of integers sets which are all disjoint
- all_union(+Sets, ?SetUnion)
-
SetUnion is the union of all the sets in the list Sets
- all_intersection(+Sets, ?SetIntersection)
-
SetIntersection is the intersection of all the sets in the list Sets
5.3.5 Set Weights
-
weight(?Set, ++ElementWeights, ?Weight)
-
According to the array of element weights, the weight of set Set1 is Weight