:: Semiring of Sets :: by Roland Coghetto :: :: Received March 31, 2014 :: Copyright (c) 2014-2018 Association of Mizar Users :: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland). :: This code can be distributed under the GNU General Public Licence :: version 3.0 or later, or the Creative Commons Attribution-ShareAlike :: License version 3.0 or later, subject to the binding interpretation :: detailed in file COPYING.interpretation. :: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these :: licenses, or see http://www.gnu.org/licenses/gpl.html and :: http://creativecommons.org/licenses/by-sa/3.0/. environ vocabularies ARYTM_1, ARYTM_3, CARD_3, EQREL_1, FINSEQ_1, FINSET_1, FINSUB_1, FUNCT_1, NAT_1, NAT_LAT, NUMBERS, ORDINAL1, ORDINAL4, RELAT_1, SETFAM_1, SIMPLEX0, SRINGS_1, SUBSET_1, TARSKI, TAXONOM2, XBOOLE_0, XCMPLX_0, XXREAL_0, ZFMISC_1, CARD_1, LATTICE7, PARTIT1, TEX_1; notations TARSKI, XBOOLE_0, SUBSET_1, EQREL_1, SETFAM_1, FINSET_1, ORDINAL1, CARD_3, RELAT_1, ZFMISC_1, FINSUB_1, FUNCT_1, SIMPLEX0, FINSEQ_1, NUMBERS, XXREAL_0, FUNCT_2, NAT_LAT, XXREAL_3, RELSET_1, TAXONOM2, NAT_1, TEX_1, LATTICE7, PARTIT1, CARD_1; constructors LATTICE5, NAT_LAT, RELSET_1, MEASURE6, TAXONOM2, COHSP_1, LATTICE7, PARTIT1, TOPGEN_4, TEX_1; registrations CARD_3, EQREL_1, FINSEQ_1, FINSET_1, FUNCT_1, INT_1, MEMBERED, NAT_1, NAT_LAT, RELAT_1, RELSET_1, SIMPLEX0, SUBSET_1, XBOOLE_0, XREAL_0, XXREAL_0, XXREAL_3, SETFAM_1, COHSP_1, ORDINAL1, CARD_1, ZFMISC_1, TEX_1; requirements ARITHM, BOOLE, NUMERALS, REAL, SUBSET; begin :: Preliminaries reserve X for set; reserve S for Subset-Family of X; theorem :: SRINGS_1:1 for X,Y be set holds (X\/Y)\(Y\X)=X; registration let X,S; let S1,S2 be finite Subset of S; cluster INTERSECTION(S1,S2) -> finite; end; theorem :: SRINGS_1:2 for S be Subset-Family of X, A be Element of S holds {x where x is Element of S: x in union (PARTITIONS(A)/\Fin S)} = union (PARTITIONS(A)/\Fin S); registration let X,S; cluster union (PARTITIONS({})/\Fin S) -> empty; end; registration let X; cluster cobool X -> with_empty_element; end; theorem :: SRINGS_1:3 for X be set st X is cap-closed cup-closed holds X is Ring_of_sets; begin definition let X be set; let S be Subset-Family of X; attr S is cap-finite-partition-closed means :: SRINGS_1:def 1 for S1,S2 be Element of S st S1/\S2 is non empty ex x be finite Subset of S st x is a_partition of S1/\S2; end; registration let X be set; cluster cobool X -> cap-finite-partition-closed; end; registration let X be set; cluster cap-finite-partition-closed for Subset-Family of X; end; registration let X be set; cluster cap-closed -> cap-finite-partition-closed for Subset-Family of X; end; theorem :: SRINGS_1:4 for A be non empty set, S be cap-finite-partition-closed Subset-Family of X, P1,P2 be a_partition of A st P1 is finite Subset of S & P2 is finite Subset of S ex P be a_partition of A st P is finite Subset of S & P '<' P1 '/\' P2; theorem :: SRINGS_1:5 for S be cap-finite-partition-closed Subset-Family of X holds for A,B be finite Subset of S st A is mutually-disjoint & B is mutually-disjoint ex P be finite Subset of S st P is a_partition of union A /\ union B; theorem :: SRINGS_1:6 for S be cap-finite-partition-closed Subset-Family of X holds for SM be finite Subset of S ex P be finite Subset of S st P is a_partition of meet SM; theorem :: SRINGS_1:7 for S be cap-finite-partition-closed Subset-Family of X holds {union x where x is finite Subset of S:x is mutually-disjoint} is cap-closed; definition let X be set; let S be Subset-Family of X; attr S is diff-finite-partition-closed means :: SRINGS_1:def 2 for S1,S2 be Element of S st S1\S2 is non empty ex x be finite Subset of S st x is a_partition of S1\S2; end; registration let X be set; cluster cobool X -> diff-finite-partition-closed; end; registration let X be set; cluster diff-finite-partition-closed for Subset-Family of X; end; registration let X be set; cluster diff-closed -> diff-finite-partition-closed for Subset-Family of X; end; theorem :: SRINGS_1:8 for S be diff-finite-partition-closed Subset-Family of X, S1 be Element of S, T be finite Subset of S holds ex P be finite Subset of S st P is a_partition of S1 \ union T; begin :: Partitions in a Difference of Sets definition let X be set; let S be Subset-Family of X; attr S is diff-c=-finite-partition-closed means :: SRINGS_1:def 3 for S1,S2 be Element of S st S2 c= S1 holds ex x be finite Subset of S st x is a_partition of S1\S2; end; theorem :: SRINGS_1:9 for S be Subset-Family of X st S is diff-finite-partition-closed holds S is diff-c=-finite-partition-closed; registration let X; cluster diff-finite-partition-closed -> diff-c=-finite-partition-closed for Subset-Family of X; end; registration let X; cluster cobool X -> diff-c=-finite-partition-closed; end; registration let X; cluster diff-c=-finite-partition-closed diff-finite-partition-closed cap-finite-partition-closed with_empty_element for Subset-Family of X; end; theorem :: SRINGS_1:10 for S be diff-finite-partition-closed Subset-Family of X holds {union x where x is finite Subset of S:x is mutually-disjoint} is diff-closed; theorem :: SRINGS_1:11 for S be cap-finite-partition-closed diff-c=-finite-partition-closed Subset-Family of X holds (for A be Element of S, Q be finite Subset of S st union Q c= A & Q is a_partition of union Q ex R be finite Subset of S st union R misses union Q & Q\/R is a_partition of A); theorem :: SRINGS_1:12 for S be diff-c=-finite-partition-closed cap-finite-partition-closed Subset-Family of X holds S is diff-finite-partition-closed; registration let X be set; cluster diff-c=-finite-partition-closed -> diff-finite-partition-closed for cap-finite-partition-closed Subset-Family of X; end; theorem :: SRINGS_1:13 for S be cap-finite-partition-closed diff-c=-finite-partition-closed Subset-Family of X, SM,T be finite Subset of S holds ex P be finite Subset of S st P is a_partition of (meet SM) \ union T; theorem :: SRINGS_1:14 for S be cap-finite-partition-closed diff-c=-finite-partition-closed Subset-Family of X, SM be finite Subset of S holds ex P be finite Subset of S st P is a_partition of union SM & for Y be Element of SM holds Y=union {s where s is Element of S:s in P & s c= Y}; theorem :: SRINGS_1:15 for S be cap-finite-partition-closed diff-c=-finite-partition-closed Subset-Family of X,SM be Function of NATPLUS,S holds ex P be countable Subset of S st P is a_partition of Union SM & for n be NatPlus holds Union (SM|Seg n)= union{s where s is Element of S: s in P & s c= Union (SM|Seg n)}; begin :: Countable Covers definition let X be set; let S be Subset-Family of X; attr S is with_countable_Cover means :: SRINGS_1:def 4 ex XX be countable Subset of S st XX is Cover of X; end; registration let X; cluster cobool X -> with_countable_Cover; end; registration let X; cluster diff-c=-finite-partition-closed diff-finite-partition-closed cap-finite-partition-closed with_empty_element with_countable_Cover for Subset-Family of X; end; theorem :: SRINGS_1:16 for S be cap-finite-partition-closed diff-c=-finite-partition-closed Subset-Family of X st S is with_countable_Cover holds ex P be countable Subset of S st P is a_partition of X; definition let X be set; mode semiring_of_sets of X is cap-finite-partition-closed diff-c=-finite-partition-closed with_empty_element Subset-Family of X; end; theorem :: SRINGS_1:17 for S be cap-finite-partition-closed Subset-Family of X, A be Element of S holds {x where x is Element of S: x in union (PARTITIONS(A)/\Fin S)} is cap-finite-partition-closed Subset-Family of A; theorem :: SRINGS_1:18 for S be cap-finite-partition-closed Subset-Family of X, A be Element of S holds {x where x is Element of S: x in union (PARTITIONS(A)/\Fin S)} is diff-c=-finite-partition-closed Subset-Family of A; theorem :: SRINGS_1:19 for S be cap-finite-partition-closed Subset-Family of X, A be Element of S holds union (PARTITIONS(A)/\Fin S) is cap-finite-partition-closed diff-finite-partition-closed Subset-Family of A & union (PARTITIONS(A)/\Fin S) is with_non-empty_elements; theorem :: SRINGS_1:20 for S be cap-finite-partition-closed Subset-Family of X, A be Element of S holds {{}}\/union (PARTITIONS(A)/\Fin S) is semiring_of_sets of A; theorem :: SRINGS_1:21 for S be cap-finite-partition-closed diff-finite-partition-closed Subset-Family of X holds {union x where x is finite Subset of S:x is mutually-disjoint} is cup-closed; theorem :: SRINGS_1:22 for S be cap-finite-partition-closed diff-finite-partition-closed Subset-Family of X holds {union x where x is finite Subset of S:x is mutually-disjoint} is Ring_of_sets;