|
1 | 1 | (** A serializable logic database. It contains all relevant context for proof |
2 | 2 | obligations. *) |
3 | 3 |
|
4 | | -type 'a uid_map = (Imandrax_api.Uid.t * 'a) list |
5 | | -[@@deriving show, twine, typereg] |
6 | | - |
7 | | -type ('ty, 'a) ph_map = ('ty Pattern_head.t_poly * 'a) list |
8 | | -[@@deriving show, twine, typereg, map, iter] |
9 | | - |
10 | 4 | type 'a ca_ptr = 'a Imandrax_api_ca_store.Ca_ptr.t [@@deriving twine, typereg] |
11 | 5 |
|
12 | 6 | open struct |
13 | 7 | let pp_ca_ptr _ out c = Imandrax_api_ca_store.Ca_ptr.pp out c |
14 | 8 | end |
15 | 9 |
|
16 | | -type ('term, 'ty) t_poly = { |
17 | | - cname_decls: Imandrax_api.Uid_set.t; (** declarations by cname/cptr *) |
18 | | - local_tys: 'ty Imandrax_api.Ty_view.def_poly list; |
19 | | - (** type declarations included here *) |
20 | | - local_funs: ('term, 'ty) Fun_def.t_poly list; |
21 | | - (** function declarations included here *) |
22 | | - rw_rules: ('ty, ('term, 'ty) Rewrite_rule.t_poly ca_ptr list) ph_map; |
23 | | - inst_rules: ('term, 'ty) Instantiation_rule.t_poly ca_ptr uid_map; |
24 | | - rule_spec_fc: 'ty Trigger.t_poly ca_ptr list uid_map; |
25 | | - rule_spec_rw_rules: ('term, 'ty) Rewrite_rule.t_poly ca_ptr list uid_map; |
26 | | - fc: ('ty, 'ty Trigger.t_poly ca_ptr list) ph_map; |
27 | | - elim: ('ty, ('term, 'ty) Elimination_rule.t_poly ca_ptr list) ph_map; |
28 | | - gen: ('ty, 'ty Trigger.t_poly ca_ptr list) ph_map; |
29 | | - thm_as_rw: ('term, 'ty) Rewrite_rule.t_poly ca_ptr list uid_map; |
30 | | - thm_as_fc: ('term, 'ty) Instantiation_rule.t_poly ca_ptr list uid_map; |
31 | | - thm_as_elim: ('term, 'ty) Elimination_rule.t_poly ca_ptr list uid_map; |
32 | | - thm_as_gen: ('term, 'ty) Instantiation_rule.t_poly ca_ptr list uid_map; |
33 | | - admission: Admission.t ca_ptr uid_map; |
34 | | - count_funs_of_ty: Imandrax_api.Uid.t uid_map; |
35 | | - (** Type -> count function for it *) |
36 | | - disabled: Imandrax_api.Uid_set.t; |
37 | | -} |
| 10 | +type ('term, 'ty) t_poly = { ops: ('term, 'ty) Db_op.t_poly ca_ptr list } |
38 | 11 | [@@deriving show { with_path = false }, twine, typereg] |
39 | 12 | (** A serializable logic database. *) |
40 | | - |
41 | | -(* NOTE: this is not deriving map because we can't map through a ca_ptr. *) |
0 commit comments