(* (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
-
+(* | ProofSymBlock of Cic.term Cic.explicit_named_substitution * proof *)
+ | ProofSymBlock of Cic.term list * proof
+ | SubProof of Cic.term * int * proof
type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph
fresh metas...
*)
val find_equalities:
- ?eq_uri:UriManager.uri -> Cic.context -> ProofEngineTypes.proof ->
- equality list * int
+ Cic.context -> ProofEngineTypes.proof -> int list * equality list * int
exception TermIsNotAnEquality;;
raises TermIsNotAnEquality if term is not an equation.
The first Cic.term is a proof of the equation
*)
-val equality_of_term: ?eq_uri:UriManager.uri -> Cic.term -> Cic.term ->
- equality
+val equality_of_term: Cic.term -> Cic.term -> equality
-val term_is_equality: ?eq_uri:UriManager.uri -> Cic.term -> bool
+val term_is_equality: Cic.term -> bool
(**
superposition_left env target source
val extract_differing_subterms:
Cic.term -> Cic.term -> (Cic.term * Cic.term) option
-val build_proof_term: equality -> Cic.term
+val build_proof_term: proof (* equality *) -> Cic.term
val find_library_equalities:
- dbd:Mysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
- equality list * int
+ HMysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
+ UriManager.UriSet.t * equality list * int
+
+val find_library_theorems:
+ HMysql.dbd -> environment -> ProofEngineTypes.status -> UriManager.UriSet.t ->
+ (UriManager.uri * Cic.term * Cic.term * Cic.metasenv) list
+
+val find_context_hypotheses:
+ environment -> int list -> (Cic.term * Cic.term * Cic.metasenv) list
+
+val string_of_proof: proof -> string