| 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
+ type input
+ val embed : input -> t foterm
+ (* saturate [proof] [type] -> [proof] * [type] *)
+ val saturate : input -> input -> t foterm * t foterm