exception MetaSubstFailure of string Lazy.t
exception Uncertain of string Lazy.t
+(* the index of the last created meta *)
+val maxmeta: unit -> int
+
(* the delift function takes in input a metavariable index, a local_context
- * and a term t, and substitutes every Rel in t with its position in
+ * and a term t, and substitutes every subterm t' of t with its position
+ * (searched up-to unification) in
* the local_context (which is the Rel moved to the canonical context).
* Typically, the list of optional terms is the explicit
* substitution that is applied to a metavariable occurrence and the result of
(* bool = true if the type of the new meta is closed *)
val mk_meta:
- ?name:string ->
+ ?attrs:NCic.meta_attrs ->
NCic.metasenv -> NCic.context ->
[ `WithType of NCic.term | `Term | `Type | `Sort ] ->
NCic.metasenv * int * NCic.term * NCic.term (* menv,metano,instance,type *)
NCic.context -> NCic.term -> int ->
NCic.term * NCic.metasenv * NCic.term list
-val flexible: NCic.substitution -> NCic.term list -> bool
-
-val in_scope_tag : string
-val out_scope_tag : int -> string
-val is_out_scope_tag : string -> bool
-val int_of_out_scope_tag : string -> int
+val is_out_scope_tag : NCic.meta_attrs -> bool
+val int_of_out_scope_tag : NCic.meta_attrs -> int