[ library(cardinal) | Reference Manual | Alphabetic Index ]
cardinality(?SetVariable, ?Cardinality)
Cardinality of a set
- SetVariable
- A Set (variable or ground).
- Cardinality
- An integer or an FD variable.
Description
Cardinality is the cardinality of SetVariable. If Cardinality is given
(as an integer or FD variable), then SetVariable is constrained to have such cardinality.
If Cardinality is a free variable, then it is unified with the set's cardinality as
an FD variable or an integer (if it is already known).
Fail Conditions
Fails if Cardinality can not be the cardinality of SetVariable.
Resatisfiable
No.
Examples
?- S `::[]..[a,b], cardinality(S,C).
?- S `::[]..[a,b], cardinality(S,1).
?- S `::[]+[a,b]:1, cardinality(S,C).
C = 1
?- cardinality([a,b],C).
C = 2
?- S `::[c]+[a,b]:[1,3], C #> 1, cardinality(S,C).
S = [a,b,c]
C = 3
See Also
# / 2