X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fsuperposition.mli;h=c67dbfb07dbbc13b3297d0b8903305a9680cf588;hb=f7804325dbb5b51820edefe5d5ffff89809fe35c;hp=5878918c2b37d60c1a8b8a4b63758d927882b229;hpb=96c91e470f670018df67c9cbff62fa06e3b57c5e;p=helm.git diff --git a/helm/software/components/ng_paramodulation/superposition.mli b/helm/software/components/ng_paramodulation/superposition.mli index 5878918c2..c67dbfb07 100644 --- a/helm/software/components/ng_paramodulation/superposition.mli +++ b/helm/software/components/ng_paramodulation/superposition.mli @@ -11,10 +11,15 @@ (* $Id: index.mli 9822 2009-06-03 15:37:06Z tassi $ *) -module Superposition (B : Terms.Blob) : +module Superposition (B : Orderings.Blob) : sig - exception Success of B.t Terms.bag * int * B.t Terms.unit_clause + (* bag, maxvar, meeting point *) + exception Success of + B.t Terms.bag + * int + * B.t Terms.unit_clause + * B.t Terms.substitution (* The returned active set is the input one + the selected clause *) val infer_right : @@ -36,21 +41,44 @@ module Superposition (B : Terms.Blob) : B.t Terms.unit_clause -> Index.Index(B).DT.t -> B.t Terms.bag * B.t Terms.unit_clause - val forward_simplify : + val simplify : Index.Index(B).DT.t -> + int -> B.t Terms.bag -> B.t Terms.unit_clause -> - (B.t Terms.bag * B.t Terms.unit_clause) option + B.t Terms.bag * (B.t Terms.unit_clause option) (* may raise success *) - val backward_simplify : + val simplify_goal : + no_demod:bool -> int -> Index.Index(B).DT.t -> B.t Terms.bag -> + B.t Terms.unit_clause list -> B.t Terms.unit_clause -> - B.t Terms.bag * B.t Terms.unit_clause - - end + (B.t Terms.bag * B.t Terms.unit_clause) option + val one_pass_simplification: + B.t Terms.unit_clause -> + Index.Index(B).active_set -> + B.t Terms.bag -> + int -> + B.t Terms.bag * (B.t Terms.unit_clause * Index.Index(B).active_set) option + val keep_simplified: + B.t Terms.unit_clause -> + Index.Index(B).active_set -> + B.t Terms.bag -> + int -> + B.t Terms.bag * (B.t Terms.unit_clause * Index.Index(B).active_set) option + val orphan_murder: + B.t Terms.bag -> + B.t Terms.unit_clause list -> + B.t Terms.unit_clause -> + bool + val are_alpha_eq : + B.t Terms.unit_clause -> + B.t Terms.unit_clause -> + bool + end