equal
deleted
inserted
replaced
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 |