Module InternSets
Given a binary predicate getAValue
, this module groups the Value
column
by Key
and constructs the corresponding sets of Value
s 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 Value
s. 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 |