reserve a,b,c,d,e,f for Real,
        g           for positive Real,
        x,y         for Complex,
        S,T         for Element of REAL 2,
        u,v,w       for Element of TOP-REAL 3;

theorem
  (a <> 0 or b <> 0) & a * d = b * c implies
  ex e st c = e * a & d = e * b
  proof
    assume that
A1: a <> 0 or b <> 0 and
A2: a * d = b * c;
    per cases;
    suppose
A3:   a <> 0;
      per cases;
      suppose b = 0;
        hence thesis by A1,A2,Lem02;
      end;
      suppose b <> 0;
        then ex e st e = d / b & e = c / a & c = e * a & d = e * b
          by A2,A3,Lem01;
        hence thesis;
      end;
    end;
    suppose
      a = 0; then
      ex e st d = e * b & c = e * a by A1,A2,Lem02;
      hence thesis;
    end;
  end;
