src/HOLCF/IOA/NTP/Multiset.ML
changeset 4681 a331c1f5a23e
parent 4423 a129b817b58a
child 4710 05e57f1879ee
--- a/src/HOLCF/IOA/NTP/Multiset.ML	Thu Mar 05 10:47:27 1998 +0100
+++ b/src/HOLCF/IOA/NTP/Multiset.ML	Fri Mar 06 15:19:29 1998 +0100
@@ -39,12 +39,10 @@
 qed "count_delm_simp";
 
 goal Multiset.thy "!!M. (!x. P(x) --> Q(x)) ==> (countm M P <= countm M Q)";
-  by (res_inst_tac [("M","M")] Multiset.induction 1);
-  by (simp_tac (simpset() addsimps [Multiset.countm_empty_def]) 1);
-  by (simp_tac (simpset() addsimps[Multiset.countm_nonempty_def]) 1);
-  by (etac add_le_mono 1);
-  by (asm_full_simp_tac (simpset() addsimps [le_eq_less_or_eq]
-                                  setloop (split_tac [expand_if])) 1);
+by (res_inst_tac [("M","M")] Multiset.induction 1);
+ by (simp_tac (simpset() addsimps [Multiset.countm_empty_def]) 1);
+by (simp_tac (simpset() addsimps[Multiset.countm_nonempty_def]) 1);
+auto();
 qed "countm_props";
 
 goal Multiset.thy "!!P. ~P(obj) ==> countm M P = countm (delm M obj) P";
@@ -66,7 +64,7 @@
                        [Multiset.count_def,Multiset.delm_nonempty_def,
                         Multiset.countm_nonempty_def]
                     setloop (split_tac [expand_if])) 1);
-val pos_count_imp_pos_countm = store_thm("pos_count_imp_pos_countm", standard(result() RS mp));
+qed_spec_mp "pos_count_imp_pos_countm";
 
 goal Multiset.thy
    "!!P. P(x) ==> 0<count M x --> countm (delm M x) P = pred (countm M P)";