author | huffman |
Tue, 12 Dec 2006 00:03:42 +0100 | |
changeset 21777 | a535be528d3a |
parent 21506 | b2a673894ce5 |
child 22846 | fb79144af9a3 |
permissions | -rw-r--r-- |
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
1 |
(* ID: $Id$ |
20773 | 2 |
Author: Jia Meng, NICTA |
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
3 |
|
20773 | 4 |
ATP rules. |
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
5 |
*) |
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
6 |
|
19170 | 7 |
signature RES_ATPSET = |
8 |
sig |
|
21506 | 9 |
val print_atpset: Proof.context -> unit |
10 |
val get_atpset: Proof.context -> thm list |
|
20773 | 11 |
val atp_add: attribute |
12 |
val atp_del: attribute |
|
13 |
val setup: theory -> theory |
|
19170 | 14 |
end; |
15 |
||
20773 | 16 |
structure ResAtpset: RES_ATPSET = |
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
17 |
struct |
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
18 |
|
20773 | 19 |
structure Data = GenericDataFun |
20 |
( |
|
21 |
val name = "HOL/atpset"; |
|
22 |
type T = thm list; |
|
23 |
val empty = []; |
|
24 |
val extend = I; |
|
25 |
fun merge _ = Drule.merge_rules; |
|
26 |
fun print context rules = |
|
27 |
Pretty.writeln (Pretty.big_list "ATP rules:" |
|
28 |
(map (ProofContext.pretty_thm (Context.proof_of context)) rules)); |
|
29 |
); |
|
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
30 |
|
21506 | 31 |
val print_atpset = Data.print o Context.Proof; |
32 |
val get_atpset = Data.get o Context.Proof; |
|
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
33 |
|
20773 | 34 |
val atp_add = Thm.declaration_attribute (Data.map o Drule.add_rule); |
35 |
val atp_del = Thm.declaration_attribute (Data.map o Drule.del_rule); |
|
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
36 |
|
20773 | 37 |
val setup = |
38 |
Data.init #> |
|
39 |
Attrib.add_attributes [("atp", Attrib.add_del_args atp_add atp_del, "declaration of ATP rules")]; |
|
19159
f737ecbad1c4
A new file that sets up rules set used by ATPs. Rules are added to and removed from the set using "atp" attribute.
mengj
parents:
diff
changeset
|
40 |
|
20547 | 41 |
end; |