src/HOL/Set.thy
changeset 14302 6c24235e8d5d
parent 14208 144f45277d5a
child 14335 9c0b5e081037
--- a/src/HOL/Set.thy	Thu Dec 18 15:06:24 2003 +0100
+++ b/src/HOL/Set.thy	Fri Dec 19 04:28:45 2003 +0100
@@ -895,6 +895,9 @@
   apply (erule insertI2)
   done
 
+lemma subset_insertI2: "A \<subseteq> B \<Longrightarrow> A \<subseteq> insert b B"
+by blast
+
 lemma subset_insert: "x \<notin> A ==> (A \<subseteq> insert x B) = (A \<subseteq> B)"
   by blast
 
@@ -961,6 +964,9 @@
 lemma Diff_subset: "A - B \<subseteq> A"
   by blast
 
+lemma Diff_subset_conv: "(A - B \<subseteq> C) = (A \<subseteq> B \<union> C)"
+by blast
+
 
 text {* \medskip Monotonicity. *}
 
@@ -1052,6 +1058,9 @@
 lemma UN_insert_distrib: "u \<in> A ==> (\<Union>x\<in>A. insert a (B x)) = insert a (\<Union>x\<in>A. B x)"
   by blast
 
+lemma insert_inter_insert[simp]: "insert a A \<inter> insert a B = insert a (A \<inter> B)"
+by blast
+
 lemma insert_disjoint[simp]:
  "(insert a A \<inter> B = {}) = (a \<notin> B \<and> A \<inter> B = {})"
 by blast
@@ -1495,6 +1504,9 @@
 lemma Diff_cancel [simp]: "A - A = {}"
   by blast
 
+lemma Diff_idemp [simp]: "(A - B) - B = A - (B::'a set)"
+by blast
+
 lemma Diff_triv: "A \<inter> B = {} ==> A - B = A"
   by (blast elim: equalityE)
 
@@ -1524,6 +1536,9 @@
 lemma insert_Diff1 [simp]: "x \<in> B ==> insert x A - B = A - B"
   by blast
 
+lemma insert_Diff_single[simp]: "insert a (A - {a}) = insert a A"
+by blast
+
 lemma insert_Diff: "a \<in> A ==> insert a (A - {a}) = A"
   by blast