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

theorem Th29:
  0_No <= x implies sqrt (x*x) == x
proof
  set S=sqrt (x*x);
  assume that
A1: 0_No <= x and
A2: not S == x;
A3: 0_No * x <= x*x by A1,SURREALR:75;
  0_No * x <= x*x by A1,SURREALR:75;
  then
A4: x == S or x == -S by Th28;
  then - 0_No <= -S by A2,A1,SURREALO:4;
  then
A5: S==0_No by A3,Th19,SURREALR:10;
  then -S == -0_No by SURREALR:10;
  then x == -0_No by A4,A2,SURREALO:4;
  hence thesis by A2,A5,SURREALO:4;
end;
