X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=ocaml_new%2Fnum.mli;fp=ocaml_new%2Fnum.mli;h=8b0bab458f799261fe45104764a41d367ae361a5;hb=21c829a0b518a725f4db3d21250ad00dcf3bb889;hp=0000000000000000000000000000000000000000;hpb=4c157f176c89dcb5633d60c5be8a444ae0529c29;p=fireball-separation.git diff --git a/ocaml_new/num.mli b/ocaml_new/num.mli new file mode 100644 index 0000000..8b0bab4 --- /dev/null +++ b/ocaml_new/num.mli @@ -0,0 +1,38 @@ +val debug_display_arities : bool +type var = int * int +type 'nf_nob i_var_ = [ `I of var * 'nf_nob Listx.listx | `Var of var ] +type 'nf nf_nob_ = + [ `I of var * 'nf nf_nob_ Listx.listx + | `Lam of bool * 'nf + | `Pacman + | `Var of var ] +type nf = + [ `Bottom + | `I of var * nf nf_nob_ Listx.listx + | `Lam of bool * nf + | `Pacman + | `Var of var ] +type nf_nob = nf nf_nob_ +type i_var = nf_nob i_var_ +val hd_of_i_var : [< `I of ('a * 'b) * 'c | `Var of 'a * 'd ] -> 'a +val hd_of : [< `I of ('a * 'b) * 'c | `Var of 'a * 'd ] -> 'a +val arity_of_hd : [> `I of ('a * int) * 'b | `Var of 'c * int ] -> int +val lift : int -> nf -> nf +val make_lams : nf -> int -> nf +val free_vars' : nf -> (int * int) list +val free_vars : nf -> int list +module ToScott : sig val scott_of_nf : nf -> Pure.Pure.t end +val string_of_term : string list -> nf -> string +val print : ?l:string list -> nf -> string +val string_of_nf : [< nf ] -> string +val cast_to_i_var : [< nf > `I `Var] -> i_var +val set_arity : int -> nf -> nf +val minus1 : int -> int +val mk_app : nf -> nf -> nf +val mk_appl : nf -> nf list -> nf +val mk_appx : nf -> nf Listx.listx -> nf +val subst : bool -> bool -> int -> nf -> nf -> nf +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