X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Findexing.mli;h=1caa5ed41b5b0b46946552800caf04c1fcaf6052;hb=347a92a83c3fa154c850d94b1a211fbb8334d4f1;hp=340a1eddbc0acf0369ec36b29036d876a295a951;hpb=61f3a8a688132be943b81befa5805e27148f2038;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/indexing.mli b/helm/software/components/tactics/paramodulation/indexing.mli index 340a1eddb..1caa5ed41 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 @@ -74,6 +76,12 @@ val superposition_right : Equality.equality -> int * 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 -> @@ -90,15 +98,23 @@ val demodulation_goal : bool * Equality.goal val demodulation_theorem : Equality.equality_bag -> - 'a -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> - Index.t -> - Cic.term * Cic.term * Cic.metasenv -> - 'a * (Cic.term * Cic.term * Cic.metasenv) + Index.t -> + Cic.term * Cic.term * Cic.metasenv + -> Cic.term * Cic.term + val check_target: Equality.equality_bag -> Cic.context -> Equality.equality -> string -> unit +val solve_demodulating: + Equality.equality_bag -> + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.goal -> + int -> + Equality.goal option + (** profiling *) val get_stats: unit -> string