reserve A,B for Ordinal,
        o for object,
        x,y,z for Surreal,
        n for Nat,
        r,r1,r2 for Real;

theorem Th4:
  for x,y,z be Surreal st
    x,y are_commensurate & y,z are_commensurate holds x,z are_commensurate
proof
  let x,y,z be Surreal such that
A1: x,y are_commensurate & y,z are_commensurate;
  thus ex n be positive Nat st x < uInt.n * z
  proof
    consider n be positive Nat such that
A2: x < uInt.n * y by A1;
    consider m be positive Nat such that
A3: y < uInt.m * z by A1;
    take nm=n*m;
    uInt.n is positive;
    then
A4: uInt.n * y < uInt.n * (uInt.m * z) by A3,SURREALR:70;
    uInt.n * (uInt.m * z) == (uInt.n * uInt.m) * z ==
    uInt.nm * z by SURREALR:51,SURREALR:69,SURREALN:15;
    then uInt.n * (uInt.m * z) == uInt.nm * z by SURREALO:4;
    then uInt.n * y <= uInt.nm * z by A4,SURREALO:4;
    hence thesis by A2,SURREALO:4;
  end;
  consider n be positive Nat such that
A5: y < uInt.n * x by A1;
  consider m be positive Nat such that
A6: z < uInt.m * y by A1;
  take nm=n*m;
  uInt.m is positive;
  then
A7:uInt.m * y < uInt.m * (uInt.n * x) by A5,SURREALR:70;
  uInt.m * (uInt.n * x) == (uInt.m * uInt.n) * x ==
  uInt.nm * x by SURREALR:51,SURREALR:69,SURREALN:15;
  then uInt.m * (uInt.n * x) == uInt.nm * x by SURREALO:4;
  then uInt.m * y <= uInt.nm * x by A7,SURREALO:4;
  hence thesis by A6,SURREALO:4;
end;
