Set.thy: remove redundant [simp] declarations
authorhuffman
Sun Oct 09 08:30:48 2011 +0200 (2011-10-09 ago)
changeset 451215e495ccf6e56
parent 45120 717bc892e4d7
child 45122 49e305100097
Set.thy: remove redundant [simp] declarations
src/HOL/Set.thy
     1.1 --- a/src/HOL/Set.thy	Mon Oct 03 22:21:19 2011 +0200
     1.2 +++ b/src/HOL/Set.thy	Sun Oct 09 08:30:48 2011 +0200
     1.3 @@ -483,8 +483,8 @@
     1.4  lemma contra_subsetD [no_atp]: "A \<subseteq> B ==> c \<notin> B ==> c \<notin> A"
     1.5    by blast
     1.6  
     1.7 -lemma subset_refl [simp]: "A \<subseteq> A"
     1.8 -  by (fact order_refl)
     1.9 +lemma subset_refl: "A \<subseteq> A"
    1.10 +  by (fact order_refl) (* already [iff] *)
    1.11  
    1.12  lemma subset_trans: "A \<subseteq> B ==> B \<subseteq> C ==> A \<subseteq> C"
    1.13    by (fact order_trans)
    1.14 @@ -586,8 +586,8 @@
    1.15  lemma UNIV_witness [intro?]: "EX x. x : UNIV"
    1.16    by simp
    1.17  
    1.18 -lemma subset_UNIV [simp]: "A \<subseteq> UNIV"
    1.19 -  by (rule subsetI) (rule UNIV_I)
    1.20 +lemma subset_UNIV: "A \<subseteq> UNIV"
    1.21 +  by (fact top_greatest) (* already simp *)
    1.22  
    1.23  text {*
    1.24    \medskip Eta-contracting these two rules (to remove @{text P})
    1.25 @@ -1074,10 +1074,10 @@
    1.26    by auto
    1.27  
    1.28  lemma subset_empty [simp]: "(A \<subseteq> {}) = (A = {})"
    1.29 -  by blast
    1.30 +  by (fact bot_unique)
    1.31  
    1.32  lemma not_psubset_empty [iff]: "\<not> (A < {})"
    1.33 -  by (unfold less_le) blast
    1.34 +  by (fact not_less_bot) (* FIXME: already simp *)
    1.35  
    1.36  lemma Collect_empty_eq [simp]: "(Collect P = {}) = (\<forall>x. \<not> P x)"
    1.37  by blast
    1.38 @@ -1204,8 +1204,8 @@
    1.39  
    1.40  text {* \medskip @{text Int} *}
    1.41  
    1.42 -lemma Int_absorb [simp]: "A \<inter> A = A"
    1.43 -  by (fact inf_idem)
    1.44 +lemma Int_absorb: "A \<inter> A = A"
    1.45 +  by (fact inf_idem) (* already simp *)
    1.46  
    1.47  lemma Int_left_absorb: "A \<inter> (A \<inter> B) = A \<inter> B"
    1.48    by (fact inf_left_idem)
    1.49 @@ -1228,11 +1228,11 @@
    1.50  lemma Int_absorb2: "A \<subseteq> B ==> A \<inter> B = A"
    1.51    by (fact inf_absorb1)
    1.52  
    1.53 -lemma Int_empty_left [simp]: "{} \<inter> B = {}"
    1.54 -  by (fact inf_bot_left)
    1.55 +lemma Int_empty_left: "{} \<inter> B = {}"
    1.56 +  by (fact inf_bot_left) (* already simp *)
    1.57  
    1.58 -lemma Int_empty_right [simp]: "A \<inter> {} = {}"
    1.59 -  by (fact inf_bot_right)
    1.60 +lemma Int_empty_right: "A \<inter> {} = {}"
    1.61 +  by (fact inf_bot_right) (* already simp *)
    1.62  
    1.63  lemma disjoint_eq_subset_Compl: "(A \<inter> B = {}) = (A \<subseteq> -B)"
    1.64    by blast
    1.65 @@ -1240,11 +1240,11 @@
    1.66  lemma disjoint_iff_not_equal: "(A \<inter> B = {}) = (\<forall>x\<in>A. \<forall>y\<in>B. x \<noteq> y)"
    1.67    by blast
    1.68  
    1.69 -lemma Int_UNIV_left [simp]: "UNIV \<inter> B = B"
    1.70 -  by (fact inf_top_left)
    1.71 +lemma Int_UNIV_left: "UNIV \<inter> B = B"
    1.72 +  by (fact inf_top_left) (* already simp *)
    1.73  
    1.74 -lemma Int_UNIV_right [simp]: "A \<inter> UNIV = A"
    1.75 -  by (fact inf_top_right)
    1.76 +lemma Int_UNIV_right: "A \<inter> UNIV = A"
    1.77 +  by (fact inf_top_right) (* already simp *)
    1.78  
    1.79  lemma Int_Un_distrib: "A \<inter> (B \<union> C) = (A \<inter> B) \<union> (A \<inter> C)"
    1.80    by (fact inf_sup_distrib1)
    1.81 @@ -1253,7 +1253,7 @@
    1.82    by (fact inf_sup_distrib2)
    1.83  
    1.84  lemma Int_UNIV [simp,no_atp]: "(A \<inter> B = UNIV) = (A = UNIV & B = UNIV)"
    1.85 -  by (fact inf_eq_top_iff)
    1.86 +  by (fact inf_eq_top_iff) (* already simp *)
    1.87  
    1.88  lemma Int_subset_iff [no_atp, simp]: "(C \<subseteq> A \<inter> B) = (C \<subseteq> A & C \<subseteq> B)"
    1.89    by (fact le_inf_iff)
    1.90 @@ -1264,8 +1264,8 @@
    1.91  
    1.92  text {* \medskip @{text Un}. *}
    1.93  
    1.94 -lemma Un_absorb [simp]: "A \<union> A = A"
    1.95 -  by (fact sup_idem)
    1.96 +lemma Un_absorb: "A \<union> A = A"
    1.97 +  by (fact sup_idem) (* already simp *)
    1.98  
    1.99  lemma Un_left_absorb: "A \<union> (A \<union> B) = A \<union> B"
   1.100    by (fact sup_left_idem)
   1.101 @@ -1288,17 +1288,17 @@
   1.102  lemma Un_absorb2: "B \<subseteq> A ==> A \<union> B = A"
   1.103    by (fact sup_absorb1)
   1.104  
   1.105 -lemma Un_empty_left [simp]: "{} \<union> B = B"
   1.106 -  by (fact sup_bot_left)
   1.107 +lemma Un_empty_left: "{} \<union> B = B"
   1.108 +  by (fact sup_bot_left) (* already simp *)
   1.109  
   1.110 -lemma Un_empty_right [simp]: "A \<union> {} = A"
   1.111 -  by (fact sup_bot_right)
   1.112 +lemma Un_empty_right: "A \<union> {} = A"
   1.113 +  by (fact sup_bot_right) (* already simp *)
   1.114  
   1.115 -lemma Un_UNIV_left [simp]: "UNIV \<union> B = UNIV"
   1.116 -  by (fact sup_top_left)
   1.117 +lemma Un_UNIV_left: "UNIV \<union> B = UNIV"
   1.118 +  by (fact sup_top_left) (* already simp *)
   1.119  
   1.120 -lemma Un_UNIV_right [simp]: "A \<union> UNIV = UNIV"
   1.121 -  by (fact sup_top_right)
   1.122 +lemma Un_UNIV_right: "A \<union> UNIV = UNIV"
   1.123 +  by (fact sup_top_right) (* already simp *)
   1.124  
   1.125  lemma Un_insert_left [simp]: "(insert a B) \<union> C = insert a (B \<union> C)"
   1.126    by blast
   1.127 @@ -1344,7 +1344,7 @@
   1.128    by (fact le_iff_sup)
   1.129  
   1.130  lemma Un_empty [iff]: "(A \<union> B = {}) = (A = {} & B = {})"
   1.131 -  by (fact sup_eq_bot_iff)
   1.132 +  by (fact sup_eq_bot_iff) (* FIXME: already simp *)
   1.133  
   1.134  lemma Un_subset_iff [no_atp, simp]: "(A \<union> B \<subseteq> C) = (A \<subseteq> C & B \<subseteq> C)"
   1.135    by (fact le_sup_iff)
   1.136 @@ -1370,14 +1370,14 @@
   1.137  lemma Compl_partition2: "-A \<union> A = UNIV"
   1.138    by (fact compl_sup_top)
   1.139  
   1.140 -lemma double_complement [simp]: "- (-A) = (A::'a set)"
   1.141 -  by (fact double_compl)
   1.142 +lemma double_complement: "- (-A) = (A::'a set)"
   1.143 +  by (fact double_compl) (* already simp *)
   1.144  
   1.145 -lemma Compl_Un [simp]: "-(A \<union> B) = (-A) \<inter> (-B)"
   1.146 -  by (fact compl_sup)
   1.147 +lemma Compl_Un: "-(A \<union> B) = (-A) \<inter> (-B)"
   1.148 +  by (fact compl_sup) (* already simp *)
   1.149  
   1.150 -lemma Compl_Int [simp]: "-(A \<inter> B) = (-A) \<union> (-B)"
   1.151 -  by (fact compl_inf)
   1.152 +lemma Compl_Int: "-(A \<inter> B) = (-A) \<union> (-B)"
   1.153 +  by (fact compl_inf) (* already simp *)
   1.154  
   1.155  lemma subset_Compl_self_eq: "(A \<subseteq> -A) = (A = {})"
   1.156    by blast
   1.157 @@ -1386,17 +1386,17 @@
   1.158    -- {* Halmos, Naive Set Theory, page 16. *}
   1.159    by blast
   1.160  
   1.161 -lemma Compl_UNIV_eq [simp]: "-UNIV = {}"
   1.162 -  by (fact compl_top_eq)
   1.163 +lemma Compl_UNIV_eq: "-UNIV = {}"
   1.164 +  by (fact compl_top_eq) (* already simp *)
   1.165  
   1.166 -lemma Compl_empty_eq [simp]: "-{} = UNIV"
   1.167 -  by (fact compl_bot_eq)
   1.168 +lemma Compl_empty_eq: "-{} = UNIV"
   1.169 +  by (fact compl_bot_eq) (* already simp *)
   1.170  
   1.171  lemma Compl_subset_Compl_iff [iff]: "(-A \<subseteq> -B) = (B \<subseteq> A)"
   1.172 -  by (fact compl_le_compl_iff)
   1.173 +  by (fact compl_le_compl_iff) (* FIXME: already simp *)
   1.174  
   1.175  lemma Compl_eq_Compl_iff [iff]: "(-A = -B) = (A = (B::'a set))"
   1.176 -  by (fact compl_eq_compl_iff)
   1.177 +  by (fact compl_eq_compl_iff) (* FIXME: already simp *)
   1.178  
   1.179  lemma Compl_insert: "- insert x A = (-A) - {x}"
   1.180    by blast