--- 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 \<Longrightarrow> 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