:: The Cantor Set
:: by Alexander Yu. Shibakov and Andrzej Trybulec
::
:: Received January 9, 1995
:: Copyright (c) 1995-2019 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 SETFAM_1, SUBSET_1, TARSKI, PRE_TOPC, RCOMP_1, RLVECT_3,
FINSET_1, XBOOLE_0, FINSUB_1, SETWISEO, ZFMISC_1, STRUCT_0, FUNCT_1,
RELAT_1, CARD_3, NUMBERS, FUNCOP_1, CARD_1, NAT_1, CANTOR_1;
notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, ORDINAL1, NUMBERS, NAT_1,
SETFAM_1, RELAT_1, FUNCT_1, FUNCT_2, FINSET_1, FINSUB_1, SETWISEO,
PROB_1, STRUCT_0, PRE_TOPC, TOPS_2, CARD_3, FUNCOP_1;
constructors SETFAM_1, FUNCOP_1, SETWISEO, CARD_3, TOPS_2, RELSET_1, PROB_1;
registrations XBOOLE_0, SUBSET_1, RELSET_1, FUNCOP_1, FINSET_1, CARD_3,
PRE_TOPC, FUNCT_1, TOPS_2;
requirements BOOLE, SUBSET;
begin
definition
let X be set;
let A be Subset-Family of X;
func UniCl(A) -> Subset-Family of X means
:: CANTOR_1:def 1
for x being Subset of X
holds x in it iff ex Y being Subset-Family of X st Y c=A & x = union Y;
end;
definition
let X be TopStruct, F be Subset-Family of X;
attr F is quasi_basis means
:: CANTOR_1:def 2
the topology of X c= UniCl F;
end;
registration
let X be TopStruct;
cluster the topology of X -> quasi_basis;
end;
registration
let X be TopStruct;
cluster open quasi_basis for Subset-Family of X;
end;
definition
let X be TopStruct;
mode Basis of X is open quasi_basis Subset-Family of X;
end;
theorem :: CANTOR_1:1
for X being set for A being Subset-Family of X holds A c= UniCl A;
theorem :: CANTOR_1:2
for S being TopStruct holds the topology of S is Basis of S;
theorem :: CANTOR_1:3
for S being TopStruct holds the topology of S is open;
definition
let X be set;
let A be Subset-Family of X;
func FinMeetCl(A) -> Subset-Family of X means
:: CANTOR_1:def 3
for x being Subset of X holds x in it iff
ex Y being Subset-Family of X st Y c= A & Y is finite & x = Intersect Y;
end;
theorem :: CANTOR_1:4
for X being set for A being Subset-Family of X holds A c= FinMeetCl A;
theorem :: CANTOR_1:5
for T being non empty TopSpace holds the topology of T =
FinMeetCl the topology of T;
theorem :: CANTOR_1:6
for T being TopSpace holds the topology of T = UniCl the topology of T;
theorem :: CANTOR_1:7
for T being non empty TopSpace holds the topology of T = UniCl
FinMeetCl the topology of T;
theorem :: CANTOR_1:8
for X being set, A being Subset-Family of X holds X in FinMeetCl A;
theorem :: CANTOR_1:9
for X being set for A, B being Subset-Family of X holds A c= B
implies UniCl A c= UniCl B;
theorem :: CANTOR_1:10
for X being set for R being non empty Subset-Family of bool X, F
being Subset-Family of X st F = the set of all
Intersect x where x is Element of R holds Intersect F = Intersect union R;
theorem :: CANTOR_1:11
for X be set, A be Subset-Family of X holds FinMeetCl A =
FinMeetCl FinMeetCl A;
theorem :: CANTOR_1:12
for X being set, A being Subset-Family of X, a, b being set st a in
FinMeetCl A & b in FinMeetCl A holds a /\ b in FinMeetCl A;
theorem :: CANTOR_1:13
for X being set, A being Subset-Family of X, a, b being set st a
c= FinMeetCl A & b c= FinMeetCl A holds INTERSECTION(a,b) c= FinMeetCl A;
theorem :: CANTOR_1:14
for X being set, A,B being Subset-Family of X holds A c= B
implies FinMeetCl A c= FinMeetCl B;
registration
let X be set;
let A be Subset-Family of X;
cluster FinMeetCl(A) -> non empty;
end;
theorem :: CANTOR_1:15
for X be non empty set, A be Subset-Family of X holds TopStruct
(#X,UniCl FinMeetCl A#) is TopSpace-like;
definition
let X be TopStruct, F be Subset-Family of X;
attr F is quasi_prebasis means
:: CANTOR_1:def 4
ex G being Basis of X st G c= FinMeetCl F;
end;
registration
let X be TopStruct;
cluster the topology of X -> quasi_prebasis;
cluster -> quasi_prebasis for Basis of X;
cluster open quasi_prebasis for Subset-Family of X;
end;
definition
let X be TopStruct;
mode prebasis of X is open quasi_prebasis Subset-Family of X;
end;
theorem :: CANTOR_1:16
for X being non empty set, Y being Subset-Family of X holds
Y is Basis of TopStruct (#X, UniCl Y#);
theorem :: CANTOR_1:17
for T1, T2 being strict non empty TopSpace, P being prebasis of
T1 st the carrier of T1 = the carrier of T2 & P is prebasis of T2 holds T1 = T2
;
theorem :: CANTOR_1:18
for X being non empty set, Y being Subset-Family of X holds
Y is prebasis of TopStruct (#X, UniCl FinMeetCl Y#);
definition
func the_Cantor_set -> strict non empty TopSpace means
:: CANTOR_1:def 5
the carrier of it = product (NAT-->{0,1}) &
ex P being prebasis of it st for X being Subset of product (NAT-->{0,1})
holds X in P iff ex N,n being Nat st
for F being Element of product (NAT-->{0,1}) holds F in X iff F.N=n;
end;
:: the aim is to prove: theorem the_Cantor_set is compact