
domain(?SetVariable, -Domain)

   Accessing the domain of a set

Arguments
   SetVariable         A set variable.
   Domain              A list (pair) with glb and poss.

Type
   library(cardinal)

Description
Domain is unified with the domain of SetVariable in the form [Glb:NIn,Poss:NMax],
		where Glb is the (greatest) lower bound of SetVariable, and NIn its length,
		Poss is the set of still possible elements of SetVariable (i.e. its lub\glb),
		and NMax is the lub's cardinality (i.e. NIn + #(Poss)).
		If SetVariable is a set of sets and a union function attribute has been set,
		then each element of Poss comes annotated with its respective length.

Fail Conditions
   Fails if Domain can not be unified with the current domain of SetVariable.

Resatisfiable
   No.

Examples
   
?- S `::[c]+[a,b], domain(S,D).
D = [[c]:1, [a,b]:3]

?- set(S, [],[[a,b],[b,c],[a,c],[b]],[union:[a,b,c]]), domain(S,D).
D = [[]:0, [[a,b]:2, [a,c]:2, [b]:1, [b,c]:2]:4]


See Also
   domain / 3, glb / 2, poss / 2, glb_poss / 3, lub / 2, lub / 4
