reserve a,b,s,t,u,lambda for Real,
  n for Nat;
reserve x,x1,x2,x3,y1,y2 for Element of REAL n;

theorem :: EUCLID:38
  a*x1 = a*x2 implies a = 0 or x1 = x2
proof
  assume that
A1: a*x1 = a*x2 and
A2: a <> 0;
  ((1/a)*a)*x1 = (1/a)*(a*x2) by A1,RVSUM_1:49;
  then ((1/a)*a)*x1 = ((1/a)*a)*x2 by RVSUM_1:49;
  then 1*x1 = ((1/a)*a)*x2 by A2,XCMPLX_1:106;
  then 1*x1 = 1*x2 by A2,XCMPLX_1:106;
  hence x1 = 1*x2 by Th3
    .= x2 by Th3;
end;
