sig
  val lt :
    Numerors_arithmetics.t ->
    Numerors_arithmetics.t ->
    (Numerors_arithmetics.t * Numerors_arithmetics.t) Eval.or_bottom
  val le :
    Numerors_arithmetics.t ->
    Numerors_arithmetics.t ->
    (Numerors_arithmetics.t * Numerors_arithmetics.t) Eval.or_bottom
  val gt :
    Numerors_arithmetics.t ->
    Numerors_arithmetics.t ->
    (Numerors_arithmetics.t * Numerors_arithmetics.t) Eval.or_bottom
  val ge :
    Numerors_arithmetics.t ->
    Numerors_arithmetics.t ->
    (Numerors_arithmetics.t * Numerors_arithmetics.t) Eval.or_bottom
end