intersectLib.intersect : ''a list -> ''a list -> ''a list
Computes the intersection of two ‘sets’.
intersect l1 l2 returns a list consisting of those
elements of l1 that also appear in l2.
Never fails.
- intersect [1,2,3] [3,5,4,1];
> val it = [1, 3] : int list
Do not make the assumption that the order of items in the list
returned by intersect is fixed. Later implementations may
use different algorithms, and return a different concrete result while
still meeting the specification.
A high-performance implementation of finite sets may be found in
structure HOLset.
ML equality types are used in the implementation of
intersect and its kin. This limits its applicability to
types that allow equality. For other types, typically abstract ones, use
the ‘op_’ variants.
Lib.op_intersect, Lib.union, Lib.U, Lib.mk_set, Lib.mem, Lib.insert, Lib.set_eq, Lib.set_diff