reserve x,y,z, X,Y,Z for set,
  n for Element of NAT;
reserve A for set,
  D for non empty set,
  a,b,c,l,r for Element of D,
  o,o9 for BinOp of D,
  f,g,h for Function of A,D;

theorem Th13:
  o is cancelable implies (o,D).:A is cancelable
proof
  assume
A1: o.(a,b) = o.(a,c) or o.(b,a) = o.(c,a) implies b = c;
  let f,g,h be Element of Funcs(A,D) such that
A2: (o,D).:A.(f,g) = (o,D).:A.(f,h) or (o,D).:A.(g,f) = (o,D).:A.(h,f);
A3: A = dom (o.:(g,f)) & A = dom (o.:(h,f)) by FUNCT_2:def 1;
A4: (o,D).:A.(f,h) = o.:(f,h) & (o,D).:A.(h,f) = o.:(h,f) by Def2;
A5: A = dom (o.:(f,g)) & A = dom (o.:(f,h)) by FUNCT_2:def 1;
A6: (o,D).:A.(f,g) = o.:(f,g) & (o,D).:A.(g,f) = o.:(g,f) by Def2;
A7: now
    let x be object;
    assume
A8: x in A;
    then reconsider a = f.x, b = g.x, c = h.x as Element of D by FUNCT_2:5;
A9: o.:(g,f).x = o.(b,a) & o.:(h,f).x = o.(c,a) by A3,A8,FUNCOP_1:22;
    o.:(f,g).x = o.(a,b) & o.:(f,h).x = o.(a,c) by A5,A8,FUNCOP_1:22;
    hence g.x = h.x by A1,A2,A6,A4,A9;
  end;
  dom g = A & dom h = A by FUNCT_2:def 1;
  hence thesis by A7,FUNCT_1:2;
end;
