X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=ocaml%2Fnum.mli;h=9cf81ccdd113e52d6162960d9edaff27de6c8648;hb=87e0182247e9176ec3612eaf3c7f90b81f43b6f5;hp=c1ad8f0a010e4af8b91b03c479d347ba538e8d25;hpb=dc3d76330323f0eba348377062934481c763d450;p=fireball-separation.git diff --git a/ocaml/num.mli b/ocaml/num.mli index c1ad8f0..9cf81cc 100644 --- a/ocaml/num.mli +++ b/ocaml/num.mli @@ -18,9 +18,11 @@ 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 +val free_vars' : nf -> var list val free_vars : nf -> int list module ToScott : sig @@ -32,12 +34,16 @@ val string_of_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 val mk_match : nf i_num_var_ -> var -> int -> (int * nf) list ref -> nf list -> nf -val subst : bool -> int -> nf -> nf -> nf +val subst : bool -> bool -> int -> nf -> nf -> nf 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 option +val compute_arities : int -> int -> nf list -> int list +val minus1 : int -> int