| Terms.Incomparable -> "I"
let pp_unit_clause ~formatter:f c =
- let (id, l, vars, _) = c in
+ let (id, l, vars, proof) = c in
Format.fprintf f "Id : %d, " id ;
match l with
| Terms.Predicate t ->
pp_foterm f lhs;
Format.fprintf f " =(%s) " (string_of_comparison comp);
pp_foterm f rhs;
- Format.fprintf f " [%s]"
- (String.concat ", " (List.map string_of_int vars))
+ Format.fprintf f " [%s] by %s"
+ (String.concat ", " (List.map string_of_int vars))
+ (match proof with
+ | Terms.Exact _ -> "axiom"
+ | Terms.Step (Terms.SuperpositionRight, id1, id2, _, p, _) ->
+ Printf.sprintf "supR %d with %d at %s" id1 id2 (String.concat
+ "," (List.map string_of_int p))
+ | _ -> assert false)
+
;;
(* String buffer implementation *)