with type elt = Utils.pos * Equality.equality
and type t = Equality_indexing.DT.PosEqSet.t
type t =
- Discrimination_tree.DiscriminationTreeIndexing(Discrimination_tree.CicIndexable)(PosEqSet).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
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 ->
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