diff -r 1378b654acde -r ed280ad05133 thys/Hoare_tm.thy --- a/thys/Hoare_tm.thy Thu Mar 06 13:28:38 2014 +0000 +++ b/thys/Hoare_tm.thy Thu Mar 06 15:28:20 2014 +0000 @@ -954,12 +954,10 @@ lemma listsum_upd_suc: "a < length ks \ listsum (map Suc (ks[a := Suc (ks ! a)]))= (Suc (listsum (map Suc ks)))" -by (smt Ex_list_of_length Skolem_list_nth elem_le_listsum_nat - length_induct length_list_update length_map length_splice - list_eq_iff_nth_eq list_ext_get_upd list_ext_lt_get list_update_beyond - list_update_id list_update_overwrite list_update_same_conv list_update_swap - listsum_update_nat map_eq_imp_length_eq map_update neq_if_length_neq - nth_equalityI nth_list_update nth_list_update_eq nth_list_update_neq nth_map reps_sep_len_def) +by (smt elem_le_listsum_nat + length_list_update list_ext_get_upd + list_update_overwrite listsum_update_nat map_update + nth_equalityI nth_list_update nth_map) lemma reps_len_suc: assumes "a < length ks" @@ -1915,8 +1913,10 @@ fun atomic tac = ((SOLVED' tac) ORELSE' (K all_tac)) + fun map_simpset f = Context.proof_map (Simplifier.map_ss f) + fun pure_sep_conj_ac_tac ctxt = - (auto_tac (ctxt |> Simplifier.map_simpset (fn ss => ss addsimps @{thms sep_conj_ac})) + (auto_tac (map_simpset (fn ss => ss addsimps @{thms sep_conj_ac}) ctxt) |> SELECT_GOAL) @@ -1928,7 +1928,7 @@ (pure_sep_conj_ac_tac ctxt i)); fun sep_conj_ac_tac ctxt = - (SOLVED' (auto_tac (ctxt |> Simplifier.map_simpset (fn ss => ss addsimps @{thms sep_conj_ac})) + (SOLVED' (auto_tac (ctxt |> map_simpset (fn ss => ss addsimps @{thms sep_conj_ac})) |> SELECT_GOAL)) ORELSE' (atomic (some_fact_tac ctxt)) *} @@ -2339,7 +2339,7 @@ (if conclusion then (orig, reordered) else (reordered, orig)); val rule = Goal.prove ctxt [] [] goal (fn _ => - auto_tac (ctxt |> Simplifier.map_simpset (fn ss => ss addsimps @{thms sep_conj_ac}))) + auto_tac (ctxt |> map_simpset (fn ss => ss addsimps @{thms sep_conj_ac}))) |> Drule.export_without_context in rule