type anntarget =
Object of annobj
| Term of annterm
+ | Conjecture of annconjecture
+ | Hypothesis of annhypothesis
(* INTERNAL REPRESENTATION OF CIC OBJECTS AND TERMS *)
and sort =
and coInductiveFun =
string * term * term (* name, type, body *)
-and metasenv = (int * context * term) list (* a metasenv is a list of declarations of metas *)
+(* a metasenv is a list of declarations of metas *)
+and conjecture = int * context * term
+and metasenv = conjecture list
-and annmetasenv = (int * anncontext * annterm) list (* a metasenv is a list of declarations of metas *)
+(* a metasenv is a list of declarations of metas *)
+and annconjecture = id * int * anncontext * annterm
+and annmetasenv = annconjecture list
and annterm =
ARel of id * int * string (* DeBrujin index, binder *)
Possible of 'a (* an approximation to something *)
| Actual of 'a (* something *)
-and context_entry = (* Contexts are lists of context_entry *)
+and context_entry = (* A declaration or definition *)
Decl of term
| Def of term
-and context = ((name * context_entry) option) list
+and hypothesis =
+ (name * context_entry) option (* None means no more accessible *)
-and anncontext_entry = (* Contexts are lists of context_entry *)
+and context = hypothesis list
+
+and anncontext_entry = (* A declaration or definition *)
ADecl of annterm
| ADef of annterm
-and anncontext = ((name * anncontext_entry) option) list;;
+and annhypothesis =
+ id * (name * anncontext_entry) option (* None means no more accessible *)
+
+and anncontext = annhypothesis list;;