X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fpp.ml;h=b90c08d385db330b97e903dae90a432041522aea;hb=4ae7d510a430a2a6929f973d36b993d528772d64;hp=609ca47a7b1a5cce9eff53df81efc39ec71de449;hpb=6b0a195b180e3526af7b55771b2df7b10acd7c30;p=helm.git diff --git a/helm/software/components/ng_paramodulation/pp.ml b/helm/software/components/ng_paramodulation/pp.ml index 609ca47a7..b90c08d38 100644 --- a/helm/software/components/ng_paramodulation/pp.ml +++ b/helm/software/components/ng_paramodulation/pp.ml @@ -36,9 +36,8 @@ let pp_foterm ~formatter:f t = ;; let string_of_rule = function - | Terms.SuperpositionRight -> "SupR" - | Terms.SuperpositionLeft -> "SupL" - | Terms.Demodulation -> "Demod" + | Terms.Superposition -> "Super" + | Terms.Demodulation -> "Demod" ;; let string_of_direction = function @@ -80,13 +79,13 @@ let pp_proof bag ~formatter:f p = ;; let string_of_comparison = function - | Terms.Lt -> "<" - | Terms.Gt -> ">" - | Terms.Eq -> "=" - | Terms.Incomparable -> "I" + | Terms.Lt -> "=<=" + | Terms.Gt -> "=>=" + | Terms.Eq -> "===" + | Terms.Incomparable -> "=?=" 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 -> @@ -96,10 +95,24 @@ let pp_unit_clause ~formatter:f c = pp_foterm f ty; Format.fprintf f "}: "; pp_foterm f lhs; - Format.fprintf f " =(%s) " (string_of_comparison comp); + 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 (rule, id1, id2, _, p, _) -> + Printf.sprintf "%s %d with %d at %s" + (string_of_rule rule) + id1 id2 (String.concat + "," (List.map string_of_int p))) +;; + +let pp_bag ~formatter:f bag = + Format.fprintf f "@["; + Terms.M.iter + (fun _ c -> pp_unit_clause ~formatter:f c;Format.fprintf f "@;") bag; + Format.fprintf f "@]" ;; (* String buffer implementation *) @@ -111,6 +124,10 @@ let on_buffer f t = Buffer.contents buff ;; +let pp_bag = + on_buffer pp_bag +;; + let pp_foterm = on_buffer pp_foterm ;;