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 Th50:
  o is associative implies o.:^2 is associative
proof
  assume
A1: o is associative;
  let x,y,z be Subset of D;
  thus (o.:^2).((o.:^2).(x,y),z) = (o.:^2).(o.:[:x,y:],z) by Th44
    .= o.:[:o.:[:x,y:],z:] by Th44
    .= o.:[:x,o.:[:y,z:]:] by A1,Th48
    .= (o.:^2).(x,o.:[:y,z:]) by Th44
    .= (o.:^2).(x,(o.:^2).(y,z)) by Th44;
end;
