X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fterms.ml;h=9b374a8a5f4acbbbf6c57d5cae9c5b5d23b4b57f;hb=6b0a195b180e3526af7b55771b2df7b10acd7c30;hp=91ca56271404a9e9ccb2cd9df6ee37fa99e8a81b;hpb=ddd751449e73a22af523ce78ce1d8f0bb211e941;p=helm.git diff --git a/helm/software/components/ng_paramodulation/terms.ml b/helm/software/components/ng_paramodulation/terms.ml index 91ca56271..9b374a8a5 100644 --- a/helm/software/components/ng_paramodulation/terms.ml +++ b/helm/software/components/ng_paramodulation/terms.ml @@ -18,14 +18,14 @@ type 'a foterm = type 'a substitution = (int * 'a foterm) list -type comparison = Lt | Le | Eq | Ge | Gt | Incomparable +type comparison = Lt | Eq | Gt | Incomparable type rule = SuperpositionRight | SuperpositionLeft | Demodulation type direction = Left2Right | Right2Left | Nodir type position = int list type 'a proof = - | Exact of 'a + | Exact of 'a foterm | Step of rule * int * int * direction * position * 'a substitution (* rule, eq1, eq2, direction of eq2, position, substitution *) @@ -57,3 +57,15 @@ module M : Map.S with type key = int = Map.Make(OT) type 'a bag = 'a unit_clause M.t + +module type Blob = + sig + type t + val eq : t -> t -> bool + val compare : t -> t -> int + val is_eq_predicate : t -> bool + val pp : t -> string + val embed : t -> t foterm + val saturate : t -> t -> t foterm * t foterm + end +