--- a/thys/abacus.thy Mon Feb 04 11:14:03 2013 +0000
+++ b/thys/abacus.thy Mon Feb 04 21:11:43 2013 +0000
@@ -6,6 +6,14 @@
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 {*
@@ -1723,6 +1731,23 @@
lemma wf_inc_le[intro]: "wf inc_LE"
by(auto intro:wf_inv_image simp: inc_LE_def lex_triple_def lex_pair_def)
+lemma numeral_5_eq_5: "5 = Suc (Suc (Suc (Suc (Suc 0))))"
+by arith
+
+lemma numeral_6_eq_6: "6 = Suc (Suc (Suc (Suc (Suc 1))))"
+by arith
+
+lemma numeral_7_eq_7: "7 = Suc (Suc (Suc (Suc (Suc 2))))"
+by arith
+
+lemma numeral_8_eq_8: "8 = Suc (Suc (Suc (Suc (Suc 3))))"
+by arith
+
+lemma numeral_9_eq_9: "9 = Suc (Suc (Suc (Suc (Suc (Suc 3)))))"
+by arith
+
+lemma numeral_10_eq_10: "10 = Suc (Suc (Suc (Suc (Suc (Suc (Suc 3))))))"
+by arith
lemma inv_locate_b_2_after_write[simp]:
"inv_locate_b (as, am) (n, aaa, Bk # xs) ires
@@ -2128,8 +2153,9 @@
apply(simp add:Q)
apply(simp add: inc_inv.simps)
apply(case_tac c, case_tac [2] aa)
- apply(auto simp: Let_def step.simps tinc_b_def numeral split: if_splits)
- apply(simp_all add: inc_inv.simps inc_LE_def lex_triple_def lex_pair_def inc_measure_def numeral)
+ apply(auto simp: Let_def step.simps tinc_b_def numeral_2_eq_2 numeral_3_eq_3 split: if_splits)
+ apply(simp_all add: inc_inv.simps inc_LE_def lex_triple_def lex_pair_def inc_measure_def numeral_5_eq_5
+ numeral_6_eq_6 numeral_7_eq_7 numeral_8_eq_8 numeral_9_eq_9)
done
qed
qed
@@ -3656,7 +3682,7 @@
apply(simp_all split: if_splits)
using fetch layout dec_suc
apply(auto simp: step.simps P dec_inv_2.simps Let_def abc_dec_2_LE_def lex_triple_def lex_pair_def lex_square_def
- fix_add numeral)
+ fix_add numeral_3_eq_3)
done
qed
qed