]> matita.cs.unibo.it Git - fireball-separation.git/blobdiff - ocaml/num.mli
Updated type of terms with arities in lambda and matche
[fireball-separation.git] / ocaml / num.mli
index 2f92884e92efddb0d9c51296950d7dc0261bf9eb..0eaa5b0a985ab7cbeabc40a63e1428ac5f9d8d01 100644 (file)
@@ -2,13 +2,13 @@ type 'nf i_var_ = [ `I of int * 'nf Listx.listx | `Var of int ]
 type 'nf i_n_var_ = [ `N of int | 'nf i_var_ ]
 type 'nf i_num_var_ =
     [ `I of int * 'nf Listx.listx
-    | `Match of 'nf i_num_var_ * int * (int * 'nf) list ref * 'nf list
+    | `Match of 'nf i_num_var_ * int * int * (int * 'nf) list ref * 'nf list
     | `N of int
     | `Var of int ]
 type 'nf nf_ =
     [ `I of int * 'nf Listx.listx
-    | `Lam of bool * 'nf nf_
-    | `Match of 'nf i_num_var_ * int * (int * 'nf) list ref * 'nf list
+    | `Lam of bool * int * 'nf nf_
+    | `Match of 'nf i_num_var_ * int * int * (int * 'nf) list ref * 'nf list
     | `N of int
     | `Var of int ]
 type nf = nf nf_
@@ -35,7 +35,7 @@ val cast_to_i_num_var : [< nf > `I `N `Match `Var] -> i_num_var
 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_ -> int -> (int * nf) list ref -> nf list -> nf
+val mk_match : nf i_num_var_ -> int -> int -> (int * nf) list ref -> nf list -> nf
 val subst : bool -> int -> nf -> nf -> nf
 val parse' : string list -> nf list * string list
 val eta_compare : nf -> nf -> int