X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Findexing.mli;h=7caaa78f47974b9d8b5f01b0d0d71d3c85ec532b;hb=50844b0116c863862434c7c673c5caaf6ff78cdf;hp=4d99385eded2aa02bd76c82ecf596b6fa2c9ff75;hpb=fd65a0a393bfb43d88ff936f40f045511e900e26;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/indexing.mli b/helm/software/components/tactics/paramodulation/indexing.mli index 4d99385ed..7caaa78f4 100644 --- a/helm/software/components/tactics/paramodulation/indexing.mli +++ b/helm/software/components/tactics/paramodulation/indexing.mli @@ -25,57 +25,59 @@ (* $Id$ *) -val beta_expand_time : float ref +type goal = Equality.goal_proof * Cic.metasenv * Cic.term module Index : sig module PosEqSet : Set.S - with type elt = Utils.pos * Inference.equality + 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 -> Inference.equality -> Index.t -val remove_index : Index.t -> Inference.equality -> Index.t -val in_index : Index.t -> Inference.equality -> bool +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 -> - Inference.equality -> - bool * Cic.substitution + Equality.equality -> + (Subst.substitution * Equality.equality * bool) option val superposition_left : - int -> Cic.conjecture list * Cic.context * CicUniv.universe_graph -> Index.t -> - Inference.equality -> - int * Inference.equality list + goal -> + goal list val superposition_right : + ?subterms_only:bool -> + UriManager.uri -> int -> 'a * Cic.context * CicUniv.universe_graph -> Index.t -> - Inference.equality -> - int * Inference.equality list + Equality.equality -> + int * Equality.equality list val demodulation_equality : ?from:string -> + UriManager.uri -> int -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Utils.equality_sign -> Inference.equality -> int * Inference.equality + Utils.equality_sign -> Equality.equality -> int * Equality.equality val demodulation_goal : - int -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Inference.proof * Cic.metasenv * Index.key -> - int * (Inference.proof * Cic.metasenv * Index.key) + goal -> + bool * goal val demodulation_theorem : 'a -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> @@ -84,7 +86,7 @@ val demodulation_theorem : 'a * (Cic.term * Index.key * Cic.metasenv) val check_target: Cic.context -> - Inference.equality -> string -> Cic.term * CicUniv.universe_graph + Equality.equality -> string -> unit -(* maxmeta for relocate *) -val local_max : int ref + (** profiling *) +val get_stats: unit -> string