X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fparamodulation%2Findexing.mli;h=7f464d2485af2c7f0b034172073e205bf1f5ee73;hb=373eac375c2950d0090cac177f44dbfb761389d5;hp=836a267dea78fa0f57cb0d8eb883d5f9e0c96f29;hpb=b0bbbe6ec20a0afa145c1e6d92530105d9d4d7e3;p=helm.git diff --git a/helm/software/components/tactics/paramodulation/indexing.mli b/helm/software/components/tactics/paramodulation/indexing.mli index 836a267de..7f464d248 100644 --- a/helm/software/components/tactics/paramodulation/indexing.mli +++ b/helm/software/components/tactics/paramodulation/indexing.mli @@ -31,7 +31,6 @@ 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 @@ -49,13 +48,24 @@ val subsumption : Index.t -> Equality.equality -> (Subst.substitution * Equality.equality * bool) option - +val unification_all : + Cic.metasenv * Cic.context * CicUniv.universe_graph -> + Index.t -> + Equality.equality -> + (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 -> @@ -65,6 +75,7 @@ val superposition_right : int * Equality.equality list val demodulation_equality : + Equality.equality_bag -> ?from:string -> UriManager.uri -> int -> @@ -72,19 +83,30 @@ val demodulation_equality : Index.t -> Equality.equality -> int * Equality.equality val demodulation_goal : + Equality.equality_bag -> Cic.metasenv * Cic.context * CicUniv.universe_graph -> Index.t -> 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 +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