Remoaved a few now redundant rewrite rules.
authornipkow
Sat, 09 Jan 1999 17:55:54 +0100
changeset 6075 c148037f53c6
parent 6074 34242451bc91
child 6076 560396301672
Remoaved a few now redundant rewrite rules.
src/HOL/Arith.ML
src/HOL/NatDef.ML
--- a/src/HOL/Arith.ML	Sat Jan 09 15:25:44 1999 +0100
+++ b/src/HOL/Arith.ML	Sat Jan 09 17:55:54 1999 +0100
@@ -124,12 +124,12 @@
 by (exhaust_tac "m" 1);
 by (ALLGOALS (fast_tac (claset() addss (simpset()))));
 qed "pred_add_is_0";
-Addsimps [pred_add_is_0];
+(*Addsimps [pred_add_is_0];*)
 
 (* Could be generalized, eg to "k<n ==> m+(n-(Suc k)) = (m+n)-(Suc k)" *)
 Goal "0<n ==> m + (n-1) = (m+n)-1";
 by (exhaust_tac "m" 1);
-by (ALLGOALS (asm_simp_tac (simpset() addsimps [diff_Suc]
+by (ALLGOALS (asm_simp_tac (simpset() addsimps [diff_Suc, Suc_n_not_n]
                                       addsplits [nat.split])));
 qed "add_pred";
 Addsimps [add_pred];
@@ -365,7 +365,7 @@
 
 Goal "m - n <= (m::nat)";
 by (res_inst_tac [("m","m"), ("n","n")] diff_induct 1);
-by (ALLGOALS Asm_simp_tac);
+by (ALLGOALS (asm_simp_tac (simpset() addsimps [le_SucI])));
 qed "diff_le_self";
 Addsimps [diff_le_self];
 
@@ -929,8 +929,7 @@
 fun prep_pat s = Thm.read_cterm (sign_of Arith.thy) (s, HOLogic.boolT);
 
 val pats = map prep_pat
-  ["(m::nat) < n","(m::nat) <= n", "~ (m::nat) < n","~ (m::nat) <= n",
-   "(m::nat) = n"]
+  ["(m::nat) < n","(m::nat) <= n", "(m::nat) = n"]
 
 in
 val fast_nat_arith_simproc =
--- a/src/HOL/NatDef.ML	Sat Jan 09 15:25:44 1999 +0100
+++ b/src/HOL/NatDef.ML	Sat Jan 09 17:55:54 1999 +0100
@@ -283,7 +283,7 @@
 Goal "~(Suc(n) < n)";
 by (blast_tac (claset() addEs [Suc_lessD RS less_irrefl]) 1);
 qed "not_Suc_n_less_n";
-Addsimps [not_Suc_n_less_n];
+(*Addsimps [not_Suc_n_less_n];*)
 
 Goal "i<j ==> j<k --> Suc i < k";
 by (nat_ind_tac "k" 1);
@@ -318,6 +318,7 @@
 Goalw [le_def] "0 <= n";
 by (rtac not_less0 1);
 qed "le0";
+AddIffs [le0];
 
 Goalw [le_def] "~ Suc n <= n";
 by (Simp_tac 1);
@@ -329,10 +330,6 @@
 qed "le_0_eq";
 AddIffs [le_0_eq];
 
-Addsimps [(*less_Suc_eq, makes simpset non-confluent*) le0, le_0_eq,
-          Suc_n_not_le_n,
-          n_not_Suc_n, Suc_n_not_n];
-
 Goal "(m <= Suc(n)) = (m<=n | m = Suc n)";
 by (simp_tac (simpset() delsimps [less_Suc_eq_le]
 			addsimps [less_Suc_eq_le RS sym, less_Suc_eq]) 1);