defpred S1[ set , set , set ] means ex O2 being Ordinal st
( O2 = $3 & ( for X being set
for n being Element of NAT st X c= Rank (the_rank_of $2) holds
ex Y being set st
( Y c= Rank O2 & P1[n,X,Y] ) ) & ( for O being Ordinal st ( for X being set
for n being Element of NAT st X c= Rank (the_rank_of $2) holds
ex Y being set st
( Y c= Rank O & P1[n,X,Y] ) ) holds
O2 c= O ) );
A2:
for n being Element of NAT
for x being set ex y being set st S1[n,x,y]
proof
defpred S2[
set ,
set ]
means for
m being
Element of
NAT ex
y being
set st
( $2 is
Ordinal &
y c= Rank (the_rank_of $2) &
P1[
m,$1,
y] );
let n be
Element of
NAT ;
for x being set ex y being set st S1[n,x,y]let x be
set ;
ex y being set st S1[n,x,y]
defpred S3[
Ordinal]
means for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank $1 &
P1[
n,
X,
Y] );
A3:
for
x9 being
set st
x9 in bool (Rank (the_rank_of x)) holds
ex
o being
set st
S2[
x9,
o]
proof
let x9 be
set ;
( x9 in bool (Rank (the_rank_of x)) implies ex o being set st S2[x9,o] )
assume
x9 in bool (Rank (the_rank_of x))
;
ex o being set st S2[x9,o]
defpred S4[
set ,
set ]
means ex
y being
set st
( $2 is
Ordinal &
y c= Rank (the_rank_of $2) &
P1[$1,
x9,
y] );
A4:
for
e being
set st
e in NAT holds
ex
u being
set st
S4[
e,
u]
proof
let i be
set ;
( i in NAT implies ex u being set st S4[i,u] )
assume
i in NAT
;
ex u being set st S4[i,u]
then reconsider i9 =
i as
Element of
NAT ;
thus
ex
o,
y being
set st
(
o is
Ordinal &
y c= Rank (the_rank_of o) &
P1[
i,
x9,
y] )
verumproof
consider y being
set such that A5:
P1[
i9,
x9,
y]
by A1;
take o =
the_rank_of y;
ex y being set st
( o is Ordinal & y c= Rank (the_rank_of o) & P1[i,x9,y] )
take
y
;
( o is Ordinal & y c= Rank (the_rank_of o) & P1[i,x9,y] )
thus
o is
Ordinal
;
( y c= Rank (the_rank_of o) & P1[i,x9,y] )
the_rank_of (the_rank_of y) = the_rank_of y
by CLASSES1:81;
hence
y c= Rank (the_rank_of o)
by CLASSES1:73;
P1[i,x9,y]
thus
P1[
i,
x9,
y]
by A5;
verum
end;
end;
consider h being
Function such that A6:
dom h = NAT
and A7:
for
i being
set st
i in NAT holds
S4[
i,
h . i]
from CLASSES1:sch 1(A4);
take o =
sup (rng h);
S2[x9,o]
thus
for
m being
Element of
NAT ex
y being
set st
(
o is
Ordinal &
y c= Rank (the_rank_of o) &
P1[
m,
x9,
y] )
verumproof
let m be
Element of
NAT ;
ex y being set st
( o is Ordinal & y c= Rank (the_rank_of o) & P1[m,x9,y] )
consider y being
set such that A8:
h . m is
Ordinal
and A9:
y c= Rank (the_rank_of (h . m))
and A10:
P1[
m,
x9,
y]
by A7;
reconsider O =
h . m as
Ordinal by A8;
h . m in rng h
by A6, FUNCT_1:def 5;
then
h . m in sup (rng h)
by A8, ORDINAL2:27;
then
h . m c= o
by ORDINAL1:def 2;
then A11:
Rank O c= Rank o
by CLASSES1:43;
take
y
;
( o is Ordinal & y c= Rank (the_rank_of o) & P1[m,x9,y] )
thus
o is
Ordinal
;
( y c= Rank (the_rank_of o) & P1[m,x9,y] )
y c= Rank O
by A9, CLASSES1:81;
then
y c= Rank o
by A11, XBOOLE_1:1;
hence
y c= Rank (the_rank_of o)
by CLASSES1:81;
P1[m,x9,y]
thus
P1[
m,
x9,
y]
by A10;
verum
end;
end;
consider f being
Function such that A12:
dom f = bool (Rank (the_rank_of x))
and A13:
for
x9 being
set st
x9 in bool (Rank (the_rank_of x)) holds
S2[
x9,
f . x9]
from CLASSES1:sch 1(A3);
A14:
ex
O being
Ordinal st
S3[
O]
proof
take O2 =
sup (rng f);
S3[O2]
thus
for
X being
set for
m being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank O2 &
P1[
m,
X,
Y] )
verumproof
let X be
set ;
for m being Element of NAT st X c= Rank (the_rank_of x) holds
ex Y being set st
( Y c= Rank O2 & P1[m,X,Y] )let m be
Element of
NAT ;
( X c= Rank (the_rank_of x) implies ex Y being set st
( Y c= Rank O2 & P1[m,X,Y] ) )
assume A15:
X c= Rank (the_rank_of x)
;
ex Y being set st
( Y c= Rank O2 & P1[m,X,Y] )
then consider Y being
set such that A16:
f . X is
Ordinal
and A17:
Y c= Rank (the_rank_of (f . X))
and A18:
P1[
m,
X,
Y]
by A13;
reconsider O =
f . X as
Ordinal by A16;
f . X in rng f
by A12, A15, FUNCT_1:def 5;
then
f . X in sup (rng f)
by A16, ORDINAL2:27;
then
f . X c= O2
by ORDINAL1:def 2;
then A19:
Rank O c= Rank O2
by CLASSES1:43;
take
Y
;
( Y c= Rank O2 & P1[m,X,Y] )
the_rank_of O = O
by CLASSES1:81;
hence
Y c= Rank O2
by A17, A19, XBOOLE_1:1;
P1[m,X,Y]
thus
P1[
m,
X,
Y]
by A18;
verum
end;
end;
consider O2 being
Ordinal such that A20:
(
S3[
O2] & ( for
O being
Ordinal st
S3[
O] holds
O2 c= O ) )
from ORDINAL1:sch 1(A14);
take
O2
;
S1[n,x,O2]
thus
S1[
n,
x,
O2]
by A20;
verum
end;
A21:
for n being Element of NAT
for x, y1, y2 being set st S1[n,x,y1] & S1[n,x,y2] holds
y1 = y2
proof
let n be
Element of
NAT ;
for x, y1, y2 being set st S1[n,x,y1] & S1[n,x,y2] holds
y1 = y2let x,
y1,
y2 be
set ;
( S1[n,x,y1] & S1[n,x,y2] implies y1 = y2 )
assume that A22:
S1[
n,
x,
y1]
and A23:
S1[
n,
x,
y2]
;
y1 = y2
consider O2 being
Ordinal such that A24:
O2 = y2
and A25:
( ( for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank O2 &
P1[
n,
X,
Y] ) ) & ( for
O being
Ordinal st ( for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank O &
P1[
n,
X,
Y] ) ) holds
O2 c= O ) )
by A23;
consider O1 being
Ordinal such that A26:
O1 = y1
and A27:
( ( for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank O1 &
P1[
n,
X,
Y] ) ) & ( for
O being
Ordinal st ( for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of x) holds
ex
Y being
set st
(
Y c= Rank O &
P1[
n,
X,
Y] ) ) holds
O1 c= O ) )
by A22;
(
O1 c= O2 &
O2 c= O1 )
by A27, A25;
hence
y1 = y2
by A26, A24, XBOOLE_0:def 10;
verum
end;
ex f being Function st
( dom f = NAT & f . 0 = the_rank_of F1() & ( for n being Element of NAT holds S1[n,f . n,f . (n + 1)] ) )
proof
deffunc H1(
Element of
NAT )
-> set =
{ k where k is Element of NAT : k <= $1 } ;
A28:
for
p,
q being
Function for
k being
Element of
NAT st
dom p = H1(
k) &
dom q = H1(
k + 1) &
p . 0 = q . 0 & ( for
n being
Element of
NAT st
n < k holds
(
S1[
n,
p . n,
p . (n + 1)] &
S1[
n,
q . n,
q . (n + 1)] ) ) holds
p . k = q . k
proof
let p,
q be
Function;
for k being Element of NAT st dom p = H1(k) & dom q = H1(k + 1) & p . 0 = q . 0 & ( for n being Element of NAT st n < k holds
( S1[n,p . n,p . (n + 1)] & S1[n,q . n,q . (n + 1)] ) ) holds
p . k = q . klet k be
Element of
NAT ;
( dom p = H1(k) & dom q = H1(k + 1) & p . 0 = q . 0 & ( for n being Element of NAT st n < k holds
( S1[n,p . n,p . (n + 1)] & S1[n,q . n,q . (n + 1)] ) ) implies p . k = q . k )
defpred S2[
Element of
NAT ]
means ( $1
<= k implies
p . $1
= q . $1 );
assume that
dom p = H1(
k)
and
dom q = H1(
k + 1)
and A29:
p . 0 = q . 0
and A30:
for
n being
Element of
NAT st
n < k holds
(
S1[
n,
p . n,
p . (n + 1)] &
S1[
n,
q . n,
q . (n + 1)] )
;
p . k = q . k
A31:
for
n being
Element of
NAT st
S2[
n] holds
S2[
n + 1]
A35:
S2[
0 ]
by A29;
for
n being
Element of
NAT holds
S2[
n]
from NAT_1:sch 1(A35, A31);
hence
p . k = q . k
;
verum
end;
A36:
for
n being
Element of
NAT ex
p being
Function st
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)] ) )
proof
defpred S2[
Element of
NAT ]
means ex
p being
Function st
(
dom p = H1($1) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < $1 holds
S1[
k,
p . k,
p . (k + 1)] ) );
A37:
for
n being
Element of
NAT st
S2[
n] holds
S2[
n + 1]
proof
let n be
Element of
NAT ;
( S2[n] implies S2[n + 1] )
given p being
Function such that
dom p = H1(
n)
and A38:
p . 0 = the_rank_of F1()
and A39:
for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)]
;
S2[n + 1]
consider z being
set such that A40:
S1[
n,
p . n,
z]
by A2;
defpred S3[
set ,
set ]
means for
k being
Element of
NAT st
k = $1 holds
( (
k <= n implies $2
= p . k ) & (
k = n + 1 implies $2
= z ) );
A41:
for
x being
set st
x in H1(
n + 1) holds
ex
y being
set st
S3[
x,
y]
proof
let x be
set ;
( x in H1(n + 1) implies ex y being set st S3[x,y] )
assume
x in H1(
n + 1)
;
ex y being set st S3[x,y]
then A42:
ex
m being
Element of
NAT st
(
m = x &
m <= n + 1 )
;
then reconsider t =
x as
Element of
NAT ;
A43:
(
t <= n implies ex
y being
set st
S3[
x,
y] )
proof
assume A44:
t <= n
;
ex y being set st S3[x,y]
take
p . x
;
S3[x,p . x]
let k be
Element of
NAT ;
( k = x implies ( ( k <= n implies p . x = p . k ) & ( k = n + 1 implies p . x = z ) ) )
assume A45:
k = x
;
( ( k <= n implies p . x = p . k ) & ( k = n + 1 implies p . x = z ) )
hence
(
k <= n implies
p . x = p . k )
;
( k = n + 1 implies p . x = z )
assume
k = n + 1
;
p . x = z
then
n + 1
<= n + 0
by A44, A45;
hence
p . x = z
by XREAL_1:8;
verum
end;
(
t = n + 1 implies ex
y being
set st
S3[
x,
y] )
proof
assume A46:
t = n + 1
;
ex y being set st S3[x,y]
take
z
;
S3[x,z]
let k be
Element of
NAT ;
( k = x implies ( ( k <= n implies z = p . k ) & ( k = n + 1 implies z = z ) ) )
assume A47:
k = x
;
( ( k <= n implies z = p . k ) & ( k = n + 1 implies z = z ) )
thus
(
k <= n implies
z = p . k )
( k = n + 1 implies z = z )
thus
(
k = n + 1 implies
z = z )
;
verum
end;
hence
ex
y being
set st
S3[
x,
y]
by A42, A43, NAT_1:8;
verum
end;
consider q being
Function such that A48:
(
dom q = H1(
n + 1) & ( for
x being
set st
x in H1(
n + 1) holds
S3[
x,
q . x] ) )
from CLASSES1:sch 1(A41);
take
q
;
( dom q = H1(n + 1) & q . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n + 1 holds
S1[k,q . k,q . (k + 1)] ) )
thus
dom q = H1(
n + 1)
by A48;
( q . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n + 1 holds
S1[k,q . k,q . (k + 1)] ) )
0 in H1(
n + 1)
;
hence
q . 0 = the_rank_of F1()
by A38, A48;
for k being Element of NAT st k < n + 1 holds
S1[k,q . k,q . (k + 1)]
let k be
Element of
NAT ;
( k < n + 1 implies S1[k,q . k,q . (k + 1)] )
assume A49:
k < n + 1
;
S1[k,q . k,q . (k + 1)]
A50:
now A51:
k + 1
<= n + 1
by A49, NAT_1:13;
assume
k <> n
;
S1[k,q . k,q . (k + 1)]then
k + 1
<> n + 1
;
then A52:
k + 1
<= n
by A51, NAT_1:8;
then A53:
k < n
by NAT_1:13;
k + 1
in H1(
n + 1)
by A51;
then A54:
q . (k + 1) = p . (k + 1)
by A48, A52;
k in H1(
n + 1)
by A49;
then
p . k = q . k
by A48, A53;
hence
S1[
k,
q . k,
q . (k + 1)]
by A39, A54, A53;
verum end;
hence
S1[
k,
q . k,
q . (k + 1)]
by A50;
verum
end;
A57:
S2[
0 ]
thus
for
n being
Element of
NAT holds
S2[
n]
from NAT_1:sch 1(A57, A37); verum
end;
ex
f being
Function st
(
dom f = NAT & ( for
n being
Element of
NAT ex
p being
Function st
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)] ) &
f . n = p . n ) ) )
proof
defpred S2[
set ,
set ]
means for
n being
Element of
NAT st
n = $1 holds
ex
p being
Function st
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)] ) & $2
= p . n );
A58:
for
x being
set st
x in NAT holds
ex
y being
set st
S2[
x,
y]
proof
let x be
set ;
( x in NAT implies ex y being set st S2[x,y] )
assume
x in NAT
;
ex y being set st S2[x,y]
then reconsider n =
x as
Element of
NAT ;
consider p being
Function such that A59:
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)] ) )
by A36;
take
p . n
;
S2[x,p . n]
let k be
Element of
NAT ;
( k = x implies ex p being Function st
( dom p = H1(k) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < k holds
S1[k,p . k,p . (k + 1)] ) & p . n = p . k ) )
assume A60:
k = x
;
ex p being Function st
( dom p = H1(k) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < k holds
S1[k,p . k,p . (k + 1)] ) & p . n = p . k )
take
p
;
( dom p = H1(k) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < k holds
S1[k,p . k,p . (k + 1)] ) & p . n = p . k )
thus
(
dom p = H1(
k) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < k holds
S1[
k,
p . k,
p . (k + 1)] ) &
p . n = p . k )
by A59, A60;
verum
end;
consider f being
Function such that A61:
(
dom f = NAT & ( for
x being
set st
x in NAT holds
S2[
x,
f . x] ) )
from CLASSES1:sch 1(A58);
take
f
;
( dom f = NAT & ( for n being Element of NAT ex p being Function st
( dom p = H1(n) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n holds
S1[k,p . k,p . (k + 1)] ) & f . n = p . n ) ) )
thus
dom f = NAT
by A61;
for n being Element of NAT ex p being Function st
( dom p = H1(n) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n holds
S1[k,p . k,p . (k + 1)] ) & f . n = p . n )
let n be
Element of
NAT ;
ex p being Function st
( dom p = H1(n) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n holds
S1[k,p . k,p . (k + 1)] ) & f . n = p . n )
consider p being
Function such that A62:
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() )
and A63:
for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)]
and A64:
f . n = p . n
by A61;
take
p
;
( dom p = H1(n) & p . 0 = the_rank_of F1() & ( for k being Element of NAT st k < n holds
S1[k,p . k,p . (k + 1)] ) & f . n = p . n )
thus
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() )
by A62;
( ( for k being Element of NAT st k < n holds
S1[k,p . k,p . (k + 1)] ) & f . n = p . n )
thus
for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)]
by A63;
f . n = p . n
thus
f . n = p . n
by A64;
verum
end;
then consider f being
Function such that A65:
dom f = NAT
and A66:
for
n being
Element of
NAT ex
p being
Function st
(
dom p = H1(
n) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < n holds
S1[
k,
p . k,
p . (k + 1)] ) &
f . n = p . n )
;
take
f
;
( dom f = NAT & f . 0 = the_rank_of F1() & ( for n being Element of NAT holds S1[n,f . n,f . (n + 1)] ) )
thus
dom f = NAT
by A65;
( f . 0 = the_rank_of F1() & ( for n being Element of NAT holds S1[n,f . n,f . (n + 1)] ) )
ex
p being
Function st
(
dom p = H1(
0 ) &
p . 0 = the_rank_of F1() & ( for
k being
Element of
NAT st
k < 0 holds
S1[
k,
p . k,
p . (k + 1)] ) &
f . 0 = p . 0 )
by A66;
hence
f . 0 = the_rank_of F1()
;
for n being Element of NAT holds S1[n,f . n,f . (n + 1)]
let d be
Element of
NAT ;
S1[d,f . d,f . (d + 1)]
consider p being
Function such that A67:
dom p = H1(
d + 1)
and A68:
p . 0 = the_rank_of F1()
and A69:
for
k being
Element of
NAT st
k < d + 1 holds
S1[
k,
p . k,
p . (k + 1)]
and A70:
f . (d + 1) = p . (d + 1)
by A66;
consider q being
Function such that A71:
dom q = H1(
d)
and A72:
q . 0 = the_rank_of F1()
and A73:
for
k being
Element of
NAT st
k < d holds
S1[
k,
q . k,
q . (k + 1)]
and A74:
f . d = q . d
by A66;
(
dom p = H1(
d + 1) &
dom q = H1(
d) &
p . 0 = q . 0 & ( for
k being
Element of
NAT st
k < d holds
(
S1[
k,
q . k,
q . (k + 1)] &
S1[
k,
p . k,
p . (k + 1)] ) ) )
proof
thus
dom p = H1(
d + 1)
by A67;
( dom q = H1(d) & p . 0 = q . 0 & ( for k being Element of NAT st k < d holds
( S1[k,q . k,q . (k + 1)] & S1[k,p . k,p . (k + 1)] ) ) )
thus
dom q = H1(
d)
by A71;
( p . 0 = q . 0 & ( for k being Element of NAT st k < d holds
( S1[k,q . k,q . (k + 1)] & S1[k,p . k,p . (k + 1)] ) ) )
thus
p . 0 = q . 0
by A68, A72;
for k being Element of NAT st k < d holds
( S1[k,q . k,q . (k + 1)] & S1[k,p . k,p . (k + 1)] )
let k be
Element of
NAT ;
( k < d implies ( S1[k,q . k,q . (k + 1)] & S1[k,p . k,p . (k + 1)] ) )
assume A75:
k < d
;
( S1[k,q . k,q . (k + 1)] & S1[k,p . k,p . (k + 1)] )
hence
S1[
k,
q . k,
q . (k + 1)]
by A73;
S1[k,p . k,p . (k + 1)]
d <= d + 1
by NAT_1:11;
then
k < d + 1
by A75, XXREAL_0:2;
hence
S1[
k,
p . k,
p . (k + 1)]
by A69;
verum
end;
then
p . d = q . d
by A28;
hence
S1[
d,
f . d,
f . (d + 1)]
by A69, A70, A74, XREAL_1:31;
verum
end;
then consider g being Function such that
A76:
dom g = NAT
and
A77:
g . 0 = the_rank_of F1()
and
A78:
for n being Element of NAT holds S1[n,g . n,g . (n + 1)]
;
defpred S2[ set , set ] means ex i being Element of NAT st
( i = $1 `2 & P1[$1 `2 ,$1 `1 ,$2 `1 ] & $2 `2 = i + 1 & ( for y being set holds
( not P1[$1 `2 ,$1 `1 ,y] or not the_rank_of y in the_rank_of ($2 `1) ) ) );
A79:
( [F1(),0] `1 = F1() & [F1(),0] `2 = 0 )
by MCART_1:7;
set beta = sup (rng g);
A80:
for x being set st x in [:(Rank (sup (rng g))),NAT:] holds
ex u being set st S2[x,u]
proof
let x be
set ;
( x in [:(Rank (sup (rng g))),NAT:] implies ex u being set st S2[x,u] )
defpred S3[
Ordinal]
means ex
y being
set st
(
y c= Rank $1 &
P1[
x `2 ,
x `1 ,
y] );
assume
x in [:(Rank (sup (rng g))),NAT:]
;
ex u being set st S2[x,u]
then consider a,
b being
set such that A81:
a in Rank (sup (rng g))
and A82:
b in NAT
and A83:
x = [a,b]
by ZFMISC_1:def 2;
reconsider b =
b as
Element of
NAT by A82;
A84:
(
x `2 = b &
x `1 = a )
by A83, MCART_1:7;
the_rank_of a in sup (rng g)
by A81, CLASSES1:74;
then consider alfa being
Ordinal such that A85:
alfa in rng g
and A86:
the_rank_of a c= alfa
by ORDINAL2:29;
consider k being
set such that A87:
k in dom g
and A88:
alfa = g . k
by A85, FUNCT_1:def 5;
reconsider k =
k as
Element of
NAT by A76, A87;
A89:
S1[
k,
alfa,
g . (k + 1)]
by A78, A88;
then reconsider O2 =
g . (k + 1) as
Ordinal ;
a c= Rank alfa
by A86, CLASSES1:73;
then
a c= Rank (the_rank_of alfa)
by CLASSES1:81;
then
ex
y being
set st
(
y c= Rank O2 &
P1[
x `2 ,
x `1 ,
y] )
by A89, A84;
then A90:
ex
O being
Ordinal st
S3[
O]
;
consider O being
Ordinal such that A91:
S3[
O]
and A92:
for
O9 being
Ordinal st
S3[
O9] holds
O c= O9
from ORDINAL1:sch 1(A90);
consider Y being
set such that A93:
Y c= Rank O
and A94:
P1[
b,
a,
Y]
by A84, A91;
A95:
the_rank_of Y c= O
by A93, CLASSES1:73;
take u =
[Y,(b + 1)];
S2[x,u]
take i =
b;
( i = x `2 & P1[x `2 ,x `1 ,u `1 ] & u `2 = i + 1 & ( for y being set holds
( not P1[x `2 ,x `1 ,y] or not the_rank_of y in the_rank_of (u `1) ) ) )
thus
i = x `2
by A83, MCART_1:7;
( P1[x `2 ,x `1 ,u `1 ] & u `2 = i + 1 & ( for y being set holds
( not P1[x `2 ,x `1 ,y] or not the_rank_of y in the_rank_of (u `1) ) ) )
thus
P1[
x `2 ,
x `1 ,
u `1 ]
by A84, A94, MCART_1:7;
( u `2 = i + 1 & ( for y being set holds
( not P1[x `2 ,x `1 ,y] or not the_rank_of y in the_rank_of (u `1) ) ) )
thus
u `2 = i + 1
by MCART_1:7;
for y being set holds
( not P1[x `2 ,x `1 ,y] or not the_rank_of y in the_rank_of (u `1) )
given y being
set such that A96:
P1[
x `2 ,
x `1 ,
y]
and A97:
the_rank_of y in the_rank_of (u `1)
;
contradiction
A98:
y c= Rank (the_rank_of y)
by CLASSES1:def 8;
the_rank_of y in the_rank_of Y
by A97, MCART_1:7;
hence
contradiction
by A92, A96, A95, A98, ORDINAL1:7;
verum
end;
consider F being Function such that
dom F = [:(Rank (sup (rng g))),NAT:]
and
A99:
for x being set st x in [:(Rank (sup (rng g))),NAT:] holds
S2[x,F . x]
from CLASSES1:sch 1(A80);
deffunc H1( Nat, set ) -> set = (F . [$2,$1]) `1 ;
consider f being Function such that
A100:
dom f = NAT
and
A101:
f . 0 = F1()
and
A102:
for n being Nat holds f . (n + 1) = H1(n,f . n)
from NAT_1:sch 11();
defpred S3[ Element of NAT ] means the_rank_of (f . $1) in sup (rng g);
g . 0 in rng g
by A76, FUNCT_1:def 5;
then A103:
S3[ 0 ]
by A77, A101, ORDINAL2:27;
A104:
for n being Element of NAT st S3[n] holds
S3[n + 1]
proof
let n be
Element of
NAT ;
( S3[n] implies S3[n + 1] )
assume A105:
the_rank_of (f . n) in sup (rng g)
;
S3[n + 1]
then consider o1 being
Ordinal such that A106:
o1 in rng g
and A107:
the_rank_of (f . n) c= o1
by ORDINAL2:29;
f . n in Rank (sup (rng g))
by A105, CLASSES1:74;
then A108:
[(f . n),n] in [:(Rank (sup (rng g))),NAT:]
by ZFMISC_1:106;
consider m being
set such that A109:
m in dom g
and A110:
g . m = o1
by A106, FUNCT_1:def 5;
reconsider m =
m as
Element of
NAT by A76, A109;
consider o2 being
Ordinal such that A111:
o2 = g . (m + 1)
and A112:
for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of (g . m)) holds
ex
Y being
set st
(
Y c= Rank o2 &
P1[
n,
X,
Y] )
and
for
o being
Ordinal st ( for
X being
set for
n being
Element of
NAT st
X c= Rank (the_rank_of (g . m)) holds
ex
Y being
set st
(
Y c= Rank o &
P1[
n,
X,
Y] ) ) holds
o2 c= o
by A78;
the_rank_of (f . n) c= the_rank_of (g . m)
by A107, A110, CLASSES1:81;
then
f . n c= Rank (the_rank_of (g . m))
by CLASSES1:73;
then consider YY being
set such that A113:
YY c= Rank o2
and A114:
P1[
n,
f . n,
YY]
by A112;
A115:
the_rank_of YY c= o2
by A113, CLASSES1:73;
(
[(f . n),n] `1 = f . n &
[(f . n),n] `2 = n )
by MCART_1:7;
then
ex
i being
Element of
NAT st
(
i = n &
P1[
n,
f . n,
(F . [(f . n),n]) `1 ] &
(F . [(f . n),n]) `2 = i + 1 & ( for
y being
set holds
( not
P1[
n,
f . n,
y] or not
the_rank_of y in the_rank_of ((F . [(f . n),n]) `1) ) ) )
by A99, A108;
then A116:
the_rank_of ((F . [(f . n),n]) `1) c= the_rank_of YY
by A114, ORDINAL1:26;
g . (m + 1) in rng g
by A76, FUNCT_1:def 5;
then A117:
o2 in sup (rng g)
by A111, ORDINAL2:27;
f . (n + 1) = (F . [(f . n),n]) `1
by A102;
hence
S3[
n + 1]
by A116, A115, A117, ORDINAL1:22, XBOOLE_1:1;
verum
end;
A118:
for n being Element of NAT holds S3[n]
from NAT_1:sch 1(A103, A104);
defpred S4[ Element of NAT ] means P1[$1,f . $1,f . ($1 + 1)];
A119:
for n being Element of NAT st S4[n] holds
S4[n + 1]
proof
let n be
Element of
NAT ;
( S4[n] implies S4[n + 1] )
assume
P1[
n,
f . n,
f . (n + 1)]
;
S4[n + 1]
the_rank_of (f . (n + 1)) in sup (rng g)
by A118;
then
f . (n + 1) in Rank (sup (rng g))
by CLASSES1:74;
then A120:
[(f . (n + 1)),(n + 1)] in [:(Rank (sup (rng g))),NAT:]
by ZFMISC_1:106;
(
[(f . (n + 1)),(n + 1)] `1 = f . (n + 1) &
[(f . (n + 1)),(n + 1)] `2 = n + 1 )
by MCART_1:7;
then
ex
i being
Element of
NAT st
(
i = n + 1 &
P1[
n + 1,
f . (n + 1),
(F . [(f . (n + 1)),(n + 1)]) `1 ] &
(F . [(f . (n + 1)),(n + 1)]) `2 = i + 1 & ( for
y being
set holds
( not
P1[
n + 1,
f . (n + 1),
y] or not
the_rank_of y in the_rank_of ((F . [(f . (n + 1)),(n + 1)]) `1) ) ) )
by A99, A120;
hence
S4[
n + 1]
by A102;
verum
end;
take
f
; ( dom f = NAT & f . 0 = F1() & ( for n being Element of NAT holds P1[n,f . n,f . (n + 1)] ) )
thus
dom f = NAT
by A100; ( f . 0 = F1() & ( for n being Element of NAT holds P1[n,f . n,f . (n + 1)] ) )
thus
f . 0 = F1()
by A101; for n being Element of NAT holds P1[n,f . n,f . (n + 1)]
F1() in Rank (sup (rng g))
by A101, A103, CLASSES1:74;
then
[F1(),0] in [:(Rank (sup (rng g))),NAT:]
by ZFMISC_1:106;
then
ex i being Element of NAT st
( i = [F1(),0] `2 & P1[ 0 ,F1(),(F . [F1(),0]) `1 ] & (F . [F1(),0]) `2 = i + 1 & ( for y being set holds
( not P1[ 0 ,F1(),y] or not the_rank_of y in the_rank_of ((F . [F1(),0]) `1) ) ) )
by A99, A79;
then A121:
S4[ 0 ]
by A101, A102;
thus
for n being Element of NAT holds S4[n]
from NAT_1:sch 1(A121, A119); verum