]> matita.cs.unibo.it Git - fireball-separation.git/blobdiff - ocaml/num.mli
still stepping on negative variables
[fireball-separation.git] / ocaml / num.mli
index c1ad8f0a010e4af8b91b03c479d347ba538e8d25..e06a8211f7a99c9d52cbe34bb0751189a1f9954b 100644 (file)
@@ -18,6 +18,7 @@ type i_n_var = nf i_n_var_
 type i_num_var = nf i_num_var_
 val hd_of_i_var : i_var -> int
 val hd_of : i_n_var -> int option
+val arity_of_hd : i_n_var -> int
 (* put t under n lambdas, lifting t accordingtly *)
 val make_lams : nf -> int -> nf
 val lift : int -> nf -> nf
@@ -32,6 +33,7 @@ val string_of_nf : [<nf] -> string
 val cast_to_i_var : [< nf > `I `Var] -> i_var
 val cast_to_i_n_var : [< nf > `I `N `Var] -> i_n_var
 val cast_to_i_num_var : [< nf > `I `N `Match `Var] -> i_num_var
+val set_arity : int -> nf -> nf
 val mk_app : nf -> nf -> nf
 val mk_appl : nf -> nf list -> nf
 val mk_appx : nf -> nf Listx.listx -> nf
@@ -41,3 +43,5 @@ val parse' : string list -> nf list * string list
 val eta_compare : nf -> nf -> int
 val eta_eq : [< nf ] -> [< nf ] -> bool
 val eta_subterm : [< nf ] -> [< nf ] -> bool
+val max_arity_tms : int -> [< nf] list -> int
+val compute_arities : int -> int -> nf list -> int list