equal
deleted
inserted
replaced
110 fun extend ss = Raw_Simplifier.inherit_context empty_ss ss; |
110 fun extend ss = Raw_Simplifier.inherit_context empty_ss ss; |
111 val merge = merge_ss; |
111 val merge = merge_ss; |
112 ); |
112 ); |
113 |
113 |
114 val get_ss = Simpset.get; |
114 val get_ss = Simpset.get; |
115 fun map_ss f context = Simpset.map (with_context (Context.proof_of context) f) context; |
115 |
|
116 fun map_ss f context = |
|
117 Simpset.map (Raw_Simplifier.with_context (Context.proof_of context) f) context; |
116 |
118 |
117 |
119 |
118 (* attributes *) |
120 (* attributes *) |
119 |
121 |
120 fun attrib f = Thm.declaration_attribute (fn th => map_ss (fn ss => f (ss, [th]))); |
122 fun attrib f = Thm.declaration_attribute (fn th => map_ss (fn ss => f (ss, [th]))); |
229 val loop_tac = FIRST' (map (fn (_, tac) => tac ss) (rev loop_tacs)); |
231 val loop_tac = FIRST' (map (fn (_, tac) => tac ss) (rev loop_tacs)); |
230 val solve_tac = FIRST' (map (Raw_Simplifier.solver ss) |
232 val solve_tac = FIRST' (map (Raw_Simplifier.solver ss) |
231 (rev (if safe then solvers else unsafe_solvers))); |
233 (rev (if safe then solvers else unsafe_solvers))); |
232 |
234 |
233 fun simp_loop_tac i = |
235 fun simp_loop_tac i = |
234 asm_rewrite_goal_tac mode (solve_all_tac unsafe_solvers) ss i THEN |
236 Raw_Simplifier.asm_rewrite_goal_tac mode (solve_all_tac unsafe_solvers) ss i THEN |
235 (solve_tac i ORELSE TRY ((loop_tac THEN_ALL_NEW simp_loop_tac) i)); |
237 (solve_tac i ORELSE TRY ((loop_tac THEN_ALL_NEW simp_loop_tac) i)); |
236 in simp_loop_tac end; |
238 in simp_loop_tac end; |
237 |
239 |
238 local |
240 local |
239 |
241 |