| Step of rule * int * int * direction * position * 'a substitution
(* rule, eq1, eq2, direction of eq2, position, substitution *)
| Step of rule * int * int * direction * position * 'a substitution
(* rule, eq1, eq2, direction of eq2, position, substitution *)
-module Utils (B : Blob) :
- sig
- val eq_literal : B.t literal -> B.t literal -> bool
- val compare_literal : B.t literal -> B.t literal -> int
+ val embed : t -> t foterm
+ (* saturate [proof] [type] -> [proof] * [type] *)
+ val saturate : t -> t -> t foterm * t foterm
+
+ val mk_proof : t bag -> int -> int list -> t