module type RELATION =sig
..end
type
t
type
r
val empty : unit -> t
val assume : t ->
r Sig.input list -> t * r Sig.result
val query : t -> r Sig.input -> Sig.answer
val case_split : t ->
(r Literal.view * Explanation.t * Num.num) list
case_split env returns a list of equalities
val add : t -> r -> t
add a representant to take into account