 reserve n,m for Nat,
      o for object,
      p for pair object,
      x,y,z for Surreal;

theorem Th19:
  0_No <= x implies
     (y = sqrt x implies
        0_No <= y & y*y == x &
        (x==0_No implies y==0_No) &
        (0_No < x implies 0_No < y)) &
     (y in L_sqrt x implies 0_No <= y & y*y < x) &
     (y in R_sqrt x implies 0_No < y & x < y*y) & sqrt x is surreal
proof
  defpred O[Ordinal] means
  for x st born x = $1 & 0_No <= x holds sqrt x is surreal &
  (for y st y = sqrt x holds 0_No <= y & y*y == x &
  (x==0_No implies y==0_No) &
  (0_No < x implies 0_No < y))&
  (for y st y in L_sqrt x holds 0_No <= y & y*y < x) &
  (for y st y in R_sqrt x holds 0_No < y & x < y*y);
A1: for D be Ordinal st for C be Ordinal st C in D holds O[C] holds O[D]
  proof
    let D be Ordinal such that
A2: for C be Ordinal st C in D holds O[C];
    let x such that
A3: born x = D & 0_No <= x;
    set S=sqrt x,S0=sqrt_0 x;
A4: S = [Union sqrtL(S0,x),Union sqrtR (S0,x)] by Th15;
    defpred P[Nat] means
      (for y st y in sqrtL(S0,x).$1 holds 0_No <= y & y*y < x) &
      (for y st y in sqrtR(S0,x).$1 holds 0_No < y & x < y*y);
    set Nx=NonNegativePart x;
A5:P[0]
    proof
      thus for y st y in sqrtL(S0,x).0 holds 0_No <= y & y*y < x
      proof
        let y such that
A6:     y in sqrtL(S0,x).0;
        y in L_S0 by A6,Th6;
        then consider l be Surreal such that
A7:     y = sqrt l & l in L_Nx  by Def9;
A8:     l in L_x & 0_No <= l  by Th2,A7;
A9:     L_x << {x} & x in {x} by SURREALO:11,TARSKI:def 1;
        l in L_x\/R_x by A8,XBOOLE_0:def 3;
        then born l in D by A3,SURREALO:1;
        then 0_No <= y & y*y == l by A2,A8,A7;
        hence thesis by A9,A8,SURREALO:4;
      end;
      let y such that
A10:  y in sqrtR(S0,x).0;
      y in R_S0 by A10,Th6;
      then consider r be Surreal such that
A11:  y = sqrt r & r in R_Nx by Def9;
A12:  r in R_x & 0_No <= r by A11,Th2;
      then r in L_x\/R_x by XBOOLE_0:def 3;
      then
A13:  born r in D by A3,SURREALO:1;
      then
A14:  0_No <= y & y*y == r by A2,A11,A12;
A15:  x in {x} << R_x by SURREALO:11,TARSKI:def 1;
      then 0_No < r by A3,A12,SURREALO:4;
      hence thesis by A15,A12,A13,A2,A11,A14,SURREALO:4;
    end;
A16:P[n] implies P[n+1]
    proof
      assume
A17:  P[n];
      thus for y st y in sqrtL(S0,x).(n+1) holds 0_No <= y & y*y < x
      proof
        let y such that
A18:    y in sqrtL(S0,x).(n+1);
        y in sqrtL(S0,x).n \/ sqrt(x,sqrtL(S0,x).n,sqrtR(S0,x).n) by A18,Th8;
        then per cases by XBOOLE_0:def 3;
        suppose y in sqrtL(S0,x).n;
          hence thesis by A17;
        end;
        suppose y in sqrt(x,sqrtL(S0,x).n,sqrtR(S0,x).n);
          then consider L1,R1 be Surreal such that
A19:      L1 in sqrtL(S0,x).n & R1 in sqrtR(S0,x).n &
          not L1 + R1 == 0_No & y = (x +'(L1 * R1)) * (L1+R1)" by Def2;
A20:      0_No <= L1 & 0_No <= R1 by A19,A17;
          then 0_No+0_No <= L1+R1 by SURREALR:43;
          then
A21:      0_No <= (L1+R1)" by A19,SURREALI:40;
          0_No * R1 <= L1*R1 by A20,SURREALR:75;
          then 0_No+0_No <= x + L1*R1 by A3,SURREALR:43;
          then
A22:      0_No* (L1+R1)" <= (x +'(L1*R1)) * (L1+R1)" by A21,SURREALR:75;
          L1*L1 < x < R1*R1 by A19,A17;
          then 0_No < x- (L1*L1) & x- (R1*R1) < 0_No by SURREALR:45,46;
          then
A23:      (x- (L1*L1))*(x- (R1*R1)) < 0_No by SURREALR:74;
          x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1)) ==
          (x- (L1*L1))*(x- (R1*R1)) by Lm2;
          then x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1)) < 0_No
          by A23,SURREALO:4;
          then
A24:      x*x + (L1 * R1)*(L1 * R1) < x*(L1*L1) + x*(R1*R1) by SURREALR:46;
A25:      x*((L1+R1)*(L1+R1)) ==
          x*(L1*L1) + x*(R1*R1) +(x*(L1*R1) + x*(R1*L1)) by Lm1;
A26:      (x +(L1 * R1))*(x +(L1 * R1)) ==
          x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x)
          by SURREALR:76;
          x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x)
          < x*(L1*L1) + x*(R1*R1)+(x*(L1 * R1) + (L1 * R1)*x)
          by A24,SURREALR:44;
          then x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + x*(L1 * R1)) <
          x*((L1+R1)*(L1+R1)) by A25,SURREALO:4;
          then (x +(L1 * R1))*(x +(L1 * R1)) < x * ((L1+R1)*(L1+R1))
          by A26,SURREALO:4;
          hence thesis by A22,A19,Th17;
        end;
      end;
      let y such that
A27:  y in sqrtR(S0,x).(n+1);
      y in sqrtR(S0,x).n \/ sqrt(x,sqrtL(S0,x).n,sqrtL(S0,x).n)
      \/ sqrt(x,sqrtR(S0,x).n,sqrtR(S0,x).n) by A27,Th8;
      then y in sqrtR(S0,x).n \/ sqrt(x,sqrtL(S0,x).n,sqrtL(S0,x).n) or
      y in sqrt(x,sqrtR(S0,x).n,sqrtR(S0,x).n) by XBOOLE_0:def 3;
      then per cases by XBOOLE_0:def 3;
      suppose y in sqrtR(S0,x).n;
        hence thesis by A17;
      end;
      suppose y in sqrt(x,sqrtL(S0,x).n,sqrtL(S0,x).n);
        then consider L1,R1 be Surreal such that
A28:    L1 in sqrtL(S0,x).n & R1 in sqrtL(S0,x).n &
        not L1 + R1 == 0_No &
        y = (x +'(L1 * R1)) * (L1+R1)" by Def2;
A29:    0_No <= L1 & 0_No <= R1 by A28,A17;
        then 0_No+0_No <= L1+R1 by SURREALR:43;
        then
A30:    0_No < (L1+R1)" by A28,SURREALI:40;
A31:    sqrtL(S0,x).n c= Union sqrtL(S0,x) by ABCMIZ_1:1;
        0_No * R1 <= L1*R1 by A29,SURREALR:75;
        then
A32:    0_No+0_No < x + L1*R1 by A31,Th18,A28,SURREALR:44;
        0_No < x- (L1*L1) & 0_No < x- (R1*R1) by A28,A17,SURREALR:45;
        then
A33:    0_No < (x- (L1*L1))*(x- (R1*R1)) by SURREALR:72;
        x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1)) ==
        (x- (L1*L1))*(x- (R1*R1)) by Lm2;
        then 0_No < x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1))
        by A33,SURREALO:4;
        then
A34:    x*(L1*L1) + x*(R1*R1) < x*x + (L1 * R1)*(L1 * R1) by SURREALR:45;
A35:    x*((L1+R1)*(L1+R1)) ==
        x*(L1*L1) + x*(R1*R1) +(x*(L1*R1) + x*(R1*L1)) by Lm1;
A36:    (x +(L1 * R1))*(x +(L1 * R1)) ==
        x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x) by SURREALR:76;
        x*(L1*L1) + x*(R1*R1)+(x*(L1 * R1) + (L1 * R1)*x)
        < x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x)
        by A34,SURREALR:44;
        then x*((L1+R1)*(L1+R1))
        < x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + x*(L1 * R1))
        by A35,SURREALO:4;
        then x * ((L1+R1)*(L1+R1)) < (x +(L1 * R1))*(x +(L1 * R1))
        by A36,SURREALO:4;
        hence thesis by A32,A28,Th17,A30,SURREALR:72;
      end;
      suppose y in sqrt(x,sqrtR(S0,x).n,sqrtR(S0,x).n);
        then consider L1,R1 be Surreal such that
A37:    L1 in sqrtR(S0,x).n & R1 in sqrtR(S0,x).n &
        not L1 + R1 == 0_No & y = (x +'(L1 * R1)) * (L1+R1)" by Def2;
A38:    0_No < L1 & 0_No < R1 by A37,A17;
        0_No < L1 & 0_No <= R1 by A37,A17;
        then 0_No+0_No < L1+R1 by SURREALR:44;
        then
A39:    0_No < (L1+R1)" by A37,SURREALI:40;
        0_No < L1*R1 by A38,SURREALR:72;
        then
A40:    0_No+0_No < x + L1*R1 by A3,SURREALR:44;
        x < L1*L1 & x < R1*R1 by A37,A17;
        then x- (L1*L1)<0_No & x-(R1*R1)<0_No by SURREALR:46;
        then
A41:    0_No < (x- (L1*L1))*(x- (R1*R1)) by SURREALR:72;
        x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1)) ==
        (x- (L1*L1))*(x- (R1*R1)) by Lm2;
        then 0_No < x*x + (L1 * R1)*(L1 * R1) - (x*(L1*L1) + x*(R1*R1))
        by A41,SURREALO:4;
        then
A42:    x*(L1*L1) + x*(R1*R1) < x*x + (L1 * R1)*(L1 * R1) by SURREALR:45;
A43:    x*((L1+R1)*(L1+R1)) ==
        x*(L1*L1) + x*(R1*R1) +(x*(L1*R1) + x*(R1*L1)) by Lm1;
A44:    (x +(L1 * R1))*(x +(L1 * R1)) ==
        x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x) by SURREALR:76;
        x*(L1*L1) + x*(R1*R1)+(x*(L1 * R1) + (L1 * R1)*x)
        < x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + (L1 * R1)*x)
        by A42,SURREALR:44;
        then x*((L1+R1)*(L1+R1))
        <x*x + (L1 * R1)*(L1 * R1) +(x*(L1 * R1) + x*(L1 * R1))
        by A43,SURREALO:4;
        then x * ((L1+R1)*(L1+R1)) < (x +(L1 * R1))*(x +(L1 * R1))
        by A44,SURREALO:4;
        hence thesis by A40,A37,A39,SURREALR:72,Th17;
      end;
    end;
A45:for n holds P[n] from NAT_1:sch 2(A5,A16);
A46:for y st y in L_sqrt x holds 0_No <= y & y*y < x
    proof
      let y;
      assume y in L_sqrt x;
      then consider n be object such that
A47:  n in dom sqrtL(S0,x) & y in sqrtL(S0,x).n by A4,CARD_5:2;
      dom sqrtL(S0,x)=NAT by Def4;
      then reconsider n as Nat by A47;
      P[n] by A45;
      hence thesis by A47;
    end;
A48:for y st y in R_sqrt x holds 0_No < y & x < y*y
    proof
      let y;
      assume y in R_sqrt x;
      then consider n be object such that
A49:  n in dom sqrtR(S0,x) & y in sqrtR(S0,x).n by A4,CARD_5:2;
      dom sqrtR(S0,x)=NAT by Def5;
      then reconsider n as Nat by A49;
      P[n] by A45;
      hence thesis by A49;
    end;
A50: L_S0 is surreal-membered
    proof
      let o;
      assume o in L_S0;
      then consider l be Surreal such that
A51:  o = sqrt l & l in L_Nx by Def9;
A52:  l in L_x & 0_No <= l by Th2,A51;
      then l in L_x \/ R_x by XBOOLE_0:def 3;
      then born l in D by A3,SURREALO:1;
      hence thesis by A51,A52,A2;
    end;
    R_S0 is surreal-membered
    proof
      let o;
      assume o in R_S0;
      then consider r be Surreal such that
A53:  o = sqrt r & r in R_Nx by Def9;
A54:  r in R_x & 0_No<= r by Th2,A53;
      then r in L_x \/ R_x by XBOOLE_0:def 3;
      then born r in D by A3,SURREALO:1;
      hence thesis by A53,A54,A2;
    end;
    then Union sqrtL(S0,x) is surreal-membered &
    Union sqrtR(S0,x) is surreal-membered by A50,Th10;
    then consider M be Ordinal such that
A55:for o st o in Union sqrtL(S0,x)\/Union sqrtR (S0,x)
      ex A be Ordinal st A in M & o in Day A by SURREAL0:47;
    Union sqrtL(S0,x) << Union sqrtR (S0,x)
    proof
      let l,r be Surreal such that
A56:  l in Union sqrtL(S0,x) & r in Union sqrtR (S0,x) & r <= l;
      consider n be object such that
A57:  n in dom sqrtL(S0,x) & l in sqrtL(S0,x).n by A56,CARD_5:2;
      consider k be object such that
A58:  k in dom sqrtR(S0,x) & r in sqrtR(S0,x).k by A56,CARD_5:2;
      dom sqrtL(S0,x)=NAT=dom sqrtR(S0,x) by Def4,Def5;
      then reconsider n,k as Nat by A57,A58;
A59:  P[n] & P[k] by A45;
      then
A60:  0_No <= l & l*l < x & 0_No <= r & x < r * r by A57,A58;
      then r*r <= r*l <= l*l by A56,SURREALR:75;
      then r*r <= l*l by SURREALO:4;
      then x <= l*l by A60,SURREALO:4;
      hence thesis by A57,A59;
    end;
    then [Union sqrtL(S0,x),Union sqrtR (S0,x)] in Day M by A55,SURREAL0:46;
    then reconsider S as Surreal by Th15;
A61: for y st y = sqrt x holds 0_No <= y & y*y == x
    proof
      let y such that
A62:  y = sqrt x;
A63:  L_0_No << {y};
      {0_No} << R_y
      proof
        let l,r be Surreal such that
A64:    l in {0_No} & r in R_y;
        consider n be object such that
A65:    n in dom sqrtR(S0,x) & r in sqrtR(S0,x).n by CARD_5:2,A4,A62,A64;
        dom sqrtR(S0,x)=NAT by Def5;
        then reconsider n as Nat by A65;
        r in sqrtR(S0,x).n by A65;
        then 0_No < r by A45;
        hence thesis by A64,TARSKI:def 1;
      end;
      hence
A66:  0_No <= y by A63,SURREAL0:43;
A67:  y * y = [comp(L_y,y,y,L_y) \/ comp(R_y,y,y,R_y),
              comp(L_y,y,y,R_y) \/ comp(R_y,y,y,L_y)] by SURREALR:50;
A68:  L_(y*y) << {x}
      proof
        let a,b be Surreal such that
A69:    a in L_(y*y) & b in {x};
        per cases by XBOOLE_0:def 3,A67,A69;
        suppose a in comp(L_y,y,y,L_y);
          then consider x1,y1 be Surreal such that
A70:      a = x1*y + y*y1 - x1*y1 & x1 in L_y & y1 in L_y
          by SURREALR:def 15;
          consider n be object such that
A71:      n in dom sqrtL(S0,x) & x1 in sqrtL(S0,x).n
          by A70,A4,A62,CARD_5:2;
          dom sqrtL(S0,x)=NAT by Def4;
          then reconsider n as Nat by A71;
          consider m be object such that
A72:      m in dom sqrtL(S0,x) & y1 in sqrtL(S0,x).m
          by A70,A4,A62,CARD_5:2;
          dom sqrtL(S0,x)=NAT by Def4;
          then reconsider n,m as Nat by A72;
          set nm=n+m;
A73:      n<=nm & m <= nm by NAT_1:11;
          then
A74:      sqrtL(S0,x).n c= sqrtL(S0,x).nm &
            sqrtL(S0,x).m c= sqrtL(S0,x).nm by Th7;
A75:      sqrtL(S0,x).n c= Union sqrtL(S0,x) by ABCMIZ_1:1;
          set X=x +(x1 * y1);
A76:      0_No <= x1 & 0_No <= y1 by A73,A71,A72,A45;
          per cases;
          suppose x1 == 0_No & y1 == 0_No;
            then x1*y == 0_No*y & y*y1 == y*0_No & x1*y1 == 0_No*x1
            by SURREALR:54;
            then x1*y + y*y1 == 0_No +0_No & - (x1*y1) == -0_No
            by SURREALR:65,66;
            then a == 0_No +0_No by A70,SURREALR:66;
            then a < x by A75,A71,Th18,SURREALO:4;
            hence thesis by A69,TARSKI:def 1;
          end;
          suppose
A77:        not x1 ==0_No or not y1 ==0_No;
            then 0_No+0_No < x1 +y1 by A76,SURREALR:44;
            then
A78:        not x1+y1 == 0_No;
            then X * (x1+y1)" in sqrt(x, sqrtL(S0,x).nm, sqrtL(S0,x).nm)
            by A74,A71,A72,Def2;
            then X * (x1+y1)" in sqrtR(S0,x).nm \/
            sqrt(x, sqrtL(S0,x).nm, sqrtL(S0,x).nm) by XBOOLE_0:def 3;
            then X * (x1+y1)" in sqrtR(S0,x).nm \/
            sqrt(x, sqrtL(S0,x).nm, sqrtL(S0,x).nm) \/
            sqrt(x, sqrtR(S0,x).nm, sqrtR(S0,x).nm) by XBOOLE_0:def 3;
            then
A79:        X * (x1+y1)" in sqrtR(S0,x).(nm+1) c= Union sqrtR(S0,x)
            by Th8,ABCMIZ_1:1;
A80:        y in {y} << R_y by TARSKI:def 1,SURREALO:11;
            then
A81:        y < X * (x1+y1)" by A79,A62,A4;
A82:        y <= X * (x1+y1)" by A80,A79,A62,A4;
A83:        (x1+y1) * (x1+y1)" ==1_No by A78,SURREALI:33;
A84:        x1*y + y* y1 < x1*(X * (x1+y1)") + y1*(X * (x1+y1)")
            proof
              per cases by A73,A71,A72,A45,A77;
              suppose 0_No < x1;
                then x1*y < x1*(X * (x1+y1)") & y1*y <= y1*(X * (x1+y1)")
                by A76,A81,A82,SURREALR:70,75;
                hence thesis by SURREALR:44;
              end;
              suppose 0_No < y1;
                then x1*y <= x1*(X * (x1+y1)") & y1*y < y1*(X * (x1+y1)")
                by A76,A81,A82,SURREALR:70,75;
                hence thesis by SURREALR:44;
              end;
            end;
            x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == (x1+y1) * (X * (x1+y1)")
            ==((x1+y1) * (x1+y1)") * X by SURREALR:67,69;
            then x1*(X * (x1+y1)") + y1*(X * (x1+y1)")
            ==((x1+y1) * (x1+y1)") * X
            == 1_No *X by A83,SURREALR:54,SURREALO:4;
            then x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == 1_No * X
              by SURREALO:4;
            then x1*y + y* y1 < X by A84,SURREALO:4;
            then
A85:        x1*y + y* y1 + -x1*y1 < X +-(x1*y1) by SURREALR:44;
            (x1 * y1) -(x1*y1) == 0_No by SURREALR:39;
            then X +-(x1*y1) = x+((x1 * y1) +-(x1*y1)) == x+0_No
            by SURREALR:37,66;
            then a < x by A70,A85,SURREALO:4;
            hence thesis by A69,TARSKI:def 1;
          end;
        end;
        suppose a in comp(R_y,y,y,R_y);
          then consider x1,y1 be Surreal such that
A86:      a = x1*y + y*y1 - x1*y1 & x1 in R_y & y1 in R_y
          by SURREALR:def 15;
          consider n be object such that
A87:      n in dom sqrtR(S0,x) & x1 in sqrtR(S0,x).n
          by A86,A4,A62,CARD_5:2;
          dom sqrtR(S0,x)=NAT by Def5;
          then reconsider n as Nat by A87;
          consider m be object such that
A88:      m in dom sqrtR(S0,x) & y1 in sqrtR(S0,x).m
          by A86,A4,A62,CARD_5:2;
          dom sqrtR(S0,x)=NAT by Def5;
          then reconsider n,m as Nat by A88;
          set nm=n+m;
A89:      n<=nm & m <= nm by NAT_1:11;
          then
A90:      sqrtR(S0,x).n c= sqrtR(S0,x).nm&sqrtR(S0,x).m c= sqrtR(S0,x).nm
          by Th7;
          set X=x +(x1 * y1);
A91:      0_No < x1 & 0_No <= y1 by A89,A87,A88,A45;
          then 0_No+0_No < x1 +y1 by SURREALR:44;
          then
A92:      not x1+y1 == 0_No;
          then X * (x1+y1)" in sqrt(x, sqrtR(S0,x).nm, sqrtR(S0,x).nm)
          by A87,A88,A90,Def2;
          then X * (x1+y1)" in sqrtR(S0,x).nm \/
          sqrt(x, sqrtL(S0,x).nm, sqrtL(S0,x).nm) \/
          sqrt(x, sqrtR(S0,x).nm, sqrtR(S0,x).nm) by XBOOLE_0:def 3;
          then
A93:      X * (x1+y1)" in sqrtR(S0,x).(nm+1) c= Union sqrtR(S0,x)
          by Th8,ABCMIZ_1:1;
A94:      y in {y} << R_y by TARSKI:def 1,SURREALO:11;
          then
A95:      y < X * (x1+y1)" by A93,A62,A4;
A96:      y <= X * (x1+y1)" by A93,A94,A62,A4;
A97:      (x1+y1) * (x1+y1)" ==1_No by A92,SURREALI:33;
          x1*y < x1*(X * (x1+y1)") & y1*y <= y1*(X * (x1+y1)")
          by A91,A95,A96,SURREALR:70,75;
          then
A98:      x1*y + y* y1 < x1*(X * (x1+y1)") + y1*(X * (x1+y1)")
          by SURREALR:44;
          x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == (x1+y1) * (X * (x1+y1)")
          ==((x1+y1) * (x1+y1)") * X by SURREALR:67,69;
          then x1*(X * (x1+y1)") + y1*(X * (x1+y1)") ==((x1+y1) * (x1+y1)") * X
          == 1_No *X by A97,SURREALR:54,SURREALO:4;
          then x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == 1_No * X
          by SURREALO:4;
          then x1*y + y* y1 < X by A98,SURREALO:4;
          then
A99:      x1*y + y* y1 + -x1*y1 < X +-(x1*y1) by SURREALR:44;
          (x1 * y1) -(x1*y1) == 0_No by SURREALR:39;
          then X +-(x1*y1) = x+((x1 * y1) +-(x1*y1)) == x+0_No
          by SURREALR:37,66;
          then a < x by A86,A99,SURREALO:4;
          hence thesis by A69,TARSKI:def 1;
        end;
      end;
A100:{y*y} << R_x
      proof
        let a,b be Surreal such that
A101:   a in {y*y} & b in R_x;
A102:   x in {x} << R_x by TARSKI:def 1,SURREALO:11;
        then
A103:   0_No < b by A101,A3,SURREALO:4;
A104:   0_No <= b by A102,A101,A3,SURREALO:4;
        b in L_x \/R_x by A101,XBOOLE_0:def 3;
        then
A105:   born b in born x by SURREALO:1;
        then reconsider sb=sqrt b as Surreal by A104,A2,A3;
A106:   0_No < sb & sb * sb == b by A103,A104,A105,A2,A3;
        b in R_NonNegativePart x by A101,A104,Def1;
        then
A107:   sb in R_S0 = sqrtR(S0,x).0 c= Union sqrtR(S0,x)
        by Th6,Def9,ABCMIZ_1:1;
        y in {y}<< R_y by TARSKI:def 1,SURREALO:11;
        then y < sb & y <= sb by A107,A62,A4;
        then y*y <= sb*y < sb*sb by A106,A66,SURREALR:75,70;
        then y*y < sb*sb by SURREALO:4;
        then y*y < b by A106,SURREALO:4;
        hence thesis by A101,TARSKI:def 1;
      end;
A108: L_x << {y*y}
      proof
        let b,a be Surreal such that
A109:   b in L_x & a in {y*y};
        per cases;
        suppose
A110:     b < 0_No;
          0_No*y <= y*y by A66,SURREALR:75;
          then b < y*y by A110,SURREALO:4;
          hence thesis by A109,TARSKI:def 1;
        end;
        suppose
A111:     0_No <= b;
          b in L_x \/R_x by A109,XBOOLE_0:def 3;
          then
A112:     born b in born x by SURREALO:1;
          then reconsider sb=sqrt b as Surreal by A111,A2,A3;
          b in L_NonNegativePart x by A109,A111,Def1;
          then
A113:     sb in L_S0 = sqrtL(S0,x).0 c= Union sqrtL(S0,x)
          by Th6,Def9,ABCMIZ_1:1;
A114:     0_No <= sb & sb * sb == b by A111,A112,A2,A3;
A115:     y in {y} & L_y << {y} by TARSKI:def 1,SURREALO:11;
          then
A116:     sb < y & sb <= y by A113,A62,A4;
          0_No < y by A114,A113,A62,A4,A115,SURREALO:4;
          then sb*sb <= sb*y < y*y by A116,A114,SURREALR:75,70;
          then sb*sb < y*y by SURREALO:4;
          then b < y*y by A114,SURREALO:4;
          hence thesis by A109,TARSKI:def 1;
        end;
      end;
      {x} << R_(y*y)
      proof
        let b,a be Surreal such that
A117:   b in {x} & a in R_(y*y);
        comp(L_y,y,y,R_y) = comp(R_y,y,y,L_y) by SURREALR:53;
        then consider x1,y1 be Surreal such that
A118:   a = x1*y + y*y1 - x1*y1 & x1 in L_y & y1 in R_y
        by A67,A117,SURREALR:def 15;
        consider n be object such that
A119:   n in dom sqrtL(S0,x) & x1 in sqrtL(S0,x).n
        by A118,A4,A62,CARD_5:2;
        dom sqrtL(S0,x)=NAT by Def4;
        then reconsider n as Nat by A119;
        consider m be object such that
A120:   m in dom sqrtR(S0,x) & y1 in sqrtR(S0,x).m
        by A118,A4,A62,CARD_5:2;
        dom sqrtR(S0,x)=NAT by Def5;
        then reconsider n,m as Nat by A120;
        set nm=n+m;
A121:   n<=nm & m <= nm by NAT_1:11;
        then
A122:   sqrtL(S0,x).n c= sqrtL(S0,x).nm &
        sqrtR(S0,x).m c= sqrtR(S0,x).nm by Th7;
        set X=x +(x1 * y1);
A123:   0_No <= x1 & 0_No < y1 by A121,A119,A120,A45;
        then 0_No+0_No < x1 +y1 by SURREALR:44;
        then
A124:   not x1+y1 == 0_No;
        then X * (x1+y1)" in sqrt(x, sqrtL(S0,x).nm, sqrtR(S0,x).nm)
        by A122,A119,A120,Def2;
        then X * (x1+y1)" in sqrtL(S0,x).nm \/
        sqrt(x, sqrtL(S0,x).nm, sqrtR(S0,x).nm) by XBOOLE_0:def 3;
        then
A125:   X * (x1+y1)" in sqrtL(S0,x).(nm+1) c= Union sqrtL(S0,x)
        by Th8,ABCMIZ_1:1;
A126:   y in {y} & L_y << {y} by TARSKI:def 1,SURREALO:11;
        then
A127:   X * (x1+y1)" < y by A125,A62,A4;
A128:   X * (x1+y1)" <= y by A126,A125,A62,A4;
A129:   (x1+y1) * (x1+y1)" ==1_No by A124,SURREALI:33;
        x1*(X * (x1+y1)") <=x1*y & y1*(X * (x1+y1)")<y1*y
        by A123,A127,A128,SURREALR:70,75;
        then
A130:   x1*(X * (x1+y1)") + y1*(X *(x1+y1)") < x1*y + y* y1
        by SURREALR:44;
        x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == (x1+y1) * (X * (x1+y1)")
        ==((x1+y1) * (x1+y1)") * X by SURREALR:67,69;
        then x1*(X * (x1+y1)") + y1*(X * (x1+y1)") ==((x1+y1) * (x1+y1)") * X
        == 1_No *X by A129,SURREALR:54,SURREALO:4;
        then x1*(X * (x1+y1)") + y1*(X * (x1+y1)") == 1_No * X by SURREALO:4;
        then X < x1*y + y* y1 by A130,SURREALO:4;
        then
A131:   X +-(x1*y1) < x1*y + y* y1 + -x1*y1  by SURREALR:44;
        (x1 * y1) -(x1*y1) == 0_No by SURREALR:39;
        then X +-(x1*y1) = x+((x1 * y1) +-(x1*y1)) == x+0_No
        by SURREALR:37,66;
        then x < a by A118,A131,SURREALO:4;
        hence thesis by A117,TARSKI:def 1;
      end;
      hence thesis by A68,A100,SURREAL0:43,A108;
    end;
A132: for y st y = sqrt x holds
    (x==0_No implies y==0_No) & (0_No < x implies 0_No < y)
    proof
      let y such that
A133: y = sqrt x;
      thus x==0_No implies y==0_No
      proof
        assume
A134:   x==0_No;
        0_No <= y by A133,A61;
        then
A135:   L_y << {0_No} << R_y by A134,A133,A4,Th18,SURREAL0:43;
        for z st L_y << {z} << R_y holds born 0_No c= born z
        proof
          let z such that L_y << {z} << R_y;
          born 0_No = {} by SURREAL0:37;
          hence thesis;
        end;
        hence thesis by SURREALO:16,A135;
      end;
      assume
A136: 0_No < x & y <= 0_No;
      then
A137: y == 0_No & y*y == x by A133,A61;
      then y*0_No == y*y by SURREALR:54;
      hence thesis by A136,A137,SURREALO:4;
    end;
    S is Surreal;
    hence thesis by A46,A48,A61,A132;
  end;
  for D be Ordinal holds O[D] from ORDINAL1:sch 2(A1);
  hence thesis;
end;
