src/HOL/Set.thy
changeset 18447 da548623916a
parent 18423 d7859164447f
child 18674 98d380757893
equal deleted inserted replaced
18446:6c558efcc754 18447:da548623916a
  1450   by blast
  1450   by blast
  1451 
  1451 
  1452 lemma Union_Int_subset: "\<Union>(A \<inter> B) \<subseteq> \<Union>A \<inter> \<Union>B"
  1452 lemma Union_Int_subset: "\<Union>(A \<inter> B) \<subseteq> \<Union>A \<inter> \<Union>B"
  1453   by blast
  1453   by blast
  1454 
  1454 
  1455 lemma Union_empty_conv [iff]: "(\<Union>A = {}) = (\<forall>x\<in>A. x = {})"
  1455 lemma Union_empty_conv [simp]: "(\<Union>A = {}) = (\<forall>x\<in>A. x = {})"
  1456   by blast
  1456   by blast
  1457 
  1457 
  1458 lemma empty_Union_conv [iff]: "({} = \<Union>A) = (\<forall>x\<in>A. x = {})"
  1458 lemma empty_Union_conv [simp]: "({} = \<Union>A) = (\<forall>x\<in>A. x = {})"
  1459   by blast
  1459   by blast
  1460 
  1460 
  1461 lemma Union_disjoint: "(\<Union>C \<inter> A = {}) = (\<forall>B\<in>C. B \<inter> A = {})"
  1461 lemma Union_disjoint: "(\<Union>C \<inter> A = {}) = (\<forall>B\<in>C. B \<inter> A = {})"
  1462   by blast
  1462   by blast
  1463 
  1463 
  1477   by blast
  1477   by blast
  1478 
  1478 
  1479 lemma Inter_Un_distrib: "\<Inter>(A \<union> B) = \<Inter>A \<inter> \<Inter>B"
  1479 lemma Inter_Un_distrib: "\<Inter>(A \<union> B) = \<Inter>A \<inter> \<Inter>B"
  1480   by blast
  1480   by blast
  1481 
  1481 
  1482 lemma Inter_UNIV_conv [iff]:
  1482 lemma Inter_UNIV_conv [simp]:
  1483   "(\<Inter>A = UNIV) = (\<forall>x\<in>A. x = UNIV)"
  1483   "(\<Inter>A = UNIV) = (\<forall>x\<in>A. x = UNIV)"
  1484   "(UNIV = \<Inter>A) = (\<forall>x\<in>A. x = UNIV)"
  1484   "(UNIV = \<Inter>A) = (\<forall>x\<in>A. x = UNIV)"
  1485   by blast+
  1485   by blast+
  1486 
  1486 
  1487 
  1487 
  1553 
  1553 
  1554 lemma INT_eq: "(\<Inter>x\<in>A. B x) = \<Inter>({Y. \<exists>x\<in>A. Y = B x})"
  1554 lemma INT_eq: "(\<Inter>x\<in>A. B x) = \<Inter>({Y. \<exists>x\<in>A. Y = B x})"
  1555   -- {* Look: it has an \emph{existential} quantifier *}
  1555   -- {* Look: it has an \emph{existential} quantifier *}
  1556   by blast
  1556   by blast
  1557 
  1557 
  1558 lemma UNION_empty_conv[iff]:
  1558 lemma UNION_empty_conv[simp]:
  1559   "({} = (UN x:A. B x)) = (\<forall>x\<in>A. B x = {})"
  1559   "({} = (UN x:A. B x)) = (\<forall>x\<in>A. B x = {})"
  1560   "((UN x:A. B x) = {}) = (\<forall>x\<in>A. B x = {})"
  1560   "((UN x:A. B x) = {}) = (\<forall>x\<in>A. B x = {})"
  1561 by blast+
  1561 by blast+
  1562 
  1562 
  1563 lemma INTER_UNIV_conv[iff]:
  1563 lemma INTER_UNIV_conv[simp]:
  1564  "(UNIV = (INT x:A. B x)) = (\<forall>x\<in>A. B x = UNIV)"
  1564  "(UNIV = (INT x:A. B x)) = (\<forall>x\<in>A. B x = UNIV)"
  1565  "((INT x:A. B x) = UNIV) = (\<forall>x\<in>A. B x = UNIV)"
  1565  "((INT x:A. B x) = UNIV) = (\<forall>x\<in>A. B x = UNIV)"
  1566 by blast+
  1566 by blast+
  1567 
  1567 
  1568 
  1568 
  1788   by blast
  1788   by blast
  1789 
  1789 
  1790 lemma subset_iff_psubset_eq: "(A \<subseteq> B) = ((A \<subset> B) | (A = B))"
  1790 lemma subset_iff_psubset_eq: "(A \<subseteq> B) = ((A \<subset> B) | (A = B))"
  1791   by (unfold psubset_def) blast
  1791   by (unfold psubset_def) blast
  1792 
  1792 
  1793 lemma all_not_in_conv [iff]: "(\<forall>x. x \<notin> A) = (A = {})"
  1793 lemma all_not_in_conv [simp]: "(\<forall>x. x \<notin> A) = (A = {})"
  1794   by blast
  1794   by blast
  1795 
  1795 
  1796 lemma ex_in_conv: "(\<exists>x. x \<in> A) = (A \<noteq> {})"
  1796 lemma ex_in_conv: "(\<exists>x. x \<in> A) = (A \<noteq> {})"
  1797   by blast
  1797   by blast
  1798 
  1798