
struct cardinal(domain, cardinality, minimum, maximum, union, bounded, glb, lub, bound)

   Cardinal attributes of a set variable

Fields
   domain              Set domain in the form [Glb:NIn,Poss:NMax], where Glb is the set's
			glb, NIn its cardinality, Poss is its poss (i.e. its lub\glb),
			and NMax is the lub's cardinality (i.e. NIn + #(Poss)).
			If it is a set of sets and a union function attribute has been
			declared, then each element of Poss comes annotated with its
			respective length.
   cardinality         Cardinality function (an integer or an FD variable).
   minimum             Minimum function (an integer or an FD variable),
			for sets of integers. Free variable if unused.
   maximum             Maximum function (an integer or an FD variable),
			for sets of integers. Free variable if unused.
   union               Union function, for sets of sets. Free variable if unused;
			otherwise, a list in the form
			[UnionVar, GlbU+PossU, Singles, Lengths], where:
UnionVar: A set (variable or ground) corresponding to the union of the set's elements
	(sets themselves);
GlbU: Set union of the set's glb;
PossU: Set of possible union elements with counters (X:N), i.e. an ordered
	list of all elements in the sets in set's poss (lub\glb)
	with the number of occurrences attached
Singles: Set of elements where N=1 in PossU
   bounded             Suspension list.
   glb                 Suspension list.
   lub                 Suspension list.
   bound               Suspension list.

Type
   library(cardinal)


