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
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 ->
int * Equality.equality list
val demodulation_equality :
+ Equality.equality_bag ->
?from:string ->
UriManager.uri ->
int ->
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