equal
deleted
inserted
replaced
861 fun tac elim add_ths del_ths = Subgoal.FOCUS_PARAMS (fn {context = ctxt, ...} => |
861 fun tac elim add_ths del_ths = Subgoal.FOCUS_PARAMS (fn {context = ctxt, ...} => |
862 let |
862 let |
863 val simpset_ctxt = |
863 val simpset_ctxt = |
864 put_simpset (fst (get ctxt)) ctxt delsimps del_ths addsimps add_ths |
864 put_simpset (fst (get ctxt)) ctxt delsimps del_ths addsimps add_ths |
865 in |
865 in |
866 Method.insert_tac (Named_Theorems.get ctxt @{named_theorems arith}) |
866 Method.insert_tac (rev (Named_Theorems.get ctxt @{named_theorems arith})) |
867 THEN_ALL_NEW Object_Logic.full_atomize_tac ctxt |
867 THEN_ALL_NEW Object_Logic.full_atomize_tac ctxt |
868 THEN_ALL_NEW CONVERSION Thm.eta_long_conversion |
868 THEN_ALL_NEW CONVERSION Thm.eta_long_conversion |
869 THEN_ALL_NEW simp_tac simpset_ctxt |
869 THEN_ALL_NEW simp_tac simpset_ctxt |
870 THEN_ALL_NEW (TRY o generalize_tac (int_nat_terms ctxt)) |
870 THEN_ALL_NEW (TRY o generalize_tac (int_nat_terms ctxt)) |
871 THEN_ALL_NEW Object_Logic.full_atomize_tac ctxt |
871 THEN_ALL_NEW Object_Logic.full_atomize_tac ctxt |