## Representing Sets

Set operations in material set theories are defined in terms of the membership predicate ∈, e.g.

Typically sets are represented as lists of unique elements, e.g. {1,2,3}, which together with the set operations define an algebra of lists. But sets can also be represented as bit vectors (indicator functions) where each bit corresponds to an element of a universal set. Set operations are then carried out by the logic operators $\land$, $\lor$, and $\lnot$. Here is an example in J.

J has a nice function called under that applies a transformation to its operands before computing the given algebraic operations, and then applies the transformation’s inverse to the result. We can use it to show the equivalence of the two algebras.

The algebras are boolean and because of their one-to-one mapping (if all sets are restricted to be subsets of $U$) they are said to be isomorphic.