open TypeSyntax open Fast_integer let total_order_T x y = if x = y then InleftT RightT else if x < y then InleftT LeftT else InrightT let rec int_to_positive i = if i = 1 then XH else if (i mod 2) = 0 then XO (int_to_positive (i/2)) else XI (int_to_positive (i/2)) let rec int_to_Z i = if i = 0 then ZERO else if i > 0 then POS (int_to_positive i) else NEG (int_to_positive (-i)) let my_ceil x = int_to_Z (succ (int_of_float (floor x)))