]> matita.cs.unibo.it Git - fireball-separation.git/blob - ocaml/pure.mli
a6b90acf7e16c6be71967352756223cbefb70f6d
[fireball-separation.git] / ocaml / pure.mli
1 module Pure :
2   sig
3     type t = V of int | A of t * t | L of t | B
4     val print : ?l:string list -> t -> string
5     val lift : int -> t -> t
6     val unwind : ?tbl:('a list * t * 'a list as 'a, t) Hashtbl.t -> 'a -> t
7     val mwhd : (('a * t * ('b list as 'c) as 'b) list as 'a) * t * 'c -> t
8   end
9
10 module Scott :
11   sig
12     val mk_n : int -> Pure.t
13     val dummy : Pure.t
14     val mk_match : Pure.t -> (int * Pure.t) list -> Pure.t
15   end