let A be Ordinal; :: thesis: 0 +^ A = A
defpred S1[ Ordinal] means 0 +^ $1 = $1;
A1: for A being Ordinal st S1[A] holds
S1[ succ A] by Th28;
A2: for A being Ordinal st A <> 0 & A is limit_ordinal & ( for B being Ordinal st B in A holds
S1[B] ) holds
S1[A]
proof
deffunc H1( Ordinal) -> Ordinal = 0 +^ $1;
let A be Ordinal; :: thesis: ( A <> 0 & A is limit_ordinal & ( for B being Ordinal st B in A holds
S1[B] ) implies S1[A] )

assume that
A3: ( A <> 0 & A is limit_ordinal ) and
A4: for B being Ordinal st B in A holds
0 +^ B = B ; :: thesis: S1[A]
consider fi being Ordinal-Sequence such that
A5: ( dom fi = A & ( for B being Ordinal st B in A holds
fi . B = H1(B) ) ) from ORDINAL2:sch 3();
A6: rng fi = A
proof
thus for x being object st x in rng fi holds
x in A :: according to TARSKI:def 3,XBOOLE_0:def 10 :: thesis: A c= rng fi
proof
let x be object ; :: thesis: ( x in rng fi implies x in A )
assume x in rng fi ; :: thesis: x in A
then consider y being object such that
A7: y in dom fi and
A8: x = fi . y by FUNCT_1:def 3;
reconsider y = y as Ordinal by A7;
x = 0 +^ y by A5, A7, A8
.= y by A4, A5, A7 ;
hence x in A by A5, A7; :: thesis: verum
end;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in A or x in rng fi )
assume A9: x in A ; :: thesis: x in rng fi
then reconsider B = x as Ordinal ;
( 0 +^ B = B & fi . B = 0 +^ B ) by A4, A5, A9;
hence x in rng fi by A5, A9, FUNCT_1:def 3; :: thesis: verum
end;
0 +^ A = sup fi by A3, A5, Th29
.= sup (rng fi) ;
hence S1[A] by A6, Th18; :: thesis: verum
end;
A10: S1[ 0 ] by Th27;
for A being Ordinal holds S1[A] from ORDINAL2:sch 1(A10, A1, A2);
hence 0 +^ A = A ; :: thesis: verum