[ library(cardinal) | Third Party Libraries | 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