eq (string_of_rule rule);
Format.fprintf f "|%d with %d dir %s))" eq1 eq2
(string_of_direction dir);
- let (_, _, _, proof1),_ = Terms.M.find eq1 bag in
- let (_, _, _, proof2),_ = Terms.M.find eq2 bag in
+ let (_, _, _, proof1),_,_ = Terms.get_from_bag eq1 bag in
+ let (_, _, _, proof2),_,_ = Terms.get_from_bag eq2 bag in
Format.fprintf f "@[<v 2>";
aux eq1 proof1;
aux eq2 proof2;
| Terms.Gt -> "=>="
| Terms.Eq -> "==="
| Terms.Incomparable -> "=?="
+ | Terms.Invertible -> "=<->="
let pp_unit_clause ~formatter:f c =
let (id, l, vars, proof) = c in
Format.fprintf f "@]"
;;
-let pp_bag ~formatter:f bag =
+let pp_bag ~formatter:f (_,bag) =
Format.fprintf f "@[<v>";
Terms.M.iter
- (fun _ (c,d) -> pp_unit_clause ~formatter:f c;
+ (fun _ (c,d,_) -> pp_unit_clause ~formatter:f c;
if d then Format.fprintf f " (discarded)@;"
else Format.fprintf f "@;") bag;
Format.fprintf f "@]"