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 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 holds not S1[a]
defpred S1[ Ordinal] means ( $1 in F1() & $1 c/= F4($1) );
assume A10: ex a being Ordinal st S1[a] ; :: thesis: contradiction
consider a being Ordinal such that
A11: S1[a] and
A12: for b being Ordinal 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()) ) ;
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 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]
A19: Segm (n + 1) = succ (Segm n) by NAT_1:38;
n in omega by ORDINAL1:def 12;
then F3() . (succ n) = F4(F2()) by A6, A18;
hence S1[n + 1] by A14, A19; :: 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 object ; :: 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 object such that
A20: ( a in dom F3() & x = F3() . a ) by FUNCT_1:def 3;
x = F2() by A15, A20, 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 st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b ) ) by A14; :: thesis: verum
end;
suppose A21: F2() in F4(F2()) ; :: thesis: ( F4((Union F3())) = Union F3() & ( for b being Ordinal 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, Sequence) -> set = {} ;
A22: now :: thesis: for a being Ordinal st succ a in omega holds
F3() . (succ a) = H1(a,F3() . a)
let a be Ordinal; :: thesis: ( succ a in omega implies F3() . (succ a) = H1(a,F3() . a) )
assume A23: 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, A23, ORDINAL1:10; :: thesis: verum
end;
A24: for a being Ordinal st a in omega holds
( F2() c= F3() . a & F3() . a in F3() . (succ a) )
proof
let a be Ordinal; :: 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 (Segm $1)) );
A25: S1[ 0 ] by A21, A5, A6;
A26: 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 A27: S1[n] ; :: thesis: S1[n + 1]
A28: ( Segm (n + 1) = succ (Segm n) & Segm ((n + 1) + 1) = succ (Segm (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 A22;
then ( F3() . n c= F3() . (n + 1) & F3() . (n + 1) in F3() . ((n + 1) + 1) ) by A3, A9, A27, A28;
hence S1[n + 1] by A27, XBOOLE_1:1, A28; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A25, A26);
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
A29: ( dom fi = Union F3() & ( for a being Ordinal 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 A30: H3(F2()) c= Union F3() by ZFMISC_1:74;
A31: Union F3() in F1() by A1, Th41;
now :: thesis: for c being Ordinal st c in Union F3() holds
succ c in Union F3()
let c be Ordinal; :: 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 object such that
A32: ( x in dom F3() & c in F3() . x ) by CARD_5:2;
reconsider x = x as Element of omega by A32, FUNCT_2:def 1;
( succ c c= F3() . x & F3() . x in F3() . (succ x) ) by A24, A32, ORDINAL1:21;
then ( succ c in F3() . (succ x) & succ x in omega ) by ORDINAL1:12, ORDINAL1:def 12;
hence succ c in Union F3() by A7, CARD_5:2; :: thesis: verum
end;
then A33: Union F3() is limit_ordinal by ORDINAL1:28;
then A34: H3( Union F3()) is_limes_of fi by A4, A21, A29, A30, A31;
fi is increasing
proof
let a be Ordinal; :: 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; :: thesis: ( not a in b or not b in dom fi or fi . a in fi . b )
assume A35: ( 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 A31, A29, ORDINAL1:10;
hence fi . a in fi . b by A3, A35; :: thesis: verum
end;
then A36: sup fi = lim fi by A21, A29, A30, A33, ORDINAL4:8
.= H3( Union F3()) by A34, 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 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 A37: x in H3( Union F3()) ; :: thesis: x in Union F3()
reconsider A = x as Ordinal ;
consider b being Ordinal such that
A38: ( b in rng fi & A c= b ) by A36, A37, ORDINAL2:21;
consider y being object such that
A39: ( y in dom fi & b = fi . y ) by A38, FUNCT_1:def 3;
reconsider y = y as Ordinal by A39;
consider z being object such that
A40: ( z in dom F3() & y in F3() . z ) by A29, A39, CARD_5:2;
reconsider z = z as Ordinal by A40;
set c = F3() . z;
succ z in omega by A7, A40, ORDINAL1:28;
then A41: ( F3() . (succ z) = H3(F3() . z) & F3() . (succ z) in rng F3() & b = H3(y) ) by A7, A22, A29, A39, FUNCT_1:def 3;
( b in H3(F3() . z) & H3(F3() . z) c= Union F3() ) by A41, A3, A40, ZFMISC_1:74;
hence x in Union F3() by A38, ORDINAL1:12; :: thesis: verum
end;
thus Union F3() c= H3( Union F3()) by A9, A1, Th41; :: thesis: for b being Ordinal st F2() c= b & b in F1() & F4(b) = b holds
Union F3() c= b

let b be Ordinal; :: thesis: ( F2() c= b & b in F1() & F4(b) = b implies Union F3() c= b )
assume A42: ( F2() c= b & b in F1() & H3(b) = b ) ; :: thesis: Union F3() c= b
rng F3() c= b
proof
let x be object ; :: 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 object such that
A43: ( a in dom F3() & x = F3() . a ) by FUNCT_1:def 3;
reconsider a = a as Element of omega by A43, FUNCT_2:def 1;
defpred S1[ Nat] means F3() . $1 in b;
F2() <> b by A21, A42;
then F2() c< b by A42;
then A44: S1[ 0 ] by A5, ORDINAL1:11;
A45: 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, A42, ORDINAL1:def 12;
then A46: F3() . (succ n) in b by A6;
Segm (n + 1) = succ (Segm n) by NAT_1:38;
hence S1[n + 1] by A46; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A44, A45);
then S1[a] ;
hence
x in b by A43; :: thesis: verum
end;
then ( Union F3() c= union b & union b c= b ) by ORDINAL2:5, ZFMISC_1:77;
hence Union F3() c= b ; :: thesis: verum
end;
end;