X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Findexing.mli;h=e36cfba494bbb432c77a8bb2185b73f72fdd5c35;hb=e78cf74f8976cf0ca554f64baa9979d0423ee927;hp=bb8bbd295cd7393cca8789fad567c7cc2ddd6ae0;hpb=04dc7b17e463fa9c75ac91e1df88bf37ed009914;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/indexing.mli b/helm/software/components/tactics/paramodulation/indexing.mli index bb8bbd295..e36cfba49 100644 --- a/helm/software/components/tactics/paramodulation/indexing.mli +++ b/helm/software/components/tactics/paramodulation/indexing.mli @@ -30,9 +30,11 @@ module Index : module PosEqSet : Set.S with type elt = Utils.pos * Equality.equality and type t = Equality_indexing.DT.PosEqSet.t - type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t + type t = + Discrimination_tree.Make(Discrimination_tree.CicIndexable)(PosEqSet).t end +val check_for_duplicates : Cic.metasenv -> string -> unit 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 @@ -61,33 +63,43 @@ val subsumption_all : val superposition_left : Equality.equality_bag -> Cic.conjecture list * Cic.context * CicUniv.universe_graph -> - Index.t -> Equality.goal -> int -> - int * Equality.goal list + Index.t -> Equality.goal -> + Equality.equality_bag * Equality.goal list val superposition_right : Equality.equality_bag -> ?subterms_only:bool -> UriManager.uri -> - int -> - 'a * Cic.context * CicUniv.universe_graph -> + Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> Equality.equality -> - int * Equality.equality list + Equality.equality_bag * Equality.equality list +val demod : + Equality.equality_bag -> + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.goal -> + bool * Equality.goal val demodulation_equality : Equality.equality_bag -> ?from:string -> UriManager.uri -> - int -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> - Equality.equality -> int * Equality.equality + Equality.equality -> Equality.equality_bag * Equality.equality val demodulation_goal : Equality.equality_bag -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> Equality.goal -> bool * Equality.goal +val demodulation_all_goal : + Equality.equality_bag -> + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.goal -> int -> + Equality.goal list val demodulation_theorem : Equality.equality_bag -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> @@ -105,8 +117,6 @@ val solve_demodulating: Index.t -> Equality.goal -> int -> - Equality.goal option - + (Equality.equality_bag * Equality.goal_proof * Cic.metasenv * + Subst.substitution * Equality.proof) option - (** profiling *) -val get_stats: unit -> string