X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fterms.ml;h=87b4f383bc53bf13885069592eaf896ad9f58a0e;hb=dd29593d12cffd332c9d546167215f42a90fa9f7;hp=9a225fd27b2807f3a3ea37d57276eb93332e384a;hpb=016f069da6221053873b4d505716ef1bd80f08b6;p=helm.git diff --git a/helm/software/components/ng_paramodulation/terms.ml b/helm/software/components/ng_paramodulation/terms.ml index 9a225fd27..87b4f383b 100644 --- a/helm/software/components/ng_paramodulation/terms.ml +++ b/helm/software/components/ng_paramodulation/terms.ml @@ -18,7 +18,7 @@ type 'a foterm = type 'a substitution = (int * 'a foterm) list -type comparison = Lt | Eq | Gt | Incomparable +type comparison = Lt | Eq | Gt | Incomparable | Invertible type rule = Superposition | Demodulation type direction = Left2Right | Right2Left | Nodir @@ -46,6 +46,11 @@ type 'a unit_clause = type 'a passive_clause = int * 'a unit_clause (* weight * equation *) +let is_eq_clause (_,l,_,_) = + match l with + | Equation _ -> true + | Predicate _ -> false +;; let vars_of_term t = let rec aux acc = function @@ -91,6 +96,7 @@ module type Blob = val eq : t -> t -> bool val compare : t -> t -> int val eqP : t + val is_eq: t foterm -> (t foterm* t foterm *t foterm) option val pp : t -> string type input val embed : input -> t foterm