type comparison = Lt | Eq | Gt | Incomparable
-type rule = SuperpositionRight | SuperpositionLeft | Demodulation
+type rule = Superposition | Demodulation
(* A Discrimination tree is a map: foterm |-> (dir, clause) *)
type direction = Left2Right | Right2Left | Nodir
module M : Map.S with type key = int
-type 'a bag = 'a unit_clause M.t
+type 'a bag = ('a unit_clause * bool) M.t
module type Blob =
sig
val embed : t -> t foterm
(* saturate [proof] [type] -> [proof] * [type] *)
val saturate : t -> t -> t foterm * t foterm
+
end