:: CARD_FIL semantic presentation

definition
let c1, c2 be set ;
redefine func \ as c1 \ c2 -> Subset of a1;
coherence
c1 \ c2 is Subset of c1
by XBOOLE_1:36;
end;

theorem Th1: :: CARD_FIL:1
for b1 being set
for b2 being infinite set holds Card {b1} <` Card b2
proof end;

registration
let c1 be infinite set ;
cluster Card a1 -> infinite ;
coherence
not Card c1 is finite
by CARD_4:1;
end;

scheme :: CARD_FIL:sch 1
s1{ F1() -> non empty set , F2() -> set , P1[ set ] } :
P1[F2()]
provided
E2: F2() in { b1 where B is Element of F1() : P1[b1] }
proof end;

theorem Th2: :: CARD_FIL:2
for b1 being non empty set holds
( {b1} is non empty Subset-Family of b1 & not {} in {b1} & ( for b2, b3 being Subset of b1 holds
( ( b2 in {b1} & b3 in {b1} implies b2 /\ b3 in {b1} ) & ( b2 in {b1} & b2 c= b3 implies b3 in {b1} ) ) ) )
proof end;

definition
let c1 be non empty set ;
mode Filter of c1 -> non empty Subset-Family of a1 means :Def1: :: CARD_FIL:def 1
( not {} in a2 & ( for b1, b2 being Subset of a1 holds
( ( b1 in a2 & b2 in a2 implies b1 /\ b2 in a2 ) & ( b1 in a2 & b1 c= b2 implies b2 in a2 ) ) ) );
existence
ex b1 being non empty Subset-Family of c1 st
( not {} in b1 & ( for b2, b3 being Subset of c1 holds
( ( b2 in b1 & b3 in b1 implies b2 /\ b3 in b1 ) & ( b2 in b1 & b2 c= b3 implies b3 in b1 ) ) ) )
proof end;
end;

:: deftheorem Def1 defines Filter CARD_FIL:def 1 :
for b1 being non empty set
for b2 being non empty Subset-Family of b1 holds
( b2 is Filter of b1 iff ( not {} in b2 & ( for b3, b4 being Subset of b1 holds
( ( b3 in b2 & b4 in b2 implies b3 /\ b4 in b2 ) & ( b3 in b2 & b3 c= b4 implies b4 in b2 ) ) ) ) );

theorem Th3: :: CARD_FIL:3
for b1 being non empty set
for b2 being set holds
( b2 is Filter of b1 iff ( b2 is non empty Subset-Family of b1 & not {} in b2 & ( for b3, b4 being Subset of b1 holds
( ( b3 in b2 & b4 in b2 implies b3 /\ b4 in b2 ) & ( b3 in b2 & b3 c= b4 implies b4 in b2 ) ) ) ) ) by Def1;

theorem Th4: :: CARD_FIL:4
for b1 being non empty set holds {b1} is Filter of b1
proof end;

theorem Th5: :: CARD_FIL:5
for b1 being non empty set
for b2 being Filter of b1 holds b1 in b2
proof end;

theorem Th6: :: CARD_FIL:6
for b1 being non empty set
for b2 being Subset of b1
for b3 being Filter of b1 st b2 in b3 holds
not b1 \ b2 in b3
proof end;

theorem Th7: :: CARD_FIL:7
for b1 being non empty set
for b2 being Filter of b1
for b3 being non empty Subset-Family of b1 st ( for b4 being Subset of b1 holds
( b4 in b3 iff b4 ` in b2 ) ) holds
( not b1 in b3 & ( for b4, b5 being Subset of b1 holds
( ( b4 in b3 & b5 in b3 implies b4 \/ b5 in b3 ) & ( b4 in b3 & b5 c= b4 implies b5 in b3 ) ) ) )
proof end;

notation
let c1 be non empty set ;
let c2 be Subset-Family of c1;
synonym dual c2 for COMPLEMENT c2;
end;

registration
let c1 be non empty set ;
let c2 be non empty Subset-Family of c1;
cluster dual a2 -> non empty ;
coherence
not COMPLEMENT c2 is empty
by SETFAM_1:46;
end;

theorem Th8: :: CARD_FIL:8
for b1 being non empty set
for b2 being non empty Subset-Family of b1 holds dual b2 = { b3 where B is Subset of b1 : b3 ` in b2 }
proof end;

theorem Th9: :: CARD_FIL:9
for b1 being non empty set
for b2 being non empty Subset-Family of b1 holds dual b2 = { (b3 ` ) where B is Subset of b1 : b3 in b2 }
proof end;

definition
let c1 be non empty set ;
mode Ideal of c1 -> non empty Subset-Family of a1 means :Def2: :: CARD_FIL:def 2
( not a1 in a2 & ( for b1, b2 being Subset of a1 holds
( ( b1 in a2 & b2 in a2 implies b1 \/ b2 in a2 ) & ( b1 in a2 & b2 c= b1 implies b2 in a2 ) ) ) );
existence
ex b1 being non empty Subset-Family of c1 st
( not c1 in b1 & ( for b2, b3 being Subset of c1 holds
( ( b2 in b1 & b3 in b1 implies b2 \/ b3 in b1 ) & ( b2 in b1 & b3 c= b2 implies b3 in b1 ) ) ) )
proof end;
end;

:: deftheorem Def2 defines Ideal CARD_FIL:def 2 :
for b1 being non empty set
for b2 being non empty Subset-Family of b1 holds
( b2 is Ideal of b1 iff ( not b1 in b2 & ( for b3, b4 being Subset of b1 holds
( ( b3 in b2 & b4 in b2 implies b3 \/ b4 in b2 ) & ( b3 in b2 & b4 c= b3 implies b4 in b2 ) ) ) ) );

definition
let c1 be non empty set ;
let c2 be Filter of c1;
redefine func dual as dual c2 -> Ideal of a1;
coherence
dual c2 is Ideal of c1
proof end;
end;

theorem Th10: :: CARD_FIL:10
for b1 being non empty set
for b2 being Filter of b1
for b3 being Ideal of b1 holds
( ( for b4 being Subset of b1 holds
( not b4 in b2 or not b4 in dual b2 ) ) & ( for b4 being Subset of b1 holds
( not b4 in b3 or not b4 in dual b3 ) ) )
proof end;

theorem Th11: :: CARD_FIL:11
for b1 being non empty set
for b2 being Ideal of b1 holds {} in b2
proof end;

definition
let c1 be non empty set ;
let c2 be Cardinal;
let c3 be non empty Subset-Family of c1;
pred c3 is_multiplicative_with c2 means :Def3: :: CARD_FIL:def 3
for b1 being non empty set st b1 c= a3 & Card b1 <` a2 holds
meet b1 in a3;
end;

:: deftheorem Def3 defines is_multiplicative_with CARD_FIL:def 3 :
for b1 being non empty set
for b2 being Cardinal
for b3 being non empty Subset-Family of b1 holds
( b3 is_multiplicative_with b2 iff for b4 being non empty set st b4 c= b3 & Card b4 <` b2 holds
meet b4 in b3 );

definition
let c1 be non empty set ;
let c2 be Cardinal;
let c3 be non empty Subset-Family of c1;
pred c3 is_additive_with c2 means :Def4: :: CARD_FIL:def 4
for b1 being non empty set st b1 c= a3 & Card b1 <` a2 holds
union b1 in a3;
end;

:: deftheorem Def4 defines is_additive_with CARD_FIL:def 4 :
for b1 being non empty set
for b2 being Cardinal
for b3 being non empty Subset-Family of b1 holds
( b3 is_additive_with b2 iff for b4 being non empty set st b4 c= b3 & Card b4 <` b2 holds
union b4 in b3 );

notation
let c1 be non empty set ;
let c2 be Cardinal;
let c3 be Filter of c1;
synonym c3 is_complete_with c2 for c3 is_multiplicative_with c2;
end;

notation
let c1 be non empty set ;
let c2 be Cardinal;
let c3 be Ideal of c1;
synonym c3 is_complete_with c2 for c3 is_additive_with c2;
end;

theorem Th12: :: CARD_FIL:12
for b1 being Cardinal
for b2 being non empty set
for b3 being non empty Subset-Family of b2 st b3 is_multiplicative_with b1 holds
dual b3 is_additive_with b1
proof end;

definition
let c1 be non empty set ;
let c2 be Filter of c1;
attr a2 is uniform means :Def5: :: CARD_FIL:def 5
for b1 being Subset of a1 st b1 in a2 holds
Card b1 = Card a1;
attr a2 is principal means :Def6: :: CARD_FIL:def 6
ex b1 being Subset of a1 st
( b1 in a2 & ( for b2 being Subset of a1 st b2 in a2 holds
b1 c= b2 ) );
attr a2 is being_ultrafilter means :Def7: :: CARD_FIL:def 7
for b1 being Subset of a1 holds
( b1 in a2 or a1 \ b1 in a2 );
end;

:: deftheorem Def5 defines uniform CARD_FIL:def 5 :
for b1 being non empty set
for b2 being Filter of b1 holds
( b2 is uniform iff for b3 being Subset of b1 st b3 in b2 holds
Card b3 = Card b1 );

:: deftheorem Def6 defines principal CARD_FIL:def 6 :
for b1 being non empty set
for b2 being Filter of b1 holds
( b2 is principal iff ex b3 being Subset of b1 st
( b3 in b2 & ( for b4 being Subset of b1 st b4 in b2 holds
b3 c= b4 ) ) );

:: deftheorem Def7 defines being_ultrafilter CARD_FIL:def 7 :
for b1 being non empty set
for b2 being Filter of b1 holds
( b2 is being_ultrafilter iff for b3 being Subset of b1 holds
( b3 in b2 or b1 \ b3 in b2 ) );

definition
let c1 be non empty set ;
let c2 be Filter of c1;
let c3 be Subset of c1;
func Extend_Filter c2,c3 -> non empty Subset-Family of a1 equals :: CARD_FIL:def 8
{ b1 where B is Subset of a1 : ex b1 being Subset of a1 st
( b2 in { (b3 /\ a3) where B is Subset of a1 : b3 in a2 } & b2 c= b1 )
}
;
coherence
{ b1 where B is Subset of c1 : ex b1 being Subset of c1 st
( b2 in { (b3 /\ c3) where B is Subset of c1 : b3 in c2 } & b2 c= b1 )
}
is non empty Subset-Family of c1
proof end;
end;

:: deftheorem Def8 defines Extend_Filter CARD_FIL:def 8 :
for b1 being non empty set
for b2 being Filter of b1
for b3 being Subset of b1 holds Extend_Filter b2,b3 = { b4 where B is Subset of b1 : ex b1 being Subset of b1 st
( b5 in { (b6 /\ b3) where B is Subset of b1 : b6 in b2 } & b5 c= b4 )
}
;

theorem Th13: :: CARD_FIL:13
for b1 being non empty set
for b2 being Subset of b1
for b3 being Filter of b1
for b4 being Subset of b1 holds
( b4 in Extend_Filter b3,b2 iff ex b5 being Subset of b1 st
( b5 in b3 & b5 /\ b2 c= b4 ) )
proof end;

theorem Th14: :: CARD_FIL:14
for b1 being non empty set
for b2 being Subset of b1
for b3 being Filter of b1 st ( for b4 being Subset of b1 st b4 in b3 holds
b4 meets b2 ) holds
( b2 in Extend_Filter b3,b2 & Extend_Filter b3,b2 is Filter of b1 & b3 c= Extend_Filter b3,b2 )
proof end;

definition
let c1 be non empty set ;
func Filters c1 -> non empty Subset-Family of (bool a1) equals :: CARD_FIL:def 9
{ b1 where B is Subset-Family of a1 : b1 is Filter of a1 } ;
coherence
{ b1 where B is Subset-Family of c1 : b1 is Filter of c1 } is non empty Subset-Family of (bool c1)
proof end;
end;

:: deftheorem Def9 defines Filters CARD_FIL:def 9 :
for b1 being non empty set holds Filters b1 = { b2 where B is Subset-Family of b1 : b2 is Filter of b1 } ;

theorem Th15: :: CARD_FIL:15
for b1 being non empty set
for b2 being set holds
( b2 in Filters b1 iff b2 is Filter of b1 )
proof end;

theorem Th16: :: CARD_FIL:16
for b1 being non empty set
for b2 being non empty Subset of (Filters b1) st b2 is c=-linear holds
union b2 is Filter of b1
proof end;

theorem Th17: :: CARD_FIL:17
for b1 being non empty set
for b2 being Filter of b1 ex b3 being Filter of b1 st
( b2 c= b3 & b3 is being_ultrafilter )
proof end;

definition
let c1 be infinite set ;
func Frechet_Filter c1 -> Filter of a1 equals :: CARD_FIL:def 10
{ b1 where B is Subset of a1 : Card (a1 \ b1) <` Card a1 } ;
coherence
{ b1 where B is Subset of c1 : Card (c1 \ b1) <` Card c1 } is Filter of c1
proof end;
end;

:: deftheorem Def10 defines Frechet_Filter CARD_FIL:def 10 :
for b1 being infinite set holds Frechet_Filter b1 = { b2 where B is Subset of b1 : Card (b1 \ b2) <` Card b1 } ;

definition
let c1 be infinite set ;
func Frechet_Ideal c1 -> Ideal of a1 equals :: CARD_FIL:def 11
dual (Frechet_Filter a1);
coherence
dual (Frechet_Filter c1) is Ideal of c1
;
end;

:: deftheorem Def11 defines Frechet_Ideal CARD_FIL:def 11 :
for b1 being infinite set holds Frechet_Ideal b1 = dual (Frechet_Filter b1);

theorem Th18: :: CARD_FIL:18
for b1 being infinite set
for b2 being Subset of b1 holds
( b2 in Frechet_Filter b1 iff Card (b1 \ b2) <` Card b1 )
proof end;

theorem Th19: :: CARD_FIL:19
for b1 being infinite set
for b2 being Subset of b1 holds
( b2 in Frechet_Ideal b1 iff Card b2 <` Card b1 )
proof end;

theorem Th20: :: CARD_FIL:20
for b1 being infinite set
for b2 being Filter of b1 st Frechet_Filter b1 c= b2 holds
b2 is uniform
proof end;

theorem Th21: :: CARD_FIL:21
for b1 being infinite set
for b2 being Filter of b1 st b2 is uniform & b2 is being_ultrafilter holds
Frechet_Filter b1 c= b2
proof end;

registration
let c1 be infinite set ;
cluster non empty non principal being_ultrafilter Filter of a1;
existence
ex b1 being Filter of c1 st
( not b1 is principal & b1 is being_ultrafilter )
proof end;
end;

registration
let c1 be infinite set ;
cluster uniform being_ultrafilter -> non principal Filter of a1;
coherence
for b1 being Filter of c1 st b1 is uniform & b1 is being_ultrafilter holds
not b1 is principal
proof end;
end;

theorem Th22: :: CARD_FIL:22
for b1 being infinite set
for b2 being being_ultrafilter Filter of b1
for b3 being Subset of b1 holds
( b3 in b2 iff not b3 in dual b2 )
proof end;

theorem Th23: :: CARD_FIL:23
for b1 being infinite set
for b2 being Filter of b1 st not b2 is principal & b2 is being_ultrafilter & b2 is_complete_with Card b1 holds
b2 is uniform
proof end;

theorem Th24: :: CARD_FIL:24
for b1 being Cardinal holds nextcard b1 <=` exp 2,b1
proof end;

definition
pred GCH means :Def12: :: CARD_FIL:def 12
for b1 being Aleph holds nextcard b1 = exp 2,b1;
end;

:: deftheorem Def12 defines GCH CARD_FIL:def 12 :
( GCH iff for b1 being Aleph holds nextcard b1 = exp 2,b1 );

definition
let c1 be Aleph;
attr a1 is inaccessible means :Def13: :: CARD_FIL:def 13
( a1 is regular & a1 is limit );
end;

:: deftheorem Def13 defines inaccessible CARD_FIL:def 13 :
for b1 being Aleph holds
( b1 is inaccessible iff ( b1 is regular & b1 is limit ) );

notation
let c1 be Aleph;
synonym c1 is_inaccessible_cardinal for inaccessible c1;
end;

registration
cluster inaccessible -> limit regular set ;
coherence
for b1 being Aleph st b1 is inaccessible holds
( b1 is regular & b1 is limit )
by Def13;
end;

theorem Th25: :: CARD_FIL:25
alef 0 is inaccessible
proof end;

definition
let c1 be Aleph;
attr a1 is strong_limit means :Def14: :: CARD_FIL:def 14
for b1 being Cardinal st b1 <` a1 holds
exp 2,b1 <` a1;
end;

:: deftheorem Def14 defines strong_limit CARD_FIL:def 14 :
for b1 being Aleph holds
( b1 is strong_limit iff for b2 being Cardinal st b2 <` b1 holds
exp 2,b2 <` b1 );

notation
let c1 be Aleph;
synonym c1 is_strong_limit_cardinal for strong_limit c1;
end;

theorem Th26: :: CARD_FIL:26
alef 0 is strong_limit
proof end;

theorem Th27: :: CARD_FIL:27
for b1 being Aleph st b1 is strong_limit holds
b1 is limit
proof end;

registration
cluster strong_limit -> limit set ;
coherence
for b1 being Aleph st b1 is strong_limit holds
b1 is limit
by Th27;
end;

theorem Th28: :: CARD_FIL:28
for b1 being Aleph st GCH & b1 is limit holds
b1 is strong_limit
proof end;

definition
let c1 be Aleph;
attr a1 is strongly_inaccessible means :Def15: :: CARD_FIL:def 15
( a1 is regular & a1 is strong_limit );
end;

:: deftheorem Def15 defines strongly_inaccessible CARD_FIL:def 15 :
for b1 being Aleph holds
( b1 is strongly_inaccessible iff ( b1 is regular & b1 is strong_limit ) );

notation
let c1 be Aleph;
synonym c1 is_strongly_inaccessible_cardinal for strongly_inaccessible c1;
end;

registration
cluster strongly_inaccessible -> limit regular strong_limit set ;
coherence
for b1 being Aleph st b1 is strongly_inaccessible holds
( b1 is regular & b1 is strong_limit )
by Def15;
end;

theorem Th29: :: CARD_FIL:29
alef 0 is strongly_inaccessible by Def15, Th26, CARD_5:42;

theorem Th30: :: CARD_FIL:30
for b1 being Aleph st b1 is strongly_inaccessible holds
b1 is inaccessible
proof end;

registration
cluster strongly_inaccessible -> limit regular inaccessible set ;
coherence
for b1 being Aleph st b1 is strongly_inaccessible holds
b1 is inaccessible
by Th30;
end;

theorem Th31: :: CARD_FIL:31
for b1 being Aleph st GCH & b1 is inaccessible holds
b1 is strongly_inaccessible
proof end;

definition
let c1 be Aleph;
attr a1 is measurable means :Def16: :: CARD_FIL:def 16
ex b1 being Filter of a1 st
( b1 is_complete_with a1 & not b1 is principal & b1 is being_ultrafilter );
end;

:: deftheorem Def16 defines measurable CARD_FIL:def 16 :
for b1 being Aleph holds
( b1 is measurable iff ex b2 being Filter of b1 st
( b2 is_complete_with b1 & not b2 is principal & b2 is being_ultrafilter ) );

notation
let c1 be Aleph;
synonym c1 is_measurable_cardinal for measurable c1;
end;

theorem Th32: :: CARD_FIL:32
for b1 being being_limit_ordinal Ordinal
for b2 being set st b2 c= b1 & sup b2 = b1 holds
union b2 = b1
proof end;

theorem Th33: :: CARD_FIL:33
for b1 being Aleph st b1 is measurable holds
b1 is regular
proof end;

registration
let c1 be Aleph;
cluster nextcard a1 -> non limit ;
coherence
not nextcard c1 is limit
proof end;
end;

registration
cluster infinite non limit set ;
existence
ex b1 being Cardinal st
( not b1 is limit & not b1 is finite )
proof end;
end;

registration
cluster non limit -> regular set ;
coherence
for b1 being Aleph st not b1 is limit holds
b1 is regular
proof end;
end;

definition
let c1 be non limit Cardinal;
func predecessor c1 -> Cardinal means :Def17: :: CARD_FIL:def 17
a1 = nextcard a2;
existence
ex b1 being Cardinal st c1 = nextcard b1
by CARD_1:def 7;
uniqueness
for b1, b2 being Cardinal st c1 = nextcard b1 & c1 = nextcard b2 holds
b1 = b2
by CARD_4:21;
end;

:: deftheorem Def17 defines predecessor CARD_FIL:def 17 :
for b1 being non limit Cardinal
for b2 being Cardinal holds
( b2 = predecessor b1 iff b1 = nextcard b2 );

registration
let c1 be non limit Aleph;
cluster predecessor a1 -> infinite ;
coherence
not predecessor c1 is finite
proof end;
end;

definition
let c1 be set ;
let c2, c3 be Cardinal;
mode Inf_Matrix of a2,a3,a1 is Function of [:a2,a3:],a1;
end;

definition
let c1 be non limit Aleph;
let c2 be Inf_Matrix of (predecessor c1),c1, bool c1;
pred c2 is_Ulam_Matrix_of c1 means :Def18: :: CARD_FIL:def 18
( ( for b1 being Element of predecessor a1
for b2, b3 being Element of a1 st b2 <> b3 holds
(a2 . b1,b2) /\ (a2 . b1,b3) is empty ) & ( for b1 being Element of a1
for b2, b3 being Element of predecessor a1 st b2 <> b3 holds
(a2 . b2,b1) /\ (a2 . b3,b1) is empty ) & ( for b1 being Element of predecessor a1 holds Card (a1 \ (union { (a2 . b1,b2) where B is Element of a1 : b2 in a1 } )) <=` predecessor a1 ) & ( for b1 being Element of a1 holds Card (a1 \ (union { (a2 . b2,b1) where B is Element of predecessor a1 : b2 in predecessor a1 } )) <=` predecessor a1 ) );
end;

:: deftheorem Def18 defines is_Ulam_Matrix_of CARD_FIL:def 18 :
for b1 being non limit Aleph
for b2 being Inf_Matrix of (predecessor b1),b1, bool b1 holds
( b2 is_Ulam_Matrix_of b1 iff ( ( for b3 being Element of predecessor b1
for b4, b5 being Element of b1 st b4 <> b5 holds
(b2 . b3,b4) /\ (b2 . b3,b5) is empty ) & ( for b3 being Element of b1
for b4, b5 being Element of predecessor b1 st b4 <> b5 holds
(b2 . b4,b3) /\ (b2 . b5,b3) is empty ) & ( for b3 being Element of predecessor b1 holds Card (b1 \ (union { (b2 . b3,b4) where B is Element of b1 : b4 in b1 } )) <=` predecessor b1 ) & ( for b3 being Element of b1 holds Card (b1 \ (union { (b2 . b4,b3) where B is Element of predecessor b1 : b4 in predecessor b1 } )) <=` predecessor b1 ) ) );

theorem Th34: :: CARD_FIL:34
for b1 being non limit Aleph ex b2 being Inf_Matrix of (predecessor b1),b1, bool b1 st b2 is_Ulam_Matrix_of b1
proof end;

theorem Th35: :: CARD_FIL:35
for b1 being non limit Aleph
for b2 being Ideal of b1 st b2 is_complete_with b1 & Frechet_Ideal b1 c= b2 holds
ex b3 being Subset-Family of b1 st
( Card b3 = b1 & ( for b4 being set st b4 in b3 holds
not b4 in b2 ) & ( for b4, b5 being set st b4 in b3 & b5 in b3 & b4 <> b5 holds
b4 misses b5 ) )
proof end;

theorem Th36: :: CARD_FIL:36
for b1 being set
for b2 being Cardinal st b2 <=` Card b1 holds
ex b3 being set st
( b3 c= b1 & Card b3 = b2 )
proof end;

theorem Th37: :: CARD_FIL:37
for b1 being non limit Aleph
for b2 being Filter of b1 holds
( not b2 is uniform or not b2 is being_ultrafilter or not b2 is_complete_with b1 )
proof end;

theorem Th38: :: CARD_FIL:38
for b1 being Aleph st b1 is measurable holds
b1 is limit
proof end;

theorem Th39: :: CARD_FIL:39
for b1 being Aleph st b1 is measurable holds
b1 is inaccessible
proof end;

theorem Th40: :: CARD_FIL:40
for b1 being Aleph st b1 is measurable holds
b1 is strong_limit
proof end;

theorem Th41: :: CARD_FIL:41
for b1 being Aleph st b1 is measurable holds
b1 is strongly_inaccessible
proof end;