reserve r,s,t,x9,y9,z9,p,q for Element of RAT+;
reserve x,y,z for Element of REAL+;

theorem
  x in RAT+ & y in RAT+ implies ex x9,y9 st x = x9 & y = y9 & x *' y = x9 *' y9
proof
  assume that
A1: x in RAT+ and
A2: y in RAT+;
  per cases;
  suppose
A3: x = {};
    reconsider y9 = y as Element of RAT+ by A2;
    take {},y9;
    thus x = {} by A3;
    thus y = y9;
    thus x *' y = {} by A3,Th4
      .= {} *' y9 by ARYTM_3:48;
  end;
  suppose
A4: y = {};
    reconsider x9 = x as Element of RAT+ by A1;
    take x9,{};
    thus x = x9;
    thus y = {} by A4;
    thus x *' y = {} by A4,Th4
      .= x9 *' {} by ARYTM_3:48;
  end;
  suppose that
    y <> {} and
A5: x <> {};
    consider y9 such that
A6: y = y9 and
A7: DEDEKIND_CUT y = { s : s < y9 } by A2,Def3;
    set A = DEDEKIND_CUT x, B = DEDEKIND_CUT y;
    consider x9 such that
A8: x = x9 and
A9: DEDEKIND_CUT x = { s : s < x9 } by A1,Def3;
A10: for s holds s in DEDEKIND_CUT x *' DEDEKIND_CUT y iff s < x9 *' y9
    proof
      let s2 be Element of RAT+;
      thus s2 in A *' B implies s2 < x9 *' y9
      proof
        assume s2 in A *' B;
        then consider r1,s1 being Element of RAT+ such that
A11:    s2 = r1 *' s1 and
A12:    r1 in A and
A13:    s1 in B;
        ex s st s = r1 & s < x9 by A9,A12;
        then
A14:    r1 *' s1 <=' x9 *' s1 by ARYTM_3:82;
A15:    ex s st s = s1 & s < y9 by A7,A13;
        then s1 <> y9;
        then
A16:    x9 *' s1 <> x9 *' y9 by A5,A8,ARYTM_3:56;
        x9 *' s1 <=' x9 *' y9 by A15,ARYTM_3:82;
        then x9 *' s1 < x9 *' y9 by A16,ARYTM_3:68;
        hence thesis by A11,A14,ARYTM_3:69;
      end;
      assume
A17:  s2 < x9 *' y9;
      then consider t0 being Element of RAT+ such that
A18:  s2 = x9 *' t0 and
A19:  t0 <=' y9 by ARYTM_3:79;
      t0 <> y9 by A17,A18;
      then t0 < y9 by A19,ARYTM_3:68;
      then consider t1 being Element of RAT+ such that
A20:  t0 < t1 and
A21:  t1 < y9 by ARYTM_3:93;
      s2 <=' t1 *' x9 by A18,A20,ARYTM_3:82;
      then consider t2 being Element of RAT+ such that
A22:  s2 = t1 *' t2 and
A23:  t2 <=' x9 by ARYTM_3:79;
      now
        assume t2 = x9;
        then t0 = t1 by A5,A8,A18,A22,ARYTM_3:56;
        hence contradiction by A20;
      end;
      then t2 < x9 by A23,ARYTM_3:68;
      then
A24:  t2 in A by A9;
      t1 in B by A7,A21;
      hence thesis by A22,A24;
    end;
    then consider r such that
A25: GLUED(DEDEKIND_CUT x *' DEDEKIND_CUT y) = r and
A26: for s holds s in DEDEKIND_CUT x *' DEDEKIND_CUT y iff s < r by Def4;
    take x9,y9;
    thus x = x9 & y = y9 by A8,A6;
    for s holds s < x9 *' y9 iff s < r by A10,A26;
    hence thesis by A25,Lm6;
  end;
end;
