[ library(cardinal) | Reference Manual | Alphabetic Index ]

?SetVariable `:: ?Domain

Set variable declaration
SetVariable
A variable.
Domain
A set domain with optional cardinality declaration.

Description

Declare or constrain a set domain variable to have Domain as domain.

Domain may assume 3 forms: Glb..Lub, Glb+Poss or Glb+Poss:Cardinality.

Glb is a ground set denoting the SetVariable's glb. Lub is a ground set denoting the SetVariable's lub. Poss is a ground set denoting the SetVariable's poss (lub\glb). Cardinality is the SetVariable's cardinality, which may be an integer, an FD variable, or an integer domain (list or range).

Fail Conditions

Fails if SetVariable can not be constrained accordingly.

Resatisfiable

No.

Examples

?- S `:: []..[a,b].
?- S `:: []+[a,b].
?- S `:: []+[a,b]:1.
?- S `:: [x]+[a,b]:C.
?- S `:: []+[a,b]:[0,2].
?- S `:: [c]+[a,b,d,e,f,g,h,i,j,k]:[2,4..7].

See Also

set / 4, sets / 4, cardinality / 2, union_var / 2, minimum / 2, maximum / 2, set_labeling / 1