equal
deleted
inserted
replaced
|
1 (* Title: HOL/thy_data.ML |
|
2 ID: $Id$ |
|
3 Author: Markus Wenzel, TU Muenchen |
|
4 |
|
5 HOL theory data. |
|
6 *) |
|
7 |
|
8 type datatype_info = |
|
9 {case_const: term, |
|
10 case_rewrites: thm list, |
|
11 constructors: term list, |
|
12 induct_tac: string -> int -> tactic, |
|
13 nchotomy: thm, |
|
14 exhaustion: thm, |
|
15 exhaust_tac: string -> int -> tactic, |
|
16 case_cong: thm}; |
|
17 |
|
18 signature THY_DATA = |
|
19 sig |
|
20 val datatypesK: string |
|
21 val hol_data: (string * (exn * (exn -> exn) * (exn * exn -> exn) * (exn -> unit))) list |
|
22 end; |
|
23 |
|
24 structure ThyData: THY_DATA = |
|
25 struct |
|
26 |
|
27 |
|
28 (** datatypes **) (* FIXME *) |
|
29 |
|
30 val datatypesK = "datatypes"; |
|
31 exception DatatypeInfo of datatype_info Symtab.table; |
|
32 |
|
33 |
|
34 |
|
35 (** records **) (* FIXME *) |
|
36 |
|
37 val recordsK = "records"; |
|
38 |
|
39 |
|
40 |
|
41 (** hol_data **) |
|
42 |
|
43 val hol_data = |
|
44 [Simplifier.simpset_thy_data, ClasetThyData.thy_data]; |
|
45 |
|
46 |
|
47 end; |