type id = string (* the abstract type of the (annotated) node identifiers *)
type 'term explicit_named_substitution = (UriManager.uri * 'term) list
-type implicit_annotation = [ `Closed | `Type ]
+type implicit_annotation = [ `Closed | `Type | `Hole ]
type anntarget =
Object of annobj (* if annobj is a Constant, this is its type *)
Name of string
| Anonymous
and term =
- Rel of int (* DeBrujin index *)
+ Rel of int (* DeBrujin index, 1 based*)
| Var of UriManager.uri * (* uri, *)
term explicit_named_substitution (* explicit named subst. *)
| Meta of int * (term option) list (* numeric id, *)
| CurrentProof of string * metasenv * (* name, conjectures, *)
term * term * UriManager.uri list (* value, type, parameters *)
| InductiveDefinition of inductiveType list * (* inductive types, *)
- UriManager.uri list * int (* parameters, n ind. pars *)
+ UriManager.uri list * int (* params, left params no *)
and inductiveType =
string * bool * term * (* typename, inductive, arity *)
constructor list (* constructors *)