Ну вот, думая мысль дальше, такой пример придумал.
Пусть у нас стоит такое ограничение, что каждая функция

принимают, скажем, ровно два значения

и

, где

. Тогда если мы в качестве

возьмем упорядоченную пару множеств

, то функция

не восстанавливается однозначно ни по

, ни по

, но легко восстанавливается по паре

.
Однако мы при этом всё равно храним немного лишней информации. А именно, меры множеств

и

можно узнать и по

(непосредственно померяв), и по

(измерив величину скачков).
Далее, если мы захотим это обобщить на случай
не более чем двух значений, то выбор

перестает быть однозначным (ну или еще что-нибудь плохое будет).
Вообще, кажется, я уже почти придумал.
-- Пн май 18, 2009 09:19:38 --То есть для всех функций, принимающих конечное число значений, достаточно хранить

, где

- число значений, а

- множества, где принимается

-е по убыванию (ну или по возрастанию) значение. А вот с бесконечнозначными функциями уже труднее - даже вроде бы порядковый тип вместо

хранить не достаточно, так как изоморфизм будет неоднозначным. А если хранить вместе с изоморфизмом - то это уже и будет

.