Существует более принципиальный подход, основанный на идее нестандартного анализа. Для вполне упорядоченного кольца R с нулевой характеристикой можно рассмотреть кольцо Лорана R [inf, 1 / inf] с естественным лексикографическим полным упорядочением. Например, у вас есть:
for all x>0 in R,
.. -inf < -x < -d < -d^2 < .. < 0 < .. < d^2 < d < x < inf < inf^2 < ..
where d = 1/inf.
Таким образом, кольцо Лорана R [inf, 1 / inf] снова является полностью упорядоченной Z-алгеброй, то есть экземпляром Num
, с другими тонкостями, которые вы, возможно, захотите, включая +/- бесконечность, +/- бесконечно малый , бесконечно малые второго порядка и т. д. Но обратите внимание, что это не Архимедиан, и индукция больше не будет работать, что является своего рода арифметикой второго порядка. Для реализации взгляните на этот пример . Как и в комментарии в коде, эта конструкция должна работать для других алгебр, таких как монада списка. Можно придумать списки, в которых два элемента «бесконечно близки», «бесконечно далеки второго порядка» и т. Д. (Что приводит к обобщению розовых деревьев.)