Это как-то связано с тем языком, который мы в CS разделе обсуждали?
В точку!

А в каком виде Вы свои множества представляете?
Как раз деревьями: запись TSet содержит односвязный список таких же записей; считается пустым множеством, если список пустой.
Взаимно-однозначно.
Спасибо! Меня сомневало обратное к нему отображение, в математике ведь не принято доказывать алгоритмами.

Но всё равно оно не нужно, т. к. достаточно интересные наследственно-конечные множества (спасибо, что сказали название!) не влезут даже в число размером с килобайт, наверно; так что я решил оставить деревья, но чтобы их эффективно сравнивать, надо упорядочить поддеревья, вот для чего мне нужно

.
Вынужден уйти спать.
