reserve A,A1,A2,B,C,D for Ordinal,
  X,Y for set,
  x,y,a,b,c for object,
  L,L1,L2,L3 for Sequence,
  f for Function;
reserve fi,psi for Ordinal-Sequence;

theorem Th30:
  0+^A = A
proof
  defpred P[Ordinal] means 0+^$1 = $1;
A1: for A holds P[A] implies P[succ A] by Th28;
A2: for A st A <> 0 & A is limit_ordinal & for B st B in A holds P[B] holds
  P[A]
  proof
    deffunc F(Ordinal) = 0+^$1;
    let A;
    assume that
A3: A <> 0 & A is limit_ordinal and
A4: for B st B in A holds 0+^B = B;
    consider fi such that
A5: dom fi = A & for B st B in A holds fi.B = F(B) from OSLambda;
A6: rng fi = A
    proof
      thus for x being object holds  x in rng fi implies x in A
      proof let x be object;
        assume x in rng fi;
        then consider y being object such that
A7:     y in dom fi and
A8:     x = fi.y by FUNCT_1:def 3;
        reconsider y as Ordinal by A7;
        x = 0+^y by A5,A7,A8
          .= y by A4,A5,A7;
        hence thesis by A5,A7;
      end;
      let x be object;
      assume
A9:   x in A;
      then reconsider B = x as Ordinal;
      0+^B = B & fi.B = 0+^B by A4,A5,A9;
      hence thesis by A5,A9,FUNCT_1:def 3;
    end;
    0+^A = sup fi by A3,A5,Th29
      .= sup rng fi;
    hence thesis by A6,Th18;
  end;
A10: P[0] by Th27;
  for A holds P[A] from OrdinalInd(A10,A1,A2);
  hence thesis;
end;
