]> matita.cs.unibo.it Git - fireball-separation.git/blobdiff - ocaml_new/num.mli
New FASTER! SIMPLER! algorithm
[fireball-separation.git] / ocaml_new / num.mli
diff --git a/ocaml_new/num.mli b/ocaml_new/num.mli
new file mode 100644 (file)
index 0000000..8b0bab4
--- /dev/null
@@ -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