Cic.term list (* arguments *)
and proof =
+ | NoProof
| BasicProof of Cic.term
| ProofBlock of
Cic.substitution * UriManager.uri *
+ (Cic.name * Cic.term) * Cic.term *
(* name, ty, eq_ty, left, right *)
- (Cic.name * Cic.term * Cic.term * Cic.term * Cic.term) *
- (Utils.pos * equality) * equality
- | NoProof
+(* (Cic.name * Cic.term * Cic.term * Cic.term * Cic.term) * *)
+ (Utils.pos * equality) * proof
+ | ProofGoalBlock of proof * proof (* equality *)
+ | ProofSymBlock of Cic.term Cic.explicit_named_substitution * proof
type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph
val equality_of_term: ?eq_uri:UriManager.uri -> Cic.term -> Cic.term ->
equality
+val term_is_equality: ?eq_uri:UriManager.uri -> Cic.term -> bool
+
(**
superposition_left env target source
returns a list of new clauses inferred with a left superposition step
(* val demodulation: int -> environment -> equality -> equality -> int * equality *)
+val meta_convertibility: Cic.term -> Cic.term -> bool
+
val meta_convertibility_eq: equality -> equality -> bool
val is_identity: environment -> equality -> bool
val extract_differing_subterms:
Cic.term -> Cic.term -> (Cic.term * Cic.term) option
+val build_proof_term: equality -> Cic.term
-val build_term_proof: equality -> Cic.term
+val find_library_equalities:
+ dbd:HMysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
+ equality list * int