Intersection of sets and/or intervals
This functionality does not run in MATLAB.
set_{1}intersect set_{2}
_intersect(set_{1}, set_{2}, …
)
intersect
computes the intersection of sets
and intervals.
set1 intersect set2
is equivalent to _intersect(set1,
set2)
.
The precedences of intersect
, minus
, union
are
as follows: The operator intersect
is stronger
binding than minus
, i.e, set1 intersect
set2 minus set3
= (set 1 intersect set2) minus
set3
. The operator minus
is stronger
binding than union
, i.e., set1 minus set2
union set3
= (set1 minus set2) union set3
.
Further, set1 minus set2 minus set3
= (set
1 minus set2) minus set3
. If in doubt, use brackets to make
sure that the expression is parsed as desired.
If sets or intervals are specified by symbolic expressions involving
identifiers or indexed identifiers, then symbolic calls of _intersect
, _minus
, _union
are
returned. On the screen, they are represented via the operator notation set1
intersect set2
etc.
Note:
On finite sets of type 
On intervals of type Dom::Interval
, these operators act in a semantical way.
In particular, properties of identifiers
are taken into account.
_intersect()
returns universe
(of type stdlib::Universe
)
which represents the set of all mathematical objects.
_union()
returns the empty set {}
.
intersect
, minus
, and union
operate
on finite sets:
{x, 1, 5} intersect {x, 1, 3, 4}, {x, 1, 5} union {x, 1, 3, 4}, {x, 1, 5} minus {x, 1, 3, 4}
For symbolic sets, specified as identifiers or indexed identifiers, symbolic calls are returned:
{1, 2} union A union {2, 3}
Note that the set operations act on finite sets in a purely
syntactical way. In the following call, x
does
not match any of the numbers 1, 2, 3 syntactically:
{1, 2, 3} minus {1, x}
intersect
, minus
, and union
are
overloaded by the domain Dom::Interval
:
Dom::Interval([0, 1]) union Dom::Interval(1, 4)
Dom::Interval([0, 1]) union Dom::Interval(4, infinity)
Dom::Interval(2, infinity) intersect Dom::Interval([1, 3])
{PI/2, 2, 2.5, 3} intersect Dom::Interval(1,3)
Dom::Interval(1, PI) minus {2, 3}
In contrast to finite sets of type DOM_SET
, the interval
domain works semantically. It takes properties
into account:
Dom::Interval(1, 1) minus {x}
assume(x > 2): Dom::Interval(1, 1) minus {x}
unassume(x):
The following list provides a collection of sets:
L := [{a, b}, {1, 2, a, c}, {3, a, b}, {a, c}]:
The functional equivalent _intersect
of the intersect
operator
accepts an arbitray number of arguments. Thus, the intersection of
all sets in L
can be computed as follows:
_intersect(op(L))
The union of all sets in L
is:
_union(op(L))
delete L:
universe
represents
the set of all mathematical objects:
_intersect()

Finite sets of type 
Set, an interval, a symbolic expression of type "_intersect"
, "_minus"
, "_union"
,
or universe
.
set1
, set2