[ library(cardinal) | Reference Manual | Alphabetic Index ]
union_var(?SetVariable, ?UnionVar)
Union of a set of sets
- SetVariable
- A Set (variable or ground) of sets.
- UnionVar
- A Set (variable or ground).
Description
UnionVar is the union of sets in SetVariable. If UnionVar is given
(as a ground set or a set variable), then SetVariable is constrained to have such union.
If UnionVar is a free variable, then it is unified with the set's union as
a set variable or a ground set (if it is already known).
union_var/2 can thus be used either to declare (or constrain) a union
function or to retrieve it.
Fail Conditions
Fails if UnionVar can not be the union of SetVariable.
Resatisfiable
No.
Examples
?- S `::[]..[[a],[b]], union_var(S,U).
?- S `::[]..[[a],[b],[a,b]], union_var(S,[a,b]).
?- union_var([[a,b],[b,c]], U).
U = [a,b,c]
See Also
set / 4, sets / 4, cardinality / 2