reserve A,B,C for Ordinal,
        o for object,
        x,y,z,t,r,l for Surreal,
        X,Y for set;

theorem Th39:
  x - x == 0_No
proof
  set y=0_No;
  defpred P[Ordinal] means
  for x be Surreal st born x = $1 holds x + -x == y;
  A1: for D be Ordinal st for C be Ordinal st C in D holds P[C] holds P[D]
  proof
    let D be Ordinal such that A2: for C be Ordinal st C in D holds P[C];
    let x be Surreal such that A3: born x=D;
    set X=x+-x;
    A4: -x = [-- R_x, --L_x] by Th7;
    then L_(-x) = --R_x & R_(-x) = --L_x;
    then A5:x +- x =
    [(L_x ++ {-x})\/({x} ++ --R_x), (R_x ++ {-x}) \/({x} ++ --L_x)] by Th28;
    A6:L_X << {y}
    proof
      let l,r be Surreal such that
      A7: l in L_X & r in {y} & r <= l;
      A8:r=y by A7,TARSKI:def 1;
      A9:{r} << R_l by A7,SURREAL0:43;
      per cases by A5,A7,XBOOLE_0:def 3;
      suppose
        l in {x} ++ --R_x;
        then consider ll,lr be Surreal such that
        A10: ll in {x} & lr in --R_x & l = ll+lr by Def8;
        consider xr be Surreal such that
        A11:  xr in R_x & -xr = lr by A10,Def4;
        x=ll by A10,TARSKI:def 1;
        then A12: l = [(L_x ++ {-xr})\/({x} ++ L_(-xr)),
        (R_x ++ {-xr}) \/({x} ++ R_(-xr))] by Th28,A10,A11;
        xr in L_x \/R_x by A11,XBOOLE_0:def 3;
        then A13: xr +- xr == y by A3,A2,SURREALO:1;
        -xr in {-xr} by TARSKI:def 1;
        then xr +-xr in (R_x ++ {-xr}) by A11,Def8;
        then xr +-xr in R_l by A12,XBOOLE_0:def 3;
        hence thesis by A13,A9,A7,A8;
      end;
      suppose
        l in L_x ++ {-x};
        then consider xl,lr be Surreal such that
        A14: xl in L_x & lr in {-x} & l = xl+lr by Def8;
        lr = -x by A14,TARSKI:def 1;
        then A15:l = [(L_xl ++ {-x})\/({xl} ++ L_(-x)),
        (R_xl ++ {-x}) \/({xl} ++ R_(-x))] by A14,Th28;
        xl in L_x \/R_x by A14,XBOOLE_0:def 3;
        then A16: xl +- xl == y by A3,A2,SURREALO:1;
        -xl in --(L_x) & xl in {xl} by A14,Def4,TARSKI:def 1;
        then xl +- xl in ({xl} ++ --(L_x)) by Def8;
        then xl +- xl in R_l by A4,A15,XBOOLE_0:def 3;
        hence contradiction by A16,A9,A7,A8;
      end;
    end;
    {X} << R_y;
    hence X <= y by A6,SURREAL0:43;
    A17:{y} << R_X
    proof
      let l,r be Surreal such that
      A18: l in {y} & r in R_X & r <= l;
      A19:l=y by A18,TARSKI:def 1;
      A20:  L_r << {l} by SURREAL0:43,A18;
      per cases by A5,A18,XBOOLE_0:def 3;
      suppose r in R_x ++ {-x};
        then consider ll,lr be Surreal such that
        A21: ll in R_x & lr in {-x} & r = ll+lr by Def8;
        lr = -x by A21,TARSKI:def 1;
        then A22: r = [(L_ll ++ {-x})\/({ll} ++ L_(-x)),
        (R_ll ++ {-x}) \/({ll} ++ R_(-x))] by A21,Th28;
        ll in L_x \/R_x by A21,XBOOLE_0:def 3;
        then A23: ll +- ll == y by A3,A2,SURREALO:1;
        -ll in L_(-x) & ll in {ll} by A21,Def4,A4,TARSKI:def 1;
        then ll +- ll in {ll} ++ L_(-x) by Def8;
        then ll +- ll in L_r by A22,XBOOLE_0:def 3;
        hence thesis by A23,A20,A19,A18;
      end;
      suppose r in {x} ++ --L_x;
        then consider ll,lr be Surreal such that
        A24: ll in {x} & lr in --L_x & r = ll+lr by Def8;
        consider xr be Surreal such that
        A25: xr in L_x & -xr = lr by A24,Def4;
        x=ll by A24,TARSKI:def 1;
        then A26:r = [(L_x ++ {-xr})\/({x} ++ L_(-xr)),
        (R_x ++ {-xr}) \/({x} ++ R_(-xr))]
        by Th28,A24,A25;
        xr in L_x \/R_x by A25,XBOOLE_0:def 3;
        then A27: xr +- xr == y by A3,A2,SURREALO:1;
        -xr in {-xr} by TARSKI:def 1;
        then xr +-xr in (L_x ++ {-xr}) by A25,Def8;
        then xr +-xr in L_r by A26,XBOOLE_0:def 3;
        hence thesis by A27,A20,A18,A19;
      end;
    end;
    L_y << {X};
    hence thesis by SURREAL0:43,A17;
  end;
  for D be Ordinal holds P[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;
