Предположим, что F (X) - это функция, которая отображает элемент некоторого типа данных T на другой такой же тип, такой, что для любого Y типа T существует ровно один X типа T, такой что F (X).) = Y.Предположим далее, что функция выбрана так, что, как правило, нет практического способа найти X в приведенном выше уравнении для заданного Y.
Определить F0 = X, F {1} (X) = F (X), F {2} (X) = F (F (X)) и т. Д., Поэтому F {n} (X) = F (F {n-1} (X)).
Теперь определимтип данных Q, содержащий положительное целое число K и объект X типа T. Определите отношение эквивалентности следующим образом:
Q (a, X) против Q (b, Y):
Еслиa> b, элементы равны, если F {ab} (Y) == X
Если a Если a = b, элементы равны тогда и только тогда, когда X == Y
Для любого заданного объекта Q (a, X) существует ровно один Z для F {a} (Z) == X.Два объекта эквивалентны, если бы у них был один и тот же Z. Один мог бы определить порядок или хэш-функцию на основе Z. С другой стороны, если F выбран так, что его обратное не может быть практически вычислено, единственный практический способ сравнения элементов можетиспользовать функцию эквивалентности выше.Я не знаю способа определения порядка или хэш-функции без знания максимально возможного значения «a», которое может иметь элемент, или наличия средства для инвертирования функции F.