]> matita.cs.unibo.it Git - fireball-separation.git/blobdiff - ocaml/num.mli
Implemented garbage in Num
[fireball-separation.git] / ocaml / num.mli
index ca99e44a86b0e596271ac6c9c6e54ec45ce784a2..57526a0d9737956718b737b2984fc78061f17636 100644 (file)
@@ -8,7 +8,7 @@ type 'nf i_num_var_ =
     | `Var of var ]
 type 'nf nf_ =
     [ `I of var * 'nf Listx.listx
-    | `Lam of bool * 'nf nf_
+    | `Lam of bool * 'nf nf_ * ('nf nf_) list
     | `Match of 'nf i_num_var_ * var * int * (int * 'nf) list ref * 'nf list
     | `N of int
     | `Var of var ]
@@ -22,9 +22,11 @@ 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
+    val bomb : nf ref
     val t_of_i_num_var : nf i_num_var_ -> Pure.Pure.t
     val t_of_nf : nf -> Pure.Pure.t
   end
@@ -39,9 +41,9 @@ 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 -> 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