
cardinality(?SetVariable, ?Cardinality)

   Cardinality of a set

Arguments
   SetVariable         A Set (variable or ground).
   Cardinality         An integer or an FD variable.

Type
   library(cardinal)

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
