;;
module CicHash =
- Hashtbl.Make
- (struct
- type t = Cic.term
- let equal = (==)
- let hash = Hashtbl.hash
- end)
+ struct
+ module Tmp =
+ Hashtbl.Make
+ (struct
+ type t = Cic.term
+ let equal = (==)
+ let hash = Hashtbl.hash
+ end)
+ include Tmp
+ let empty () = Tmp.create 1
+ end
;;
(* type_of_aux' is just another name (with a different scope) for type_of_aux *)
{synthesized = synthesized' ; expected = Some expectedty'},
expectedty'
in
+ assert (not (CicHash.mem subterms_to_types t));
CicHash.add subterms_to_types t types ;
res