diff -r 480aae81b489 -r dfc629cd11de thys/abacus.thy --- a/thys/abacus.thy Sun Feb 03 12:24:28 2013 +0000 +++ b/thys/abacus.thy Sun Feb 03 13:31:14 2013 +0000 @@ -3,9 +3,19 @@ *} theory abacus -imports Main turing_basic +imports uncomputable begin +(* +declare tm_comp.simps [simp add] +declare adjust.simps[simp add] +declare shift.simps[simp add] +declare tm_wf.simps[simp add] +declare step.simps[simp add] +declare steps.simps[simp add] +*) +declare replicate_Suc[simp add] + text {* {\em Abacus} instructions: *} @@ -1300,8 +1310,7 @@ inv_locate_b.simps[simp del] lemma [intro]: "\rn. [Bk] = Bk \ rn" -apply(rule_tac x = "Suc 0" in exI, simp) -done +by (metis replicate_0 replicate_Suc) lemma [intro]: "at_begin_norm (as, am) (q, aaa, []) ires \ at_begin_norm (as, am) (q, aaa, [Bk]) ires" @@ -1877,7 +1886,6 @@ \ inv_after_write (as, lm) (y, l, Oc # r) ires" apply(auto simp: inv_on_right_moving.simps inv_after_write.simps ) apply(case_tac mr, auto simp: split: if_splits) -apply(case_tac [!] mr, simp_all) done lemma [simp]: "inv_on_right_moving (as, lm) (x, l, []) ires\