Module InternSets
Given a binary predicate getAValue, this module groups the Value column
by Key and constructs the corresponding sets of Values as single entities.
The output is a functional predicate, getSet, such that getSet(k).contains(v)
is equivalent to v = getAValue(k), and a class, Set, that canonically represents
a set of Values. In particular, if two keys k1 and k2 relate to the same set
of values, then getSet(k1) = getSet(k2).
Predicates
| getSet | Gets the set of values such that |