X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fsuperposition.mli;h=c6877901b8010acf505221a357a5ec1c199798e4;hb=d5e373656748835ecfe33041bbb87b786446b75f;hp=cce81944bd497d286b50c22c31d4055c3c4e5228;hpb=4ae7d510a430a2a6929f973d36b993d528772d64;p=helm.git diff --git a/helm/software/components/ng_paramodulation/superposition.mli b/helm/software/components/ng_paramodulation/superposition.mli index cce81944b..c6877901b 100644 --- a/helm/software/components/ng_paramodulation/superposition.mli +++ b/helm/software/components/ng_paramodulation/superposition.mli @@ -11,47 +11,68 @@ (* $Id: index.mli 9822 2009-06-03 15:37:06Z tassi $ *) -module Superposition (B : Terms.Blob) : +module Superposition (B : Orderings.Blob) : sig (* bag, maxvar, meeting point *) - exception Success of B.t Terms.bag * int * B.t Terms.unit_clause + exception Success of B.t Terms.bag * int * B.t Terms.clause (* The returned active set is the input one + the selected clause *) val infer_right : B.t Terms.bag -> int -> (* maxvar *) - B.t Terms.unit_clause -> (* selected passive *) + B.t Terms.clause -> (* selected passive *) Index.Index(B).active_set -> - B.t Terms.bag * int * Index.Index(B).active_set * B.t Terms.unit_clause list + B.t Terms.bag * int * Index.Index(B).active_set * B.t Terms.clause list val infer_left : B.t Terms.bag -> int -> (* maxvar *) - B.t Terms.unit_clause -> (* selected goal *) + B.t Terms.clause -> (* selected goal *) Index.Index(B).active_set -> - B.t Terms.bag * int * B.t Terms.unit_clause list + B.t Terms.bag * int * B.t Terms.clause list val demodulate : B.t Terms.bag -> - B.t Terms.unit_clause -> - Index.Index(B).DT.t -> B.t Terms.bag * B.t Terms.unit_clause + B.t Terms.clause -> + Index.Index(B).DT.t -> B.t Terms.bag * B.t Terms.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.clause -> + B.t Terms.bag * (B.t Terms.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 -> - B.t Terms.bag * B.t Terms.unit_clause + B.t Terms.clause list -> + B.t Terms.clause -> + (B.t Terms.bag * B.t Terms.clause) option - end + val one_pass_simplification: + B.t Terms.clause -> + Index.Index(B).active_set -> + B.t Terms.bag -> + int -> + B.t Terms.bag * (B.t Terms.clause * Index.Index(B).active_set) option + val keep_simplified: + B.t Terms.clause -> + Index.Index(B).active_set -> + B.t Terms.bag -> + int -> + B.t Terms.bag * (B.t Terms.clause * Index.Index(B).active_set) option + val orphan_murder: + B.t Terms.bag -> + B.t Terms.clause list -> + B.t Terms.clause -> + bool + + end