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
  for G being non empty multMagma holds (G is commutative implies bool G
  is commutative) & (G is associative implies bool G is associative) & (G is
  uniquely-decomposable implies bool G is uniquely-decomposable)
proof
  let G be non empty multMagma;
A1: op(bool G) = op(G).:^2 & carr(bool G) = bool carr(G) by Th55;
  thus G is commutative implies bool G is commutative
  by A1,Th49;
  thus G is associative implies bool G is associative
  by A1,Th50;
  assume op(G) is uniquely-decomposable;
  hence op(bool G) is uniquely-decomposable by A1,Th54;
end;
