type equality =
int * (* weight *)
+ proof *
(Cic.term * (* type *)
Cic.term * (* left side *)
Cic.term * (* right side *)
Cic.metasenv * (* environment for metas *)
Cic.term list (* arguments *)
-type proof =
+and proof =
| BasicProof of Cic.term
| ProofBlock of
- Cic.substitution * UriManager.uri * Cic.term * (Utils.pos * equality) *
- equality
+ Cic.substitution * UriManager.uri *
+ (* name, ty, eq_ty, left, right *)
+ (Cic.name * Cic.term * Cic.term * Cic.term * Cic.term) *
+ (Utils.pos * equality) * equality
| NoProof
Cic.term -> Cic.term -> (Cic.term * Cic.term) option
-val store_proof: equality -> proof -> unit
-
-val delete_proof: equality -> unit
-
val build_term_proof: equality -> Cic.term