If true, the variable has no fixed set of values (any value is possible)
The set of possible values (only meaningful if isNoFixed is false)
Computes the intersection of two VariableSets (values present in both). If one set is unbounded, returns the bounded set's values.
The other VariableSet
A new VariableSet with common values
Checks if a term is compatible with this set of possible values. Variables are always compatible; concrete terms must be in the value set.
The term to check
True if the term could match this VariableSet
Computes the union of two VariableSets (all possible values from both). If either set is unbounded, the result is unbounded.
The other VariableSet
A new VariableSet with combined values
StaticcreateCreates a VariableSet representing an unbounded variable.
A VariableSet where any value is possible
Represents a set of possible values for a variable. Supports union (combining possibilities) and disjunction (finding common values).