A7: dom F3() = omega by FUNCT_2:def 1;
A8: F2() in rng F3() by A5, A7, FUNCT_1:def 3;
hence F2() c= Union F3() by ZFMISC_1:74; :: thesis: ( F4((Union F3())) = Union F3() & ( for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) )

set phi = F3();
A9: now :: thesis: for a being ordinal number holds not S1[a]
defpred S1[ Ordinal] means ( $1 in F1() & $1 c/= F4($1) );
assume A10: ex a being ordinal number st S1[a] ; :: thesis: contradiction
consider a being ordinal number such that
A11: S1[a] and
A12: for b being ordinal number st S1[b] holds
a c= b from ORDINAL1:sch 1(A10);
F4(F4(a)) in F4(a) by A3, A11, ORDINAL1:16;
then F4(a) c/= F4(F4(a)) by ORDINAL1:5;
hence contradiction by A2, A11, A12; :: thesis: verum
end;
then F2() c= F4(F2()) ;
then A13: ( F2() c< F4(F2()) or F2() = F4(F2()) ) by XBOOLE_0:def 8;
per cases ( F4(F2()) = F2() or F2() in F4(F2()) ) by A13, ORDINAL1:11;
suppose A14: F4(F2()) = F2() ; :: thesis: ( F4((Union F3())) = Union F3() & ( for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) )

A15: for a being set st a in omega holds
F3() . a = F2()
proof
let a be set ; :: thesis: ( a in omega implies F3() . a = F2() )
assume a in omega ; :: thesis: F3() . a = F2()
then reconsider a = a as Element of omega ;
defpred S1[ Nat] means F3() . $1 = F2();
A16: S1[ 0 ] by A5;
A17: now :: thesis: for n being Nat st S1[n] holds
S1[n + 1]
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume A18: S1[n] ; :: thesis: S1[n + 1]
n in omega by ORDINAL1:def 12;
then F3() . (succ n) = F4(F2()) by A6, A18;
hence S1[n + 1] by A14, NAT_1:38; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A16, A17);
then S1[a] ;
hence
F3() . a = F2() ; :: thesis: verum
end;
rng F3() = {F2()}
proof
thus rng F3() c= {F2()} :: according to XBOOLE_0:def 10 :: thesis: {F2()} c= rng F3()
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng F3() or x in {F2()} )
assume x in rng F3() ; :: thesis: x in {F2()}
then consider a being set such that
A19: ( a in dom F3() & x = F3() . a ) by FUNCT_1:def 3;
x = F2() by A15, A19, A7;
hence x in {F2()} by TARSKI:def 1; :: thesis: verum
end;
thus {F2()} c= rng F3() by A8, ZFMISC_1:31; :: thesis: verum
end;
then Union F3() = F2() by ZFMISC_1:25;
hence ( F4((Union F3())) = Union F3() & ( for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) ) by A14; :: thesis: verum
end;
suppose A20: F2() in F4(F2()) ; :: thesis: ( F4((Union F3())) = Union F3() & ( for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) )

deffunc H1( Ordinal, Ordinal) -> Ordinal = F4($2);
deffunc H2( Ordinal, T-Sequence) -> set = {} ;
A21: now :: thesis: for a being ordinal number st succ a in omega holds
F3() . (succ a) = H1(a,F3() . a)
let a be ordinal number ; :: thesis: ( succ a in omega implies F3() . (succ a) = H1(a,F3() . a) )
assume A22: succ a in omega ; :: thesis: F3() . (succ a) = H1(a,F3() . a)
a in succ a by ORDINAL1:6;
hence F3() . (succ a) = H1(a,F3() . a) by A6, A22, ORDINAL1:10; :: thesis: verum
end;
A23: for a being ordinal number st a in omega holds
( F2() c= F3() . a & F3() . a in F3() . (succ a) )
proof
let a be ordinal number ; :: thesis: ( a in omega implies ( F2() c= F3() . a & F3() . a in F3() . (succ a) ) )
assume a in omega ; :: thesis: ( F2() c= F3() . a & F3() . a in F3() . (succ a) )
then reconsider a = a as Element of omega ;
defpred S1[ Nat] means ( F2() c= F3() . $1 & F3() . $1 in F3() . (succ $1) );
A24: S1[ 0 ] by A20, A5, A6;
A25: now :: thesis: for n being Nat st S1[n] holds
S1[n + 1]
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume A26: S1[n] ; :: thesis: S1[n + 1]
A27: ( n + 1 = succ n & (n + 1) + 1 = succ (n + 1) & n + 1 in omega & (n + 1) + 1 in omega ) by NAT_1:38;
then ( F3() . (n + 1) = F4((F3() . n)) & F3() . ((n + 1) + 1) = F4((F3() . (n + 1))) ) by A21;
then ( F3() . n c= F3() . (n + 1) & F3() . (n + 1) in F3() . ((n + 1) + 1) ) by A3, A9, A26, A27;
hence S1[n + 1] by A26, NAT_1:38, XBOOLE_1:1; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A24, A25);
then S1[a] ;
hence
( F2() c= F3() . a & F3() . a in F3() . (succ a) ) ; :: thesis: verum
end;
deffunc H3( Ordinal) -> Ordinal = F4($1);
consider fi being Ordinal-Sequence such that
A28: ( dom fi = Union F3() & ( for a being ordinal number st a in Union F3() holds
fi . a = H3(a) ) ) from ORDINAL2:sch 3();
1 = succ 0 ;
then F3() . 1 = H3(F2()) by A5, A6;
then H3(F2()) in rng F3() by A7, FUNCT_1:def 3;
then A29: H3(F2()) c= Union F3() by ZFMISC_1:74;
A30: Union F3() in F1() by A1, Th41;
now :: thesis: for c being ordinal number st c in Union F3() holds
succ c in Union F3()
let c be ordinal number ; :: thesis: ( c in Union F3() implies succ c in Union F3() )
assume c in Union F3() ; :: thesis: succ c in Union F3()
then consider x being set such that
A31: ( x in dom F3() & c in F3() . x ) by CARD_5:2;
reconsider x = x as Element of omega by A31, FUNCT_2:def 1;
( succ c c= F3() . x & F3() . x in F3() . (succ x) ) by A23, A31, ORDINAL1:21;
then ( succ c in F3() . (succ x) & succ x in omega ) by ORDINAL1:12;
hence succ c in Union F3() by A7, CARD_5:2; :: thesis: verum
end;
then A32: Union F3() is limit_ordinal by ORDINAL1:28;
then A33: H3( Union F3()) is_limes_of fi by A4, A20, A28, A29, A30;
fi is increasing
proof
let a be ordinal number ; :: according to ORDINAL2:def 12 :: thesis: for b1 being set holds
( not a in b1 or not b1 in dom fi or fi . a in fi . b1 )

let b be ordinal number ; :: thesis: ( not a in b or not b in dom fi or fi . a in fi . b )
assume A34: ( a in b & b in dom fi ) ; :: thesis: fi . a in fi . b
then ( fi . a = H3(a) & fi . b = H3(b) & b in F1() ) by A30, A28, ORDINAL1:10;
hence fi . a in fi . b by A3, A34; :: thesis: verum
end;
then A35: sup fi = lim fi by A20, A28, A29, A32, ORDINAL4:8
.= H3( Union F3()) by A33, ORDINAL2:def 10 ;
thus H3( Union F3()) c= Union F3() :: according to XBOOLE_0:def 10 :: thesis: ( Union F3() c= F4((Union F3())) & ( for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) )
proof
let x be Ordinal; :: according to ORDINAL1:def 5 :: thesis: ( not x in H3( Union F3()) or x in Union F3() )
assume A36: x in H3( Union F3()) ; :: thesis: x in Union F3()
reconsider A = x as Ordinal ;
consider b being ordinal number such that
A37: ( b in rng fi & A c= b ) by A35, A36, ORDINAL2:21;
consider y being set such that
A38: ( y in dom fi & b = fi . y ) by A37, FUNCT_1:def 3;
reconsider y = y as Ordinal by A38;
consider z being set such that
A39: ( z in dom F3() & y in F3() . z ) by A28, A38, CARD_5:2;
reconsider z = z as Ordinal by A39;
set c = F3() . z;
succ z in omega by A7, A39, ORDINAL1:28;
then A40: ( F3() . (succ z) = H3(F3() . z) & F3() . (succ z) in rng F3() & b = H3(y) ) by A7, A21, A28, A38, FUNCT_1:def 3;
( b in H3(F3() . z) & H3(F3() . z) c= Union F3() ) by A40, A3, A39, ZFMISC_1:74;
hence x in Union F3() by A37, ORDINAL1:12; :: thesis: verum
end;
thus Union F3() c= H3( Union F3()) by A9, A1, Th41; :: thesis: for b being ordinal number st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b

let b be ordinal number ; :: thesis: ( F2() c= b & b in F1() & F4(b) = b implies Union F3() c= b )
assume A41: ( F2() c= b & b in F1() & H3(b) = b ) ; :: thesis: Union F3() c= b
rng F3() c= b
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in rng F3() or x in b )
assume x in rng F3() ; :: thesis: x in b
then consider a being set such that
A42: ( a in dom F3() & x = F3() . a ) by FUNCT_1:def 3;
reconsider a = a as Element of omega by A42, FUNCT_2:def 1;
defpred S1[ Nat] means F3() . $1 in b;
F2() <> b by A20, A41;
then F2() c< b by A41, XBOOLE_0:def 8;
then A43: S1[ 0 ] by A5, ORDINAL1:11;
A44: now :: thesis: for n being Nat st S1[n] holds
S1[n + 1]
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume S1[n] ; :: thesis: S1[n + 1]
then ( H3(F3() . n) in b & n in omega ) by A3, A41, ORDINAL1:def 12;
then F3() . (succ n) in b by A6;
hence S1[n + 1] by NAT_1:38; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A43, A44);
then S1[a] ;
hence
x in b by A42; :: thesis: verum
end;
then ( Union F3() c= union b & union b c= b ) by ORDINAL2:5, ZFMISC_1:77;
hence Union F3() c= b by XBOOLE_1:1; :: thesis: verum
end;
end;