 reserve x,y,X,Y for set;
reserve G for non empty multMagma,
  D for set,
  a,b,c,r,l for Element of G;

theorem
  G is left-cancelable iff for a,b,c st a*b = a*c holds b = c
proof
  thus G is left-cancelable implies for a,b,c st a*b = a*c holds b = c
  proof
    assume
A1: op(G).(a,b) = op(G).(a,c) implies b = c;
    let a,b,c;
    thus thesis by A1;
  end;
  assume
A2: for a,b,c st a*b = a*c holds b = c;
  let a,b,c;
  a*b = op(G).(a,b) & a*c = op(G).(a,c);
  hence thesis by A2;
end;
