X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fterms.ml;h=db4c8cad6bce2680f9b98f538373cb8a9c274d5d;hb=95a14ced97592a4116485f94c6ffa806feb62dbc;hp=9a225fd27b2807f3a3ea37d57276eb93332e384a;hpb=948bb5d710c5d7f3185b6fef76c8e71f247cc664;p=helm.git diff --git a/helm/software/components/ng_paramodulation/terms.ml b/helm/software/components/ng_paramodulation/terms.ml index 9a225fd27..db4c8cad6 100644 --- a/helm/software/components/ng_paramodulation/terms.ml +++ b/helm/software/components/ng_paramodulation/terms.ml @@ -44,15 +44,22 @@ type 'a unit_clause = * varlist (* variable list *) * 'a proof (* proof *) -type 'a passive_clause = int * 'a unit_clause (* weight * equation *) +type 'a clause = + int + * 'a literal list (* left hand side of the arrow *) + * 'a literal list (* right hand side of the arrow *) + * varlist + * 'a proof +type 'a passive_clause = int * 'a clause (* weight * equation *) -let vars_of_term t = + +let vars_of_term ?(start_acc=[]) 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 + in aux start_acc t ;; module OT =