X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Findexing.mli;h=340a1eddbc0acf0369ec36b29036d876a295a951;hb=4e0ce221e8f218bbf60885173d61ea6ff9324213;hp=8af265f907f945c4a597b24e299e64b5da29dc22;hpb=5b911ecf8bcb1644b82316d5f2709ae253a6a36d;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/indexing.mli b/helm/software/components/tactics/paramodulation/indexing.mli index 8af265f90..340a1eddb 100644 --- a/helm/software/components/tactics/paramodulation/indexing.mli +++ b/helm/software/components/tactics/paramodulation/indexing.mli @@ -31,31 +31,43 @@ module Index : with type elt = Utils.pos * Equality.equality and type t = Equality_indexing.DT.PosEqSet.t type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t - type key = Cic.term end val index : Index.t -> Equality.equality -> Index.t val remove_index : Index.t -> Equality.equality -> Index.t val in_index : Index.t -> Equality.equality -> bool val empty : Index.t -val match_unif_time_ok : float ref -val match_unif_time_no : float ref -val indexing_retrieval_time : float ref val init_index : unit -> unit -val build_newtarget_time : float ref +val unification : + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.equality -> + (Subst.substitution * Equality.equality * bool) option val subsumption : Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> Equality.equality -> - (Subst.substitution * Equality.equality) option -val superposition_left : - int -> - Cic.conjecture list * Cic.context * CicUniv.universe_graph -> + (Subst.substitution * Equality.equality * bool) option +val unification_all : + Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> Equality.equality -> - int * Equality.equality list + (Subst.substitution * Equality.equality * bool) list +val subsumption_all : + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.equality -> + (Subst.substitution * Equality.equality * bool) list +val superposition_left : + Equality.equality_bag -> + Cic.conjecture list * Cic.context * CicUniv.universe_graph -> + Index.t -> Equality.goal -> int -> + int * Equality.goal list val superposition_right : + Equality.equality_bag -> + ?subterms_only:bool -> + UriManager.uri -> int -> 'a * Cic.context * CicUniv.universe_graph -> Index.t -> @@ -63,25 +75,30 @@ val superposition_right : int * Equality.equality list val demodulation_equality : + Equality.equality_bag -> ?from:string -> + UriManager.uri -> int -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Utils.equality_sign -> Equality.equality -> int * Equality.equality + Equality.equality -> int * Equality.equality val demodulation_goal : - int -> + Equality.equality_bag -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Equality.goal_proof * Cic.metasenv * Index.key -> - bool * int * - (Equality.goal_proof * Cic.metasenv * Index.key) + Equality.goal -> + bool * Equality.goal val demodulation_theorem : + Equality.equality_bag -> 'a -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Cic.term * Index.key * Cic.metasenv -> - 'a * (Cic.term * Index.key * Cic.metasenv) + Cic.term * Cic.term * Cic.metasenv -> + 'a * (Cic.term * Cic.term * Cic.metasenv) val check_target: + Equality.equality_bag -> Cic.context -> Equality.equality -> string -> unit + (** profiling *) +val get_stats: unit -> string