equal
deleted
inserted
replaced
35 val clear_ss: simpset -> simpset |
35 val clear_ss: simpset -> simpset |
36 val debug_bounds: bool Unsynchronized.ref |
36 val debug_bounds: bool Unsynchronized.ref |
37 val prems_of: simpset -> thm list |
37 val prems_of: simpset -> thm list |
38 val add_simp: thm -> simpset -> simpset |
38 val add_simp: thm -> simpset -> simpset |
39 val del_simp: thm -> simpset -> simpset |
39 val del_simp: thm -> simpset -> simpset |
|
40 val add_eqcong: thm -> simpset -> simpset |
|
41 val del_eqcong: thm -> simpset -> simpset |
|
42 val add_cong: thm -> simpset -> simpset |
|
43 val del_cong: thm -> simpset -> simpset |
40 val add_prems: thm list -> simpset -> simpset |
44 val add_prems: thm list -> simpset -> simpset |
41 val inherit_context: simpset -> simpset -> simpset |
45 val inherit_context: simpset -> simpset -> simpset |
42 val the_context: simpset -> Proof.context |
46 val the_context: simpset -> Proof.context |
43 val context: Proof.context -> simpset -> simpset |
47 val context: Proof.context -> simpset -> simpset |
44 val global_context: theory -> simpset -> simpset |
48 val global_context: theory -> simpset -> simpset |
52 val full_rewrite: simpset -> conv |
56 val full_rewrite: simpset -> conv |
53 val asm_lr_rewrite: simpset -> conv |
57 val asm_lr_rewrite: simpset -> conv |
54 val asm_full_rewrite: simpset -> conv |
58 val asm_full_rewrite: simpset -> conv |
55 val get_ss: Context.generic -> simpset |
59 val get_ss: Context.generic -> simpset |
56 val map_ss: (simpset -> simpset) -> Context.generic -> Context.generic |
60 val map_ss: (simpset -> simpset) -> Context.generic -> Context.generic |
57 val attrib: (simpset * thm list -> simpset) -> attribute |
61 val attrib: (thm -> simpset -> simpset) -> attribute |
58 val simp_add: attribute |
62 val simp_add: attribute |
59 val simp_del: attribute |
63 val simp_del: attribute |
60 val cong_add: attribute |
64 val cong_add: attribute |
61 val cong_del: attribute |
65 val cong_del: attribute |
62 val check_simproc: Proof.context -> xstring * Position.T -> string |
66 val check_simproc: Proof.context -> xstring * Position.T -> string |
125 |
129 |
126 (** simpset data **) |
130 (** simpset data **) |
127 |
131 |
128 (* attributes *) |
132 (* attributes *) |
129 |
133 |
130 fun attrib f = Thm.declaration_attribute (fn th => map_ss (fn ss => f (ss, [th]))); |
134 fun attrib f = Thm.declaration_attribute (map_ss o f); |
131 |
135 |
132 val simp_add = attrib (op addsimps); |
136 val simp_add = attrib add_simp; |
133 val simp_del = attrib (op delsimps); |
137 val simp_del = attrib del_simp; |
134 val cong_add = attrib (op addcongs); |
138 val cong_add = attrib add_cong; |
135 val cong_del = attrib (op delcongs); |
139 val cong_del = attrib del_cong; |
136 |
140 |
137 |
141 |
138 (* local simpset *) |
142 (* local simpset *) |
139 |
143 |
140 fun map_simpset f = Context.proof_map (map_ss f); |
144 fun map_simpset f = Context.proof_map (map_ss f); |