X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_paramodulation%2Fsuperposition.mli;h=30d32d540a330d8bdb9495b086a134e0fffd5391;hb=72cd94b68037956a70b98cfa54f316fd54e52bae;hp=54b5ae50f322a031bc926de684e25539c9ec7204;hpb=40ce8d1c14808ea7608ee2988bd9aba77ddf8200;p=helm.git diff --git a/helm/software/components/ng_paramodulation/superposition.mli b/helm/software/components/ng_paramodulation/superposition.mli index 54b5ae50f..30d32d540 100644 --- a/helm/software/components/ng_paramodulation/superposition.mli +++ b/helm/software/components/ng_paramodulation/superposition.mli @@ -11,19 +11,69 @@ (* $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 + (* The returned active set is the input one + the selected clause *) - val superposition_right : + val infer_right : B.t Terms.bag -> int -> (* maxvar *) - B.t Terms.unit_clause -> (* selected *) + B.t Terms.unit_clause -> (* selected passive *) Index.Index(B).active_set -> B.t Terms.bag * int * Index.Index(B).active_set * B.t Terms.unit_clause list - - end + val infer_left : + B.t Terms.bag -> + int -> (* maxvar *) + B.t Terms.unit_clause -> (* selected goal *) + Index.Index(B).active_set -> + B.t Terms.bag * int * B.t Terms.unit_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 + 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) + (* may raise success *) + 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) 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 + + + end