X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fterms.ml;h=9a225fd27b2807f3a3ea37d57276eb93332e384a;hb=016f069da6221053873b4d505716ef1bd80f08b6;hp=169d19b80b68a52d0eb062162464e451a96a5757;hpb=b69275324ae2d436f2f4dbb70e0ddcbdf3886636;p=helm.git diff --git a/helm/software/components/ng_paramodulation/terms.ml b/helm/software/components/ng_paramodulation/terms.ml index 169d19b80..9a225fd27 100644 --- a/helm/software/components/ng_paramodulation/terms.ml +++ b/helm/software/components/ng_paramodulation/terms.ml @@ -47,6 +47,14 @@ type 'a unit_clause = type 'a passive_clause = int * 'a unit_clause (* weight * equation *) +let vars_of_term t = + let rec aux acc = function + | Leaf _ -> acc + | Var i -> if (List.mem i acc) then acc else i::acc + | Node l -> List.fold_left aux acc l + in aux [] t +;; + module OT = struct type t = int