NCic.substitution ->
int -> int list -> NCic.metasenv * NCic.substitution * int
+(* bool = true if the type of the new meta is closed *)
val mk_meta:
- ?name:string ->
- NCic.metasenv -> NCic.context -> NCic.term option ->
- NCic.metasenv * NCic.term * NCic.term (* menv, instance, type *)
+ ?name:string ->
+ NCic.metasenv -> NCic.context ->
+ [ `WithType of NCic.term | `Term | `Type | `Sort ] ->
+ NCic.metasenv * NCic.term * NCic.term (* menv, instance, type *)
(* returns the resulting type, the metasenv and the arguments *)
val saturate:
- ?delta:int -> NCic.metasenv -> NCic.context -> NCic.term -> int ->
+ ?delta:int -> NCic.metasenv -> NCic.substitution ->
+ NCic.context -> NCic.term -> int ->
NCic.term * NCic.metasenv * NCic.term list