
theorem Th98:
  for a, b being Ordinal, x being object
  holds (CantorNF a).x c= (CantorNF(a(+)b)).x
proof
  let a, b be Ordinal, x be object;
  set E1 = omega -exponent CantorNF a, E2 = omega -exponent CantorNF b;
  set L1 = omega -leading_coeff CantorNF a;
  set L2 = omega -leading_coeff CantorNF b;
  set C0 = CantorNF(a (+) b);
  consider C being Cantor-normal-form Ordinal-Sequence such that
    A1: a (+) b = Sum^ C & rng(omega -exponent C) = rng E1 \/ rng E2 and
    A2: for d being object st d in dom C holds
      (omega -exponent(C.d) in rng E1 \ rng E2 implies
        omega -leading_coeff(C.d) = L1.(E1".(omega -exponent(C.d)))) &
      (omega -exponent(C.d) in rng E2 \ rng E1 implies
        omega -leading_coeff(C.d) = L2.(E2".(omega -exponent(C.d)))) &
      (omega -exponent(C.d) in rng E1 /\ rng E2 implies
        omega -leading_coeff(C.d) = L1.(E1".(omega -exponent(C.d))) +
          L2.(E2".(omega -exponent(C.d)))) by Def5;
  assume not (CantorNF a).x c= C0.x;
  then A3: C0.x in (CantorNF a).x by ORDINAL1:16;
  then A4: x in dom CantorNF a by FUNCT_1:def 2;
  then reconsider x as Ordinal;
  dom CantorNF a c= dom CantorNF(a(+)b) by Th77;
  then A5: x in dom C0 by A4;
  then
A6: C0.x = (omega -leading_coeff C0).x *^ exp(omega,(omega -exponent C0).x)
    by Th65;
  A7: (CantorNF a).x = L1.x *^ exp(omega,E1.x) by A4, Th65;
  A8: E1.x = (omega -exponent C0).x
  proof
    A9: E1.x c= (omega -exponent C0).x by Th97;
    assume E1.x <> (omega -exponent C0).x;
    then E1.x in (omega -exponent C0).x by A9, XBOOLE_0:def 8, ORDINAL1:11;
    then exp(omega,E1.x) in exp(omega,(omega -exponent C0).x) by ORDINAL4:24;
    then A10: (CantorNF a).x in exp(omega,(omega -exponent C0).x) by A7, Th42;
    x in dom(omega -leading_coeff C0) by A5, Def3;
    then (omega -leading_coeff C0).x <> {} by FUNCT_1:def 9;
    then 0 c< (omega -leading_coeff C0).x by XBOOLE_1:2, XBOOLE_0:def 8;
    then 0 in (omega -leading_coeff C0).x by ORDINAL1:11;
    then 1 *^ exp(omega,(omega -exponent C0).x) c= C0.x
      by A6, CARD_1:49, ZFMISC_1:31, ORDINAL2:41;
    then exp(omega,(omega -exponent C0).x) c= C0.x by ORDINAL2:39;
    hence contradiction by A3, A10;
  end;
  then (omega -leading_coeff C0).x in L1.x by A3, A6, A7, ORDINAL3:34;
  then A11: omega -leading_coeff(C0.x) in L1.x by A5, Def3;
  A12: x in dom E1 by A4, Def1;
  then (omega -exponent C0).x in rng E1 by A8, FUNCT_1:3;
  then A13: omega -exponent(C0.x) in rng E1 by A5, Def1;
  per cases;
  suppose omega -exponent(C0.x) in rng E2;
    then omega -exponent(C0.x) in rng E1 /\ rng E2 by A13, XBOOLE_0:def 4;
    then omega -leading_coeff(C0.x) = L1.(E1".(omega -exponent(C0.x))) +
        L2.(E2".(omega -exponent(C0.x))) by A1, A2, A5
      .= L1.(E1".(E1.x)) + L2.(E2".(omega -exponent(C0.x))) by A5, A8, Def1
      .= L1.x + L2.(E2".(omega -exponent(C0.x))) by A12, FUNCT_1:34;
    then Segm(L1.x) c= Segm(omega -leading_coeff(C0.x)) by NAT_1:11, NAT_1:39;
    then omega -leading_coeff(C0.x) in omega -leading_coeff(C0.x) by A11;
    hence contradiction;
  end;
  suppose not omega -exponent(C0.x) in rng E2;
    then omega -exponent(C0.x) in rng E1 \ rng E2 by A13, XBOOLE_0:def 5;
    then omega -leading_coeff(C0.x) = L1.(E1".(omega -exponent(C0.x)))
        by A1, A2, A5
      .= L1.(E1".(E1.x)) by A5, A8, Def1
      .= L1.x by A12, FUNCT_1:34;
    hence contradiction by A11;
  end;
end;
