:: CLASSES2 semantic presentation

Lemma25: for X being set holds Tarski-Class X is_Tarski-Class
proof end;

registration
cluster being_Tarski-Class -> subset-closed set ;
coherence
for b1 being set st b1 is being_Tarski-Class holds
b1 is subset-closed
by CLASSES1:def 2;
end;

registration
let X be set ;
cluster Tarski-Class a1 -> subset-closed being_Tarski-Class ;
coherence
Tarski-Class X is being_Tarski-Class
by ;
end;

theorem Th1: :: CLASSES2:1
for W, X being set st W is subset-closed & X in W holds
( not X,W are_equipotent & Card X <` Card W )
proof end;

theorem Th2: :: CLASSES2:2
canceled;

theorem Th3: :: CLASSES2:3
for W, x, y being set st W is_Tarski-Class & x in W & y in W holds
( {x} in W & {x,y} in W )
proof end;

theorem Th4: :: CLASSES2:4
for W, x, y being set st W is_Tarski-Class & x in W & y in W holds
[x,y] in W
proof end;

theorem Th5: :: CLASSES2:5
for W, X being set st W is_Tarski-Class & X in W holds
Tarski-Class X c= W
proof end;

theorem Th6: :: CLASSES2:6
for A being Ordinal
for W being set st W is_Tarski-Class & A in W holds
( succ A in W & A c= W )
proof end;

theorem Th7: :: CLASSES2:7
for A being Ordinal
for W being set st A in Tarski-Class W holds
( succ A in Tarski-Class W & A c= Tarski-Class W ) by ;

theorem Th8: :: CLASSES2:8
for W, X being set st W is subset-closed & X is epsilon-transitive & X in W holds
X c= W
proof end;

theorem Th9: :: CLASSES2:9
for X, W being set st X is epsilon-transitive & X in Tarski-Class W holds
X c= Tarski-Class W by ;

theorem Th10: :: CLASSES2:10
for W being set st W is_Tarski-Class holds
On W = Card W
proof end;

theorem Th11: :: CLASSES2:11
for W being set holds On (Tarski-Class W) = Card (Tarski-Class W) by ;

theorem Th12: :: CLASSES2:12
for W, X being set st W is_Tarski-Class & X in W holds
Card X in W
proof end;

theorem Th13: :: CLASSES2:13
for X, W being set st X in Tarski-Class W holds
Card X in Tarski-Class W by ;

theorem Th14: :: CLASSES2:14
for W, x being set st W is_Tarski-Class & x in Card W holds
x in W
proof end;

theorem Th15: :: CLASSES2:15
for x, W being set st x in Card (Tarski-Class W) holds
x in Tarski-Class W by ;

theorem Th16: :: CLASSES2:16
for m being Cardinal
for W being set st W is_Tarski-Class & m <` Card W holds
m in W
proof end;

theorem Th17: :: CLASSES2:17
for m being Cardinal
for W being set st m <` Card (Tarski-Class W) holds
m in Tarski-Class W
proof end;

theorem Th18: :: CLASSES2:18
for m being Cardinal
for W being set st W is_Tarski-Class & m in W holds
m c= W by ;

theorem Th19: :: CLASSES2:19
for m being Cardinal
for W being set st m in Tarski-Class W holds
m c= Tarski-Class W by ;

theorem Th20: :: CLASSES2:20
for W being set st W is_Tarski-Class holds
Card W is_limit_ordinal
proof end;

theorem Th21: :: CLASSES2:21
for W being set st W is_Tarski-Class & W <> {} holds
( Card W <> 0 & Card W <> {} & Card W is_limit_ordinal )
proof end;

theorem Th22: :: CLASSES2:22
for W being set holds
( Card (Tarski-Class W) <> 0 & Card (Tarski-Class W) <> {} & Card (Tarski-Class W) is_limit_ordinal )
proof end;

theorem Th23: :: CLASSES2:23
for W, X being set st W is_Tarski-Class & ( ( X in W & W is epsilon-transitive ) or ( X in W & X c= W ) or ( Card X <` Card W & X c= W ) ) holds
Funcs X,W c= W
proof end;

theorem Th24: :: CLASSES2:24
for X, W being set st ( ( X in Tarski-Class W & W is epsilon-transitive ) or ( X in Tarski-Class W & X c= Tarski-Class W ) or ( Card X <` Card (Tarski-Class W) & X c= Tarski-Class W ) ) holds
Funcs X,(Tarski-Class W) c= Tarski-Class W
proof end;

theorem Th25: :: CLASSES2:25
for L being T-Sequence st dom L is_limit_ordinal & ( for A being Ordinal st A in dom L holds
L . A = Rank A ) holds
Rank (dom L) = Union L
proof end;

defpred S1[ Ordinal] means for W being set st W is_Tarski-Class & a1 in On W holds
( Card (Rank a1) <` Card W & Rank a1 in W );

Lemma57: S1[ {} ]
by , CARD_1:47, CLASSES1:33, ORDINAL1:def 10;

Lemma58: for A being Ordinal st S1[A] holds
S1[ succ A]
proof end;

Lemma59: for A being Ordinal st A <> {} & A is_limit_ordinal & ( for B being Ordinal st B in A holds
S1[B] ) holds
S1[A]
proof end;

theorem Th26: :: CLASSES2:26
for A being Ordinal
for W being set st W is_Tarski-Class & A in On W holds
( Card (Rank A) <` Card W & Rank A in W )
proof end;

theorem Th27: :: CLASSES2:27
for A being Ordinal
for W being set st A in On (Tarski-Class W) holds
( Card (Rank A) <` Card (Tarski-Class W) & Rank A in Tarski-Class W ) by ;

theorem Th28: :: CLASSES2:28
for W being set st W is_Tarski-Class holds
Rank (Card W) c= W
proof end;

theorem Th29: :: CLASSES2:29
for W being set holds Rank (Card (Tarski-Class W)) c= Tarski-Class W
proof end;

deffunc H1( set ) -> set = the_rank_of a1;

deffunc H2( set ) -> set = Card (bool a1);

theorem Th30: :: CLASSES2:30
for W, X being set st W is_Tarski-Class & W is epsilon-transitive & X in W holds
the_rank_of X in W
proof end;

theorem Th31: :: CLASSES2:31
for W being set st W is_Tarski-Class & W is epsilon-transitive holds
W c= Rank (Card W)
proof end;

theorem Th32: :: CLASSES2:32
for W being set st W is_Tarski-Class & W is epsilon-transitive holds
Rank (Card W) = W
proof end;

theorem Th33: :: CLASSES2:33
for A being Ordinal
for W being set st W is_Tarski-Class & A in On W holds
Card (Rank A) <=` Card W
proof end;

theorem Th34: :: CLASSES2:34
for A being Ordinal
for W being set st A in On (Tarski-Class W) holds
Card (Rank A) <=` Card (Tarski-Class W)
proof end;

theorem Th35: :: CLASSES2:35
for W being set st W is_Tarski-Class holds
Card W = Card (Rank (Card W))
proof end;

theorem Th36: :: CLASSES2:36
for W being set holds Card (Tarski-Class W) = Card (Rank (Card (Tarski-Class W))) by Lemma25;

theorem Th37: :: CLASSES2:37
for W, X being set st W is_Tarski-Class & X c= Rank (Card W) & not X, Rank (Card W) are_equipotent holds
X in Rank (Card W)
proof end;

theorem Th38: :: CLASSES2:38
for X, W being set holds
( not X c= Rank (Card (Tarski-Class W)) or X, Rank (Card (Tarski-Class W)) are_equipotent or X in Rank (Card (Tarski-Class W)) ) by Th1;

theorem Th39: :: CLASSES2:39
for W being set st W is_Tarski-Class holds
Rank (Card W) is_Tarski-Class
proof end;

theorem Th40: :: CLASSES2:40
for W being set holds Rank (Card (Tarski-Class W)) is_Tarski-Class by ;

theorem Th41: :: CLASSES2:41
for A being Ordinal
for X being set st X is epsilon-transitive & A in the_rank_of X holds
ex Y being set st
( Y in X & the_rank_of Y = A )
proof end;

theorem Th42: :: CLASSES2:42
for X being set st X is epsilon-transitive holds
Card (the_rank_of X) <=` Card X
proof end;

theorem Th43: :: CLASSES2:43
for W, X being set st W is_Tarski-Class & X is epsilon-transitive & X in W holds
X in Rank (Card W)
proof end;

theorem Th44: :: CLASSES2:44
for X, W being set st X is epsilon-transitive & X in Tarski-Class W holds
X in Rank (Card (Tarski-Class W)) by Th3;

theorem Th45: :: CLASSES2:45
for W being set st W is epsilon-transitive holds
Rank (Card (Tarski-Class W)) is_Tarski-Class_of W
proof end;

theorem Th46: :: CLASSES2:46
for W being set st W is epsilon-transitive holds
Rank (Card (Tarski-Class W)) = Tarski-Class W
proof end;

definition
let IT be set ;
attr a1 is universal means :Def1: :: CLASSES2:def 1
( IT is epsilon-transitive & IT is_Tarski-Class );
end;

:: deftheorem Def1 defines universal CLASSES2:def 1 :
for IT being set holds
( IT is universal iff ( IT is epsilon-transitive & IT is_Tarski-Class ) );

registration
cluster universal -> epsilon-transitive subset-closed being_Tarski-Class set ;
coherence
for b1 being set st b1 is universal holds
( b1 is epsilon-transitive & b1 is being_Tarski-Class )
by ;
cluster epsilon-transitive being_Tarski-Class -> universal set ;
coherence
for b1 being set st b1 is epsilon-transitive & b1 is being_Tarski-Class holds
b1 is universal
by ;
end;

registration
cluster non empty epsilon-transitive subset-closed being_Tarski-Class universal set ;
existence
ex b1 being set st
( b1 is universal & not b1 is empty )
proof end;
end;

definition
mode Universe is non empty universal set ;
end;

theorem Th47: :: CLASSES2:47
canceled;

theorem Th48: :: CLASSES2:48
canceled;

theorem Th49: :: CLASSES2:49
canceled;

theorem Th50: :: CLASSES2:50
for U being Universe holds On U is Ordinal
proof end;

theorem Th51: :: CLASSES2:51
for X being set st X is epsilon-transitive holds
Tarski-Class X is universal
proof end;

theorem Th52: :: CLASSES2:52
for U being Universe holds Tarski-Class U is Universe by ;

registration
let U be Universe;
cluster On a1 -> ordinal ;
coherence
On U is ordinal
by ;
cluster Tarski-Class a1 -> epsilon-transitive subset-closed being_Tarski-Class universal ;
coherence
Tarski-Class U is universal
by ;
end;

theorem Th53: :: CLASSES2:53
for A being Ordinal holds Tarski-Class A is universal
proof end;

registration
let A be Ordinal;
cluster Tarski-Class a1 -> epsilon-transitive subset-closed being_Tarski-Class universal ;
coherence
Tarski-Class A is universal
by ;
end;

theorem Th54: :: CLASSES2:54
for U being Universe holds U = Rank (On U)
proof end;

theorem Th55: :: CLASSES2:55
for U being Universe holds
( On U <> {} & On U is_limit_ordinal )
proof end;

theorem Th56: :: CLASSES2:56
for U1, U2 being Universe holds
( U1 in U2 or U1 = U2 or U2 in U1 )
proof end;

theorem Th57: :: CLASSES2:57
for U1, U2 being Universe holds
( U1 c= U2 or U2 in U1 )
proof end;

theorem Th58: :: CLASSES2:58
for U1, U2 being Universe holds U1,U2 are_c=-comparable
proof end;

theorem Th59: :: CLASSES2:59
for U1, U2, U3 being Universe st U1 in U2 & U2 in U3 holds
U1 in U3
proof end;

theorem Th60: :: CLASSES2:60
canceled;

theorem Th61: :: CLASSES2:61
for U1, U2 being Universe holds
( U1 \/ U2 is Universe & U1 /\ U2 is Universe )
proof end;

theorem Th62: :: CLASSES2:62
for U being Universe holds {} in U
proof end;

theorem Th63: :: CLASSES2:63
for x being set
for U being Universe st x in U holds
{x} in U by ;

theorem Th64: :: CLASSES2:64
for x, y being set
for U being Universe st x in U & y in U holds
( {x,y} in U & [x,y] in U ) by , ;

theorem Th65: :: CLASSES2:65
for X being set
for U being Universe st X in U holds
( bool X in U & union X in U & meet X in U )
proof end;

theorem Th66: :: CLASSES2:66
for X, Y being set
for U being Universe st X in U & Y in U holds
( X \/ Y in U & X /\ Y in U & X \ Y in U & X \+\ Y in U )
proof end;

theorem Th67: :: CLASSES2:67
for X, Y being set
for U being Universe st X in U & Y in U holds
( [:X,Y:] in U & Funcs X,Y in U )
proof end;

registration
let U1 be Universe;
cluster non empty Element of a1;
existence
not for b1 being Element of U1 holds b1 is empty
proof end;
end;

definition
let U be Universe;
let u be Element of U;
redefine func { as {c2} -> Element of a1;
coherence
{u} is Element of U
by ;
redefine func bool as bool c2 -> non empty Element of a1;
coherence
bool u is non empty Element of U
by ;
redefine func union as union c2 -> Element of a1;
coherence
union u is Element of U
by ;
redefine func meet as meet c2 -> Element of a1;
coherence
meet u is Element of U
by ;
let v be Element of U;
redefine func { as {c2,c3} -> Element of a1;
coherence
{u,v} is Element of U
by ;
redefine func [ as [c2,c3] -> Element of a1;
coherence
[u,v] is Element of U
by ;
redefine func \/ as c2 \/ c3 -> Element of a1;
coherence
u \/ v is Element of U
by ;
redefine func /\ as c2 /\ c3 -> Element of a1;
coherence
u /\ v is Element of U
by ;
redefine func \ as c2 \ c3 -> Element of a1;
coherence
u \ v is Element of U
by ;
redefine func \+\ as c2 \+\ c3 -> Element of a1;
coherence
u \+\ v is Element of U
by ;
redefine func [: as [:c2,c3:] -> Element of a1;
coherence
[:u,v:] is Element of U
by Th12;
redefine func Funcs as Funcs c2,c3 -> Element of a1;
coherence
Funcs u,v is Element of U
by Th12;
end;

definition
func FinSETS -> Universe equals :: CLASSES2:def 2
Tarski-Class {} ;
correctness
coherence
Tarski-Class {} is Universe
;
;
end;

:: deftheorem Def2 defines FinSETS CLASSES2:def 2 :
FinSETS = Tarski-Class {} ;

theorem Th68: :: CLASSES2:68
canceled;

theorem Th69: :: CLASSES2:69
Card (Rank omega ) = Card omega
proof end;

theorem Th70: :: CLASSES2:70
Rank omega is_Tarski-Class
proof end;

theorem Th71: :: CLASSES2:71
FinSETS = Rank omega
proof end;

definition
func SETS -> Universe equals :: CLASSES2:def 3
Tarski-Class FinSETS ;
correctness
coherence
Tarski-Class FinSETS is Universe
;
;
end;

:: deftheorem Def3 defines SETS CLASSES2:def 3 :
SETS = Tarski-Class FinSETS ;

registration
let X be set ;
cluster the_transitive-closure_of a1 -> epsilon-transitive ;
coherence
the_transitive-closure_of X is epsilon-transitive
by CLASSES1:58;
end;

registration
let X be epsilon-transitive set ;
cluster Tarski-Class a1 -> epsilon-transitive subset-closed being_Tarski-Class universal ;
coherence
Tarski-Class X is epsilon-transitive
by CLASSES1:27;
end;

registration
let A be Ordinal;
cluster Rank a1 -> epsilon-transitive ;
coherence
Rank A is epsilon-transitive
by CLASSES1:37;
end;

definition
let X be set ;
func Universe_closure c1 -> Universe means :Def4: :: CLASSES2:def 4
( X c= it & ( for Y being Universe st X c= Y holds
it c= Y ) );
uniqueness
for b1, b2 being Universe st X c= b1 & ( for Y being Universe st X c= Y holds
b1 c= Y ) & X c= b2 & ( for Y being Universe st X c= Y holds
b2 c= Y ) holds
b1 = b2
proof end;
existence
ex b1 being Universe st
( X c= b1 & ( for Y being Universe st X c= Y holds
b1 c= Y ) )
proof end;
end;

:: deftheorem Def4 defines Universe_closure CLASSES2:def 4 :
for X being set
for b2 being Universe holds
( b2 = Universe_closure X iff ( X c= b2 & ( for Y being Universe st X c= Y holds
b2 c= Y ) ) );

deffunc H3( Ordinal, set ) -> set = Tarski-Class a2;

deffunc H4( Ordinal, T-Sequence) -> Universe = Universe_closure (Union a2);

definition
mode FinSet is Element of FinSETS ;
mode Set is Element of SETS ;
let A be Ordinal;
func UNIVERSE c1 -> set means :Def5: :: CLASSES2:def 5
ex L being T-Sequence st
( it = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = Tarski-Class (L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = Universe_closure (Union (L | C)) ) );
correctness
existence
ex b1 being set ex L being T-Sequence st
( b1 = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = Tarski-Class (L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = Universe_closure (Union (L | C)) ) )
;
uniqueness
for b1, b2 being set st ex L being T-Sequence st
( b1 = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = Tarski-Class (L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = Universe_closure (Union (L | C)) ) ) & ex L being T-Sequence st
( b2 = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = Tarski-Class (L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = Universe_closure (Union (L | C)) ) ) holds
b1 = b2
;
proof end;
end;

:: deftheorem Def5 defines UNIVERSE CLASSES2:def 5 :
for A being Ordinal
for b2 being set holds
( b2 = UNIVERSE A iff ex L being T-Sequence st
( b2 = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = Tarski-Class (L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = Universe_closure (Union (L | C)) ) ) );

deffunc H5( Ordinal) -> set = UNIVERSE a1;

E130: now
E27: for A being Ordinal
for x being set holds
( x = H5(A) iff ex L being T-Sequence st
( x = last L & dom L = succ A & L . {} = FinSETS & ( for C being Ordinal st succ C in succ A holds
L . (succ C) = H3(C,L . C) ) & ( for C being Ordinal st C in succ A & C <> {} & C is_limit_ordinal holds
L . C = H4(C,L | C) ) ) ) by Th22;
thus H5( {} ) = FinSETS from ORDINAL2:sch 8();
thus for A being Ordinal holds H5( succ A) = H3(A,H5(A)) from ORDINAL2:sch 9();
let A be Ordinal;
let L be T-Sequence;
assume that
E28: ( A <> {} & A is_limit_ordinal ) and
E29: dom L = A and
E31: for B being Ordinal st B in A holds
L . B = H5(B) ;
thus H5(A) = H4(A,L) from ORDINAL2:sch 10(, Th23, , );
end;

registration
let A be Ordinal;
cluster UNIVERSE a1 -> non empty epsilon-transitive subset-closed being_Tarski-Class universal ;
coherence
( UNIVERSE A is universal & not UNIVERSE A is empty )
proof end;
end;

theorem Th72: :: CLASSES2:72
canceled;

theorem Th73: :: CLASSES2:73
canceled;

theorem Th74: :: CLASSES2:74
canceled;

theorem Th75: :: CLASSES2:75
UNIVERSE {} = FinSETS by ;

theorem Th76: :: CLASSES2:76
for A being Ordinal holds UNIVERSE (succ A) = Tarski-Class (UNIVERSE A) by ;

Lemma132: 1 = succ 0
;

theorem Th77: :: CLASSES2:77
UNIVERSE 1 = SETS by , ;

theorem Th78: :: CLASSES2:78
for A being Ordinal
for L being T-Sequence st A <> {} & A is_limit_ordinal & dom L = A & ( for B being Ordinal st B in A holds
L . B = UNIVERSE B ) holds
UNIVERSE A = Universe_closure (Union L) by ;

theorem Th79: :: CLASSES2:79
for U being Universe holds
( FinSETS c= U & Tarski-Class {} c= U & UNIVERSE {} c= U )
proof end;

theorem Th80: :: CLASSES2:80
for A, B being Ordinal holds
( A in B iff UNIVERSE A in UNIVERSE B )
proof end;

theorem Th81: :: CLASSES2:81
for A, B being Ordinal st UNIVERSE A = UNIVERSE B holds
A = B
proof end;

theorem Th82: :: CLASSES2:82
for A, B being Ordinal holds
( A c= B iff UNIVERSE A c= UNIVERSE B )
proof end;