module Superposition (B : Terms.Blob) :
sig
+ (* bag, maxvar, meeting point *)
exception Success of B.t Terms.bag * int * B.t Terms.unit_clause
(* The returned active set is the input one + the selected clause *)
B.t Terms.unit_clause ->
Index.Index(B).DT.t -> B.t Terms.bag * B.t Terms.unit_clause
- val forward_simplify :
+ val simplify :
Index.Index(B).DT.t ->
B.t Terms.bag ->
B.t Terms.unit_clause ->
(B.t Terms.bag * B.t Terms.unit_clause) option
(* may raise success *)
- val backward_simplify :
+ val simplify_goal :
int ->
Index.Index(B).DT.t ->
B.t Terms.bag ->
B.t Terms.unit_clause ->
B.t Terms.bag * B.t Terms.unit_clause
- end
+ val one_pass_simplification:
+ B.t Terms.unit_clause ->
+ Index.Index(B).active_set ->
+ B.t Terms.bag ->
+ (B.t Terms.unit_clause * B.t Terms.bag * Index.Index(B).active_set) option
+
+ val keep_simplified:
+ B.t Terms.unit_clause ->
+ Index.Index(B).active_set ->
+ B.t Terms.bag ->
+ (B.t Terms.unit_clause * B.t Terms.bag * Index.Index(B).active_set) option
+ end