blob: 1ad92ac3245e7412e778e5d935b8d5d7380d1656 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
(**************************************************************************)
(* *)
(* SMTCoq *)
(* Copyright (C) 2011 - 2016 *)
(* *)
(* Michaël Armand *)
(* Benjamin Grégoire *)
(* Chantal Keller *)
(* *)
(* Inria - École Polytechnique - Université Paris-Sud *)
(* *)
(* This file is distributed under the terms of the CeCILL-C licence *)
(* *)
(**************************************************************************)
(** Sharing of coq Int *)
let cInt_tbl = Hashtbl.create 17
let mkInt i =
try Hashtbl.find cInt_tbl i
with Not_found ->
let ci = Structures.mkInt i in
Hashtbl.add cInt_tbl i ci;
ci
(** Generic representation of shared object *)
type 'a gen_hashed = { index : int; hval : 'a }
(** Functions over constr *)
let mklApp f args = Term.mkApp (Lazy.force f, args)
(* TODO : Set -> Type *)
let declare_new_type = Structures.declare_new_type
let declare_new_variable = Structures.declare_new_variable
let mkName s =
let id = Names.id_of_string s in
Names.Name id
|