type spec =
| Decl
- | Def
- | Fix of int * int (* fixno, recparamno *)
+ | Def of int (* height *)
+ | Fix of int * int * int (* fixno, recparamno, height *)
| CoFix of int
- | Ind of bool * int (* inductive, indtyno *)
- | Con of int * int (* indtyno, constrno *)
+ | Ind of bool * int * int (* inductive, indtyno, leftno *)
+ | Con of int * int * int (* indtyno, constrno, leftno *)
-type reference = private Ref of int * NUri.uri * spec
+type reference = private Ref of NUri.uri * spec
val eq: reference -> reference -> bool
val string_of_reference: reference -> string
(* given the reference of an inductive type, returns the i-th contructor *)
val mk_constructor: int -> reference -> reference
+(* given the reference of an inductive type constructor, returns the indty *)
+val mk_indty: bool -> reference -> reference
val mk_fix: int -> int -> reference -> reference
val mk_cofix: int -> reference -> reference