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;
reserve G for non empty multMagma;
reserve A for non empty set,
  a for Element of A,
  p for FinSequence of A,
  m1,m2 for Multiset of A;
reserve p,q for FinSequence of A;
reserve fm for Element of finite-MultiSet_over A;
reserve a,b,c for Element of D;

theorem Th54:
  o is uniquely-decomposable implies o.:^2 is uniquely-decomposable
proof
  assume that
A1: o is having_a_unity and
A2: o.(a,b) = the_unity_wrt o implies a = b & b = the_unity_wrt o;
  thus o.:^2 is having_a_unity by A1,Th53;
  let A,B be Subset of D such that
A3: (o.:^2).(A,B) = the_unity_wrt o.:^2;
  set a = the_unity_wrt o;
A4: the_unity_wrt o.:^2 = {a} by A1,Th53;
  set a1 = the Element of A,a2 = the Element of B;
  o.:[:A,B:] = (o.:^2).(A,B) by Th44;
  then dom o meets [:A,B:] by A3,A4,RELAT_1:118;
  then dom o /\ [:A,B:] <> {};
  then
A5: [:A,B:] <> {};
  then
A6: A <> {} by ZFMISC_1:90;
A7: B <> {} by A5,ZFMISC_1:90;
  then reconsider a1,a2 as Element of D by A6,TARSKI:def 3;
A8: {a1} c= A by A6,ZFMISC_1:31;
  o.(a1,a2) in {a} by A3,A4,A6,A7,Th45;
  then
A9: o.(a1,a2) = a by TARSKI:def 1;
  then
A10: a2 = a by A2;
A11: A c= {a}
  proof
    let x be object;
    assume
A12: x in A;
    then reconsider c = x as Element of D;
    o.(c,a2) in {a} by A3,A4,A7,A12,Th45;
    then o.(c,a2) = a by TARSKI:def 1;
    then c = a2 by A2;
    hence thesis by A10,TARSKI:def 1;
  end;
A13: B c= {a}
  proof
    let x be object;
    assume
A14: x in B;
    then reconsider c = x as Element of D;
    o.(a1,c) in {a} by A3,A4,A6,A14,Th45;
    then o.(a1,c) = a by TARSKI:def 1;
    then c = a by A2;
    hence thesis by TARSKI:def 1;
  end;
A15: a1 = a2 by A2,A9;
  {a2} c= B by A7,ZFMISC_1:31;
  then B = {a} by A10,A13;
  hence thesis by A1,A15,A10,A8,A11,Th53;
end;
