diff -r c45cdc1b5e09 -r 9d55bc687e1e src/HOL/Arith.ML --- a/src/HOL/Arith.ML Tue Mar 03 15:09:04 1998 +0100 +++ b/src/HOL/Arith.ML Tue Mar 03 15:11:26 1998 +0100 @@ -437,6 +437,10 @@ addsplits [expand_if]) 1); qed "if_Suc_diff_n"; +goal Arith.thy "Suc(m)-n <= Suc(m-n)"; +by (simp_tac (simpset() addsimps [if_Suc_diff_n] addsplits [expand_if]) 1); +qed "diff_Suc_le_Suc_diff"; + goal Arith.thy "P(k) --> (!n. P(Suc(n))--> P(n)) --> P(k-i)"; by (res_inst_tac [("m","k"),("n","i")] diff_induct 1); by (ALLGOALS (Clarify_tac THEN' Simp_tac THEN' TRY o Blast_tac)); @@ -611,8 +615,7 @@ qed "add_less_imp_less_diff"; goal Arith.thy "!! n. n <= m ==> Suc m - n = Suc (m - n)"; -by (rtac Suc_diff_n 1); -by (asm_full_simp_tac (simpset() addsimps [le_eq_less_Suc]) 1); +by (asm_full_simp_tac (simpset() addsimps [Suc_diff_n, le_eq_less_Suc]) 1); qed "Suc_diff_le"; goal Arith.thy "!! n. Suc i <= n ==> Suc (n - Suc i) = n - i";