1signature Sup_Inf =
2sig
3  type int = Arbint.int
4
5  datatype bound = Bound of Rationals.rat * (string * Rationals.rat) list
6                 | Max_bound of bound list
7                 | Min_bound of bound list
8                 | Pos_inf
9                 | Neg_inf
10  type internal_bound
11  val SIMP : internal_bound -> bound
12  val SUP : (int * (string * int) list) list ->
13            (bound * (string list)) ->
14            internal_bound
15  val INF : (int * (string * int) list) list ->
16            (bound * (string list)) ->
17            internal_bound
18  val eval_bound : bound -> bound
19  val SUP_INF :
20         (int * (string * int) list) list -> (string * bound * bound) list
21end
22