src/Pure/simplifier.ML
changeset 41253 42f24340ae53
parent 41228 e1fce873b814
child 41386 9400026a82f5
equal deleted inserted replaced
41252:4ae674714876 41253:42f24340ae53
   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