reserve fi,psi for Ordinal-Sequence,
  A,A1,B,C,D for Ordinal,
  X,Y for set,
  x,y for object;

theorem Th27:
  A c= B implies ex C st B = A+^C
proof
  defpred P[Ordinal] means A c= $1 implies ex C st $1 = A+^C;
A1: for B st P[B] holds P[succ B]
  proof
    let B such that
A2: A c= B implies ex C st B = A+^C and
A3: A c= succ B;
A4: now
      assume A <> succ B;
      then A c< succ B by A3;
      then A in succ B by ORDINAL1:11;
      then consider C such that
A5:   B = A+^C by A2,ORDINAL1:22;
      succ B = A+^succ C by A5,ORDINAL2:28;
      hence thesis;
    end;
    A = succ B implies succ B = A+^{} by ORDINAL2:27;
    hence thesis by A4;
  end;
A6: for B st B <> 0 & B is limit_ordinal & for C st C in B holds P[C]
  holds P[B]
  proof
    deffunc F(Ordinal) = A +^ $1;
    let B such that
    B <> 0 and
A7: B is limit_ordinal and
    for C st C in B holds A c= C implies ex D st C = A+^D and
A8: A c= B;
    defpred P[Ordinal] means B c= A+^$1;
A9: B = {}+^B by ORDINAL2:30;
    {}+^B c= A+^B by ORDINAL2:34,XBOOLE_1:2;
    then
A10: ex C st P[C] by A9;
    consider C such that
A11: P[C] & for D st P[D] holds C c= D from ORDINAL1:sch 1(A10);
    consider L being Ordinal-Sequence such that
A12: dom L = C & for D st D in C holds L.D = F(D) from ORDINAL2:sch 3;
A13: now
      for D st D in rng L holds D in B
      proof
        let D;
        assume D in rng L;
        then consider y being object such that
A14:    y in dom L and
A15:    D = L.y by FUNCT_1:def 3;
        reconsider y as Ordinal by A14;
A16:    not C c= y by A12,A14,ORDINAL1:5;
        L.y = A+^y by A12,A14;
        hence thesis by A11,A15,A16,ORDINAL1:16;
      end;
      then
A17:  sup rng L c= B by ORDINAL2:20;
A18:  C is limit_ordinal
      proof
        assume not thesis;
        then consider D such that
A19:    C = succ D by ORDINAL1:29;
        not C c= D by A19,ORDINAL1:5,6;
        then A+^D in B by A11,ORDINAL1:16;
        then
A20:    succ(A+^D) c= B by ORDINAL1:21;
        succ(A+^D) = A+^succ D by ORDINAL2:28;
        then B = succ(A+^D) by A11,A19,A20;
        hence contradiction by A7,ORDINAL1:29;
      end;
      assume C <> {};
      then A+^C = sup L by A12,A18,ORDINAL2:29
        .= sup rng L;
      then B = A+^C by A11,A17;
      hence thesis;
    end;
    C = {} implies B = A+^{} by A8,A11,ORDINAL2:27;
    hence thesis by A13;
  end;
A21: P[0]
  proof
    assume A c= 0;
    then A = {} by XBOOLE_1:3;
    then {} = A+^{} by ORDINAL2:30;
    hence thesis;
  end;
  for B holds P[B] from ORDINAL2:sch 1(A21,A1,A6);
  hence thesis;
end;
